---
title: "estimateRender(_:from:to:at:)"
framework: Core Image
role: symbol
role_heading: Instance Method
platforms: [iOS 27.0+, iPadOS 27.0+, Mac Catalyst 27.0+, macOS 27.0+, tvOS 27.0+, visionOS 27.0+]
path: "coreimage/cicontext/estimaterender(_:from:to:at:)"
---

# estimateRender(_:from:to:at:)

Returns a task with estimated resource statistics for a render, without executing the render.

## Declaration

```swift
func estimateRender(_ image: CIImage, from fromRect: CGRect, to destination: CIRenderDestination, at atPoint: CGPoint) throws -> CIRenderTask
```

## Parameters

- `image`: The doc://com.apple.coreimage/documentation/CoreImage/CIImage to estimate the render for.
- `fromRect`: The region of doc://com.apple.coreimage/documentation/CoreImage/CIImage to render.
- `destination`: The doc://com.apple.coreimage/documentation/CoreImage/CIRenderDestination to estimate the render to.
- `atPoint`: The point in the destination where the origin of fromRect is placed.

## Return Value

Return Value  A CIRenderTask you can query for estimated statistics, or nil if fromRect doesn’t intersect image.extent or if estimation fails.

## Discussion

Discussion Call this method to analyze the cost of a render before you execute it. Query the returned task’s plannedPixelsProcessed, plannedPixelsOverdrawn, plannedPassCount, and plannedPeakMemory properties to get the estimated statistics. The method renders as if the image is cropped to fromRect and places the origin of fromRect at atPoint in the destination.
