Кіріспе

macOS жүйесінде қолданылатын терезелерді көрсету жүйесі – Quartz Compositor. Бұл macOS-тағы дисплей сервері (және бір уақытта композициялық терезе басқарушысы). Ол Core Graphics фреймворкінің қалған бөлігінен және Quartz технологиялар отбасының басқа рендерлерінен алынған растрленген, көрсетілген графиканы ұсыну және сақтау үшін жауапты.

Шолу

Quartz 2D, OpenGL, Core Image, QuickTime немесе басқа процестерден шығарылған бит картасы белгілі бір жад орнына немесе қосалқы жадқа жазылады. Содан кейін Compositor қосалқы жадтан деректерді оқып, дисплей үшін оларды біріктіріп, бір сурет түзеді және осы суретті графикалық картаның кадрлық буфер жадына жазады. Quartz Compositor тек растрлық деректерді қабылдайды және графикалық кадрлық буферге тікелей қол жеткізе алатын жалғыз процесс болып табылады. Жеке терезелерді басқару кезінде Quartz Compositor терезе мазмұнының бит карталық кескінін оның рендерінен және оның орналасқан жерінен бірге қабылдайды. Рендерді таңдау жеке қолданбаның құзырында, бірақ көпшілігі Quartz 2D пайдаланады. Quartz Compositor содан кейін "көрнекі араластыру тақтасы" рөлінде әрекет етеді, берілген терезени дисплей үшін толық көрініске қосады. Терезе басқарушы ретінде Quartz Compositor-да оқиғалар кезекшесі бар, ол пернелерді басу және тышқан кликтары сияқты оқиғаларды қабылдайды. Quartz Compositor кезекшеден оқиғаларды алып, оқиға болған терезенің қандай процесске тиесілі екенін анықтап, оқиғаны сол процесске жібереді.

КварцGL

QuartzGL (Mac OS X Tiger жүйесінде енгізілген кезде Quartz 2D Extreme деп аталды) — Quartz 2D API үшін GPU үдеткіші болып табылады. QuartzGL қосылғанда, барлық Quartz сурет командалары OpenGL командаларына аударылып, GPU-да орындалады. Бұл Quartz Extreme-нен өзгеше, ол Quartz сурет командаларын CPU-да орындайды, бірақ соңғы құрастыруды GPU арқылы жүзеге асырады. OS X Mountain Lion нұсқасынан бастап, QuartzGL әдепкі бойынша қосылмайды. Дегенмен, оны Apple Developer Tools құралына кіретін Quartz Debug қосымшасын пайдаланып қосуға болады. Quartz Debug қосымшасын жапқаннан кейін QuartzGL қайтадан өшіріледі. Оған шешім табу үшін Quartz Debug қосымшасын күштеп жабуға болады, сонда QuartzGL жүйеде тұрақты түрде қосылып қалады. Core Image-ті қолдайтын барлық графикалық карталар QuartzGL-ді де қолдайды.