Quartz Compositor
From Wikipedia, the free encyclopedia
|
---|
Quartz Compositor is the window server in Mac OS X. It is responsible for presenting and maintaining rasterized, rendered graphics from the rest of the Core Graphics framework.
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, 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. This model makes the Mac OS X window server unique, as individual processes are not allowed to claim ownership on the display.[2]
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's own event queue.
[edit] Quartz Extreme
Mac OS X 10.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]
Quartz Extreme is automatically enabled on Mac systems with one of the following types of graphics cards:[4]
- ATI Radeon, AGP-based, 16MB VRAM minimum, or newer
- NVIDIA GeForce2 MX, 16MB VRAM minimum, or newer
- Certain Intel-based systems utilize an integrated Intel card, such as the GMA950.
Quartz Extreme is not the same as Quartz 2D Extreme, which is optional GPU acceleration for the Quartz 2D renderer.
[edit] References
- ^ ArsTechnica - Mac OS X 10.4 Tiger - Quartz. Retrieved on February 12, 2007.
- ^ Apple - Developer - Graphics & Imaging Overview. Retrieved on February 12, 2007.
- ^ ArsTechnica - Mac OS X 10.4 Tiger - Quartz. Retrieved on February 12, 2007.
- ^ Apple - Mac OS X 10.4: Requirements for Quartz Extreme and Core Image graphics. Retrieved on February 12, 2007.
[edit] See also
[edit] External links
- Quartz Extreme (apple.com)
- The Graphics and Windowing Environment - from Apple's Mac OS X Documentation
- Quartz Services Reference
Applications
Address Book • Automator • Calculator • Chess • Dashboard • Dictionary • DVD Player • Finder • Front Row • Grapher • iCal • iChat • iSync • iTunes • Mail • Photo Booth • Preview • QuickTime Player • Safari • Sherlock • Stickies • TextEdit
Utilities
Activity Monitor • AirPort Admin Utility • Audio MIDI Setup • Bluetooth File Exchange • BOMArchiveHelper • Classic • ColorSync Utility • Console • Crash Reporter • DigitalColor Meter • Directory Access • DiskImageMounter • Disk Utility • Font Book • Grab • Help Viewer • Image Capture • Installer • Internet Connect • Keychain Access • Migration Assistant • NetInfo Manager • Network Utility • ODBC Administrator • Printer Setup Utility • Software Update • System Preferences • System Profiler • Terminal • Universal Access • VoiceOver • X11
Technology & User interface (future features italicized)
⌘ • ⌥ • Apple Advanced Typography • AppleScript • Aqua • ATSUI • Audio Units • Bonjour • Boot Camp • Carbon • Cocoa • ColorSync • Core Animation • Core Audio • Core Data • Core Foundation • Core Image • Core Video • CUPS • Darwin • Exposé • FileVault • icns • Inkwell • I/O Kit • Keychain • Mach-O • OpenGL • Preference Pane • plist • Quartz • QuickTime • Rosetta • Smart folders • Spaces • Spotlight • Time Machine • Uniform Type Identifier • Universal binary • WebKit • Xgrid • XNU