---
title: drawsAsynchronously
framework: quartzcore
role: symbol
role_heading: Instance Property
path: quartzcore/calayer/drawsasynchronously
---

# drawsAsynchronously

A Boolean indicating whether drawing commands are deferred and processed asynchronously in a background thread.

## Declaration

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

## Discussion

Discussion When this property is set to true, the graphics context used to draw the layer’s contents queues drawing commands and executes them on a background thread rather than executing them synchronously. Performing these commands asynchronously can improve performance in some apps. However, you should always measure the actual performance benefits before enabling this capability. The default value for this property is false.

## See Also

### Configuring the layer’s rendering behavior

- [isOpaque](quartzcore/calayer/isopaque.md)
- [edgeAntialiasingMask](quartzcore/calayer/edgeantialiasingmask.md)
- [contentsAreFlipped()](quartzcore/calayer/contentsareflipped().md)
- [isGeometryFlipped](quartzcore/calayer/isgeometryflipped.md)
- [shouldRasterize](quartzcore/calayer/shouldrasterize.md)
- [rasterizationScale](quartzcore/calayer/rasterizationscale.md)
- [contentsFormat](quartzcore/calayer/contentsformat.md)
- [render(in:)](quartzcore/calayer/render(in:).md)
