---
title: requiresSynchronousInitialization
framework: metalfx
role: symbol
role_heading: Instance Property
path: metalfx/mtlfxtemporalscalerdescriptor/requiressynchronousinitialization
---

# requiresSynchronousInitialization

A Boolean value that indicates whether MetalFX compiles a temporal scaling effect’s underlying upscaler as it creates the instance.

## Declaration

```swift
var requiresSynchronousInitialization: Bool { get set }
```

## Overview

Overview This property gives you the option to decide when it’s better for your app to give MetalFX the time it needs to compile the underlying upscaler of the temporal scaling effect. The two choices are: As you create the effect After you create the effect, likely when your app needs to upscale the initial textures You can create a MFXTemporalScalingEffect instance that can upscale textures at its best speed immediately after you create it by setting this property to true and then calling the makeTemporalScaler(device:) method. However, it may take the framework more time for that method to return while the framework creates the temporal scaling effect and compiles its underlying scaler. By default, the property is equal to false, which tells MetalFX to quickly create and return the temporal scaling-effect instance, and then compile a faster upscaler in the background. However, this means the effect can take more time to upscale textures while the framework compiles the underlying upscaler. When the framework finishes compiling, the effect runs just as fast as if you set the property to true. note: The image quality of the effect’s output texture is consistent, whether it’s using the slower interim upscaler or the final, faster upscaler.

## See Also

### Configuring a temporal effect’s input

- [inputWidth](metalfx/mtlfxtemporalscalerdescriptor/inputwidth.md)
- [inputHeight](metalfx/mtlfxtemporalscalerdescriptor/inputheight.md)
- [isInputContentPropertiesEnabled](metalfx/mtlfxtemporalscalerdescriptor/isinputcontentpropertiesenabled.md)
- [inputContentMinScale](metalfx/mtlfxtemporalscalerdescriptor/inputcontentminscale.md)
- [inputContentMaxScale](metalfx/mtlfxtemporalscalerdescriptor/inputcontentmaxscale.md)
- [colorTextureFormat](metalfx/mtlfxtemporalscalerdescriptor/colortextureformat.md)
- [motionTextureFormat](metalfx/mtlfxtemporalscalerdescriptor/motiontextureformat.md)
- [depthTextureFormat](metalfx/mtlfxtemporalscalerdescriptor/depthtextureformat.md)
- [isAutoExposureEnabled](metalfx/mtlfxtemporalscalerdescriptor/isautoexposureenabled.md)
- [isReactiveMaskTextureEnabled](metalfx/mtlfxtemporalscalerdescriptor/isreactivemasktextureenabled.md)
- [reactiveMaskTextureFormat](metalfx/mtlfxtemporalscalerdescriptor/reactivemasktextureformat.md)
