QuartzCore.framework
| QuartzCore.framework | |
| Public Framework | |
|---|---|
| Availabile | 2.0 – present |
| Class Prefix | CA |
| Headers | [headers.cynder.me] |
QuartzCore, also known as Core Animation, is an Objective-C framework that to declaratively build an animatable scene graph. CoreAnimation uses a unique rendering model where the graphics operations are run in a separate process.
For an example of using it, see Page Flip.
Debugging
| Signature | unsigned CAGetDebugFlags(); |
|---|---|
| Available in | 2.0 – |
| Signature | void CASetDebugFlags(unsigned flags); |
|---|---|
| Available in | 2.0 – |
Applications linked with QuartzCore will recognize the following debugging (boolean) environment variables:
| Flag | Environment variable | Meaning |
|---|---|---|
| 1 | CA_COLOR_FLUSH[1] | |
| 2 | CA_COLOR_COPY | Color Copied Images |
| 4 | CA_COLOR_OPAQUE[1][2] | Color Blended Layers: Shows opaque vs non-opaque regions in green and red |
| 8 | CA_COLOR_NO_WAIT[1] | Color Immediately: Like the "no delay after flash" option in Quartz Debug |
| 16 | CA_AUTO_FLUSH | |
| 32 | CA_PRINT_TREE[1] | |
| 64 | CA_PRINT_OBJECTS | |
| 128 | CA_LOG_IMPLICIT_TRANSACTIONS | Logs all implicitly created transactions: "Started implicit transaction for thread 0x7fff7be65300" |
| 256 | CA_LOG_MEMORY_USAGE | When there's some CA activity, periodically prints lines like these: "CoreAnimation buffers: currently 0.0522MB; maximum 0.1MB" |
| 512 | CA_LOG_IMAGE_COPIES | "CoreAnimation: copied CGImageRef 0x6200001a0380 - RGB mask (bug!)" |
| 1024 | CA_PRINT_PERF | When there's some CA activity, periodically prints number of transactions since last time |
| 2048 | CA_DISABLE_OCCLUSION_CULLING | |
| 4096 | CA_DISABLE_DIRTY_REGIONS | |
| 8192 | CA_LOG_TRIPLE_BUFFERING | |
| 16384 | CA_COLOR_SUBPIXEL | |
| 32768 | CA_DISABLE_RENDER | |
| 65536 | CA_ALWAYS_RENDER | |
| 131072 | CA_COLOR_OFFSCREEN | |
| 262144 | CA_COLOR_DETACHED | |
| 524288 | CA_COLOR_CACHED | |
| 1048576 | CA_DISABLE_DETACHED |
Alternatively, you can use the CASetDebugFlags() to update the flags in runtime.
Other environment variables
Additionally, the following environment variables not governed by CASetDebugFlags() also exist:
| Environment variable | Default | Meaning |
|---|---|---|
| CA_BENCHMARK LK_BENCHMARK |
false | - |
| CA_LOG_IMAGE_QUEUE_FRAMES | false | - |
| CA_PRINT_SHADERS | false | Log the vertex and fragment shader codes when creating them. |
| CA_DISABLED_EXTENSIONS | NULL | A space-delimited list of the following OpenGL extensions that should be disabled: |
| CA_DISABLE_WORKAROUNDS | false | - |
| CA_MAX_TEXTURE_UNITS | ? | - |
| CA_MAX_TEXTURE_SIZE | ? | - |
| CA_ENABLE_OGL | true | - |
| CA_ENABLE_TILING | true | - |
| CA_RESIZE_YUV_SCALE | 0.8 | - |
| MBX2D_OFFSCREEN MBX2D_PAGE_FLIP |
true | - |
| CA_CLONE_OVERSCAN_AMOUNT | 0.0? | - |
| CA_CLONE_DISPLAY | false | - |
Versions
| Firmware | 2.0 | 2.1 | 2.2 | 3.0 | 3.1 | 3.2 |
|---|---|---|---|---|---|---|
| SourceCache version | N/A | |||||
| dylib version | 1.6 | |||||
References
- ↑ 1.0 1.1 1.2 1.3 http://lists.apple.com/archives/Quartz-dev/2008/Oct/msg00048.html
- ↑ Darknoon Blog » Core Animation debug mode: http://darknoon.com/blog/2009/06/29/core-animation-debug-mode/
- Official reference: http://developer.apple.com/iPhone/library/documentation/GraphicsImaging/Reference/QuartzCoreRefCollection/index.html
| ||||||||