Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Quartz Compositor
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Window rendering system used in macOS}} {{Distinguish|Quartz Composer}} {{Infobox software | name = Quartz Compositor | title = Quartz Compositor | logo = <!-- Image name is enough --> | logo caption = | logo_size = | logo_alt = | screenshot = | caption = | screenshot_size = | screenshot_alt = | collapsible = | author = | developer = | released = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | discontinued = | latest release version = | latest release date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | latest preview version = | latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | frequently updated = <!-- DO NOT include this parameter unless you know what it does --> | status = | programming language = | operating system = [[macOS]] | platform = | size = | language = | language count = <!-- DO NOT include this parameter unless you know what it does --> | language footnote = | genre = {{ubl|[[Display server]]|[[Compositing window manager]]}} | license = [[Proprietary software]] under [[End-user license agreement|EULA]] | website = {{URL|https://web.archive.org/web/20150322043623/https://developer.apple.com/technologies/mac/graphics-and-animation.html}} }} {{OS X graphics model |logo=<!-- Commented out because image was deleted: [[File:Apple Quartz.jpg]] --> }} '''Quartz Compositor''' is the [[display server]] (and at the same time the [[compositing window manager]]) in [[macOS]]. It is responsible for presenting and maintaining [[Raster Graphics|rasterized]], rendered graphics from the rest of the [[Core Graphics]] framework and other renderers in the [[Quartz (graphics layer)|Quartz technologies]] family.<ref name=Russell2005>{{cite web |last=Russell |first=Matthew |date=October 11, 2005<!--dated 10/11/2005 which is ambiguous and archive.org doesn't help. However there's a blog http://blog.cafedave.net/2005/10/17/what-is-quartz-or-why-cant-windows-do-that/ that reposted it on October 17, 2005.--> |title=What Is Quartz (or Why Can't Windows Do That) |work=O'Reilly Mac DevCenter |publisher=O'Reilly Media |url=http://oreilly.com/pub/a/mac/2005/10/11/what-is-quartz.html |access-date=17 November 2011 |url-status=dead |archive-url=https://web.archive.org/web/20130527151142/http://oreilly.com/pub/a/mac/2005/10/11/what-is-quartz.html |archive-date=2013-05-27}}</ref> == Overview == 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.<ref name=ArsTechnica1>{{cite web |last=Siracusa |first=John |date=2005-04-28 |title=Mac OS X 10.4 Tiger |work=[[ArsTechnica]] |url=https://arstechnica.com/apple/reviews/2005/04/macosx-10-4.ars/13 |access-date=2010-01-15}}</ref> In managing individual windows, Quartz Compositor accepts a [[Raster graphics|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.<ref>{{cite web |title=Apple - Developer - Mac OS X Technology Overview: Graphics, Imaging, and Multimedia |url=https://developer.apple.com/documentation/MacOSX/Conceptual/OSX_Technology_Overview/SystemTechnology/chapter_4_section_3.html |access-date=2007-04-18}}</ref> == 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 [[Accelerated Graphics Port|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).<ref name=ArsTechnica1 /> In [[Mac OS X Tiger]], it is automatically enabled on [[Apple Macintosh|Mac]] systems with one of the following types of [[graphics card]]s:<ref>{{cite web |title=Apple - Mac OS X 10.4: Requirements for Quartz Extreme and Core Image graphics |url=http://docs.info.apple.com/article.html?artnum=301347 |access-date=2007-02-12 |url-status=dead |archive-url=https://web.archive.org/web/20120319172837/http://support.apple.com/kb/HT1582?viewlocale=en_US |archive-date=2012-03-19}}</ref> * [[Radeon|AMD (ATI) Radeon]], AGP-based, 16 MB VRAM minimum, or better * [[GeForce 2 Series|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 10.4 Tiger|Mac OS X Tiger]]) 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. In [[OS X Mountain Lion]], QuartzGL was still not enabled by default. However, it was possible to enable it using the Quartz Debug application included in the [[Apple Developer Tools]]. QuartzGL would be disabled once again upon quitting the Quartz Debug utility. A workaround was to force quit the Quartz Debug application, which would leave QuartzGL enabled system-wide. All graphics cards capable of supporting [[Core Image]] also support QuartzGL. == See also == * [[Quartz (graphics layer)|Quartz]] * [[Compositing window manager]] * [[X11]] * [[Wayland (display server protocol)|Wayland]] * [[DXGI]] * [[Desktop Window Manager]] == References == {{reflist}} == External links == * [https://web.archive.org/web/20040925095929/http://developer.apple.com/documentation/MacOSX/COnceptual/SystemOverview/SystemArchitecture/chapter_3_section_4.html The Graphics and Windowing Environment (archived)]{{dash}} Apple Developer Documentation * [https://developer.apple.com/documentation/coregraphics/quartz_display_services Quartz Display Services] {{dash}} Apple Developer Documentation {{OS X}} [[Category:Compositing window managers]] [[Category:Display servers]] [[Category:MacOS user interface]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:Dash
(
edit
)
Template:Distinguish
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:OS X
(
edit
)
Template:OS X graphics model
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)