Dev:QuartzCore.framework

From The Apple Wiki
QuartzCore.framework
Public Framework
Availabile2.0 – present
Class PrefixCA

```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. ^ a b c d http://lists.apple.com/archives/Quartz-dev/2008/Oct/msg00048.html [Archived 2011-12-02 at the Wayback Machine]
  2. ^ Darknoon Blog » Core Animation debug mode: http://darknoon.com/blog/2009/06/29/core-animation-debug-mode/ [Archived 2009-12-12 at the Wayback Machine]