Quartz Compositor

From Wikipedia, the free encyclopedia

  (Redirected from Quartz Extreme)
Jump to: navigation, search
Mac OS X graphics model
Rendering
QuickDraw • Core OpenGL • Quartz 2D • Core Image
Core Animation • Core Video • ColorSync • QuickTime
Compositing

Quartz Compositor

Quartz Compositor is the windowing system in Mac OS X. It is responsible for presenting and maintaining rasterized, rendered graphics from the rest of the Core Graphics framework and other renderers in the Quartz technologies family.

Contents

[edit] Overview

Quartz Compositor is the sole facilitator for the placement of rendered bitmaps into the memory of the graphics card. The bitmap output from Quartz 2D, OpenGL, Core Image, QuickTime, or other process is written to a specific memory location, or backing store. The Compositor then reads the data from the backing stores and assembles each into one image for the display, writing that image to the frame buffer memory of the graphics card. Quartz Compositor only accepts raster data, and is the only process that can directly access the graphics frame buffer.[1]

In managing individual windows, Quartz Compositor accepts a bitmap image of the window's contents from its renderer, along with its position. The choice of the renderer is up to the individual application, although most use Quartz 2D. Quartz Compositor then acts as a "visual mixing board," by adding the given window to the whole scene for the display.

In its role as window manager, Quartz Compositor also has an event queue which receives events, such as key strokes and mouse clicks. The Quartz Compositor takes the events from the queue, determines which process owns the window where the event occurred, and passes the event on to the process.[2]

[edit] Quartz Extreme

Mac OS X v10.2 introduced Quartz Extreme: graphics processor (GPU) acceleration for the Quartz Compositor. With Quartz Extreme, no central processor (CPU) cycles are utilized for scene composition. Quartz Compositor runs using the graphics processor (GPU) by encapsulating each rendered backing store in an OpenGL texture map or surface. The GPU then composes the surfaces and maps to provide the final image, which is delivered to its frame buffer.

Quartz Extreme only uses OpenGL commands, and requires a graphics card connected to an AGP 2X or faster bus (including AGP 4X, 8X, and PCI Express), supporting textures and maps of arbitrary size, since many of the renderers have no size limitation (Quartz 2D for example).[3] It is automatically enabled on Mac systems with one of the following types of graphics cards:[4]

[edit] QuartzGL

QuartzGL (Quartz2d extreme in OS X 10.4 Tiger) is GPU acceleration for the Quartz2d API. It is not enabled by default in either OS X Tiger or Leopard. It is, however, possible to enable it in both versions, using the "quartz debug" application which is included in the OS X developer tools. However, because Apple does not support using QuartzGL currently, QuartzGL will be disabled once again upon quitting the Quartz Debug utility. A partially-supported workaround is to force quit the Quartz Debug application, which will leave QuartzGL enabled system-wide.

In Leopard, it is also possible to add QuartzGLEnabled as an entry to an applications info.plist, to enable it application-wise. Note that QuartzGL must be enabled system-wise first in order for "QuartzGLEnabled" to have any effect application-wise.

All graphics cards capable of supporting Core Image also support QuartzGL.

[edit] References

[edit] See also

[edit] External links

Personal tools