Quartz Compositor är fönstersystemet som används i Mac OS X. Det är ansvarigt för att presentera och underhålla rastrerad och renderad grafik.
Quartz Compositor är det underliggande verktyget som används för att överföra bilder till grafikkortsminne i Mac OS X. Bitmapdata som genereras av Quartz 2D , OpenGL , Core Image , QuickTime eller andra systemprocesser skrivs till ett speciellt minnesområde som kallas page minne . Kompositören läser sedan data från sidminnet och konverterar den till en bild för visning genom att skriva den till grafikkortets framebuffer . Quartz Compositor accepterar endast bitmappsdata och är den enda processen som har direkt tillgång till grafikkortets rambuffert. [ett]
När du manipulerar enskilda fönster tar Quartz Compositor en bitmapp som innehåller fönstrets innehåll från dess renderare, såväl som dess position. Renderaren kan variera från applikation till applikation, men de flesta använder Quartz 2D. Quartz Compositor fungerar alltså som en "visuell mixer" genom att lägga till detta fönster till den aktuella skärmscenen. Denna modell gör Mac OS X-fönstersystemet unikt, eftersom enskilda processer inte kan göra anspråk på full äganderätt till hela scenen på skärmen. [2]
I sin roll som fönsterhanterare har Quartz Compositor även en händelsekö som tar emot händelser som tangenttryckningar eller musklick. Quartz Compositor avköar händelser genom att bestämma vilken process som äger fönstret där händelsen inträffade och skickar händelsen till processen. [3]
Mac OS X v10.2 introducerade Quartz Extreme-teknik: grafikprocessoracceleration (GPU) Quartz Compositor. Med Quartz Extreme förbrukar inte scenkompositionen processorcykler . Quartz Compositor arbetar med en grafikprocessor (GPU), som kapslar in varje renderad grafiksida i en OpenGL-yta eller texturkarta. GPU:n kartor och ytor, ger den färdiga bilden, som levereras direkt till grafikkortets framebuffer.
Quartz Extreme använder endast OpenGL-kommandon och kräver ett grafikkort kopplat till en AGP 2X eller snabbare port (inklusive AGP 4X, 8X och PCI Express ), stöder texturer och kartor av alla storlekar, eftersom många renderare inte har några storleksbegränsningar (t.ex. Quartz 2D ). [1] Den här tekniken är aktiverad som standard på Mac -datorer med följande typer av grafikkort : [4]
Quartz Extreme är inte samma sak som Quartz 2D Extreme, där GPU-accelerationer är valfria. Dessutom är alla typer av GPU som kan återge Core Image -kommandon också kompatibla med Quartz Extreme.
Mac OS | |
---|---|
Ansökningar | |
Verktyg |
|
Teknik och användargränssnitt _ |
|