Quartz Compositor is the
display server (and at the same time the
compositing window manager) in
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
. It is responsible for presenting and maintaining
rasterized
In computer graphics, rasterisation (British English) or rasterization (American English) is the task of taking an image described in a vector graphics format (shapes) and converting it into a raster image (a series of pixels, dots or lines, whic ...
, rendered graphics from the rest of the
Core Graphics framework and other renderers in the
Quartz technologies family.
Overview
The bitmap output from
Quartz 2D,
OpenGL,
Core Image
Core Image is a pixel-accurate, near-realtime, non-destructive image processing technology in Mac OS X. Implemented as part of the QuartzCore framework of Mac OS X 10.4 and later, Core Image provides a plugin-based architecture for applying fil ...
,
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.
In managing individual windows, Quartz Compositor accepts a
bitmap
In computing, a bitmap is a mapping from some domain (for example, a range of integers) to bits. It is also called a bit array or bitmap index.
As a noun, the term "bitmap" is very often used to refer to a particular bitmapping application: t ...
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
In computer science, message queues and mailboxes are software-engineering components typically used for inter-process communication (IPC), or for inter- thread communication within the same process. They use a queue for messaging – the ...
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.
Quartz Extreme
Mac OS X v10.2 introduced Quartz Extreme: graphics processor (GPU) acceleration for the Quartz Compositor. With Quartz Extreme, far fewer central processing unit (CPU) cycles are needed for scene composition. Instead, the Quartz Compositor encapsulates each rendered backing store in an OpenGL texture map or surface. It then directs the GPU to compose the surfaces and maps to provide the final image, which is delivered to the 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).
In
Mac OS X Tiger
Mac OS X Tiger (version 10.4) is the 5th major release of macOS, Apple's desktop and server operating system for Mac computers. Tiger was released to the public on April 29, 2005 for US$129.95 as the successor to Mac OS X 10.3 Panther. Some ...
, it is automatically enabled on
Mac systems with one of the following types of
graphics cards:
*
AMD (ATI) Radeon, AGP-based, 16 MB VRAM minimum, or better
*
NVIDIA GeForce2 MX, 16 MB VRAM minimum, or better
As of
OS X El Capitan, Quartz Extreme is enabled on all supported Macs.
QuartzGL
QuartzGL (called Quartz 2D Extreme when it was introduced in
Mac OS X Tiger
Mac OS X Tiger (version 10.4) is the 5th major release of macOS, Apple's desktop and server operating system for Mac computers. Tiger was released to the public on April 29, 2005 for US$129.95 as the successor to Mac OS X 10.3 Panther. Some ...
) is GPU acceleration for the Quartz 2D API. With QuartzGL enabled, all Quartz drawing commands are translated to OpenGL commands and executed on the GPU. This differs from Quartz Extreme, which still executes Quartz drawing commands on the CPU but performs final composition using the GPU.
As of
OS X Mountain Lion, QuartzGL is still not enabled by default. However, it is possible to enable it using the Quartz Debug application included in the
Apple Developer Tools. QuartzGL will be disabled once again upon quitting the Quartz Debug utility. A workaround is to force quit the Quartz Debug application, which will leave QuartzGL enabled system-wide.
All graphics cards capable of supporting
Core Image
Core Image is a pixel-accurate, near-realtime, non-destructive image processing technology in Mac OS X. Implemented as part of the QuartzCore framework of Mac OS X 10.4 and later, Core Image provides a plugin-based architecture for applying fil ...
also support QuartzGL.
See also
*
Quartz
Quartz is a hard, crystalline mineral composed of silica ( silicon dioxide). The atoms are linked in a continuous framework of SiO4 silicon-oxygen tetrahedra, with each oxygen being shared between two tetrahedra, giving an overall chemical ...
*
Compositing window manager
*
X11
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wi ...
*
Wayland
*
DXGI
DirectX Graphics Infrastructure (DXGI) is a user-mode component of Microsoft Windows (for Windows Vista and above) which provides a mapping between particular graphics APIs such as Direct3D 10.0 and above (known in DXGI parlance as producers) and ...
*
Desktop Window Manager
References
External links
The Graphics and Windowing Environment- from Apple's Mac OS X Documentation
Quartz Services Reference
{{OS X
Compositing window managers
Display servers
MacOS user interface