<!--
{
  "availability" : [
    "iOS: 9.0.0 - 12.0.0",
    "iPadOS: 9.0.0 - 12.0.0",
    "tvOS: 9.0.0 - 12.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "QuartzCore",
  "identifier" : "/documentation/QuartzCore/CAEAGLLayer/presentsWithTransaction",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Core Animation"
    ],
    "preciseIdentifier" : "c:objc(cs)CAEAGLLayer(py)presentsWithTransaction"
  },
  "title" : "presentsWithTransaction"
}
-->

# presentsWithTransaction

A Boolean value that determines whether the layer presents its content using a Core Animation transaction.

```
var presentsWithTransaction: Bool { get set }
```

## Discussion

By default this value is <doc://com.apple.documentation/documentation/Swift/false>: [`CAEAGLLayer`](/documentation/QuartzCore/CAEAGLLayer) displays the output of a rendering pass to the display as quickly as possible and asynchronously to any Core Animation transactions. However, if your game or app combines OpenGL and Core Animation content, it’s not guaranteed that your OpenGL content will arrive in the same frame as your Core Animation content. This could be an issue if, for example, your app draws [UIKit](https://developer.apple.com/library/archive/releasenotes/General/RN-iOSSDK-6_1/index.html#//apple_ref/doc/uid/TP40012869-CH1-SW17) content (such as labels with a target position and time) over the top of your [`CAEAGLLayer`](/documentation/QuartzCore/CAEAGLLayer) and the two domains need to be synchronized.

Setting this value to <doc://com.apple.documentation/documentation/Swift/true> changes this default behavior so that your [`CAEAGLLayer`](/documentation/QuartzCore/CAEAGLLayer) displays its drawable content synchronously, using whichever Core Animation transaction is current.

.

---

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)