<!--
{
  "availability" : [
    "iOS: 10.0.0 -",
    "iPadOS: 10.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.12.0 -",
    "tvOS: 10.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PhotoKit",
  "identifier" : "/documentation/Photos/PHLivePhotoFrame/renderScale",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Photos"
    ],
    "preciseIdentifier" : "c:objc(pl)PHLivePhotoFrame(py)renderScale"
  },
  "title" : "renderScale"
}
-->

# renderScale

The scale factor of the frame image relative to the Live Photo’s photo content.

```
var renderScale: CGFloat { get }
```

## Discussion

Photos calls your [`frameProcessor`](/documentation/Photos/PHLivePhotoEditingContext/frameProcessor) block repeatedly, both to process each frame of the Live Photo’s video content and to process the Live Photo’s still photo content. Video frames can be a different size than still photo content—use this value to scale any of your image processing parameters that depend on the image’s size.

For example, the following code uses this property to ensure that the radius of a blur filter is consistent across all frames of a Live Photo:

```objc
context.frameProcessor = ^CIImage *(id <PHLivePhotoFrame> frame, NSError **error) {
    // Apply a blur whose radius is 10 pixels in the photo, scaled accordingly for video frames.
    return [frame.image imageByApplyingGaussianBlurWithRadius:(frame.renderScale * 10)];
};
```

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)