อ่าน 2 นาที
ควอตซ์คอมโพสิตเตอร์
Quartz Compositor เป็น เซิร์ฟเวอร์แสดงผล และ ตัวจัดการหน้าต่างคอมโพสิต ใน macOS มีหน้าที่ในการนำเสนอและบำรุงรักษา กราฟิกที่เรนเดอร์แบบแรส เตอร์ จากเฟรมเวิร์ก Core Graphics...
ควอตซ์คอมโพสิตเตอร์
| ควอตซ์คอมโพสิตเตอร์ | |
|---|---|
| ระบบปฏิบัติการ | ระบบปฏิบัติการ macOS |
| พิมพ์ | |
| ใบอนุญาต | ซอฟต์แวร์กรรมสิทธิ์ภายใต้ข้อ ตกลงการอนุญาตใช้งานซอฟต์แวร์ (EULA) |
| เว็บไซต์ | web.archive.org/web/20150322043623/https://developer.apple.com/technologies/mac/graphics-and-animation.html |
| โมเดลกราฟิกmacOS |
|---|
| การเรนเดอร์ |
| คอมโพสิต |
Quartz Compositorเป็นเซิร์ฟเวอร์แสดงผลและตัวจัดการหน้าต่างคอมโพสิตในmacOSมีหน้าที่ในการนำเสนอและบำรุงรักษา กราฟิกที่เรนเดอร์แบบแรส เตอร์ จากเฟรมเวิร์ก Core Graphicsส่วนที่เหลือและเรนเดอร์อื่นๆ ในตระกูลเทคโนโลยี Quartz [ 1 ]
ภาพรวม
เอาต์พุตบิตแมปจากQuartz 2D , OpenGL , Core Image , QuickTimeหรือกระบวนการอื่นๆ จะถูกเขียนไปยังตำแหน่งหน่วยความจำเฉพาะ หรือพื้นที่จัดเก็บข้อมูลสำรองจากนั้น Compositor จะอ่านข้อมูลจากพื้นที่จัดเก็บข้อมูลสำรองและประกอบแต่ละส่วนเข้าเป็นภาพเดียวสำหรับการแสดงผล โดยเขียนภาพนั้นลงในหน่วยความจำเฟรมบัฟเฟอร์ของการ์ดกราฟิก Quartz Compositor รับเฉพาะข้อมูลแรสเตอร์ และเป็นกระบวนการเดียวที่สามารถเข้าถึงเฟรมบัฟเฟอร์กราฟิกได้โดยตรง[ 2 ]
ในการจัดการหน้าต่างแต่ละบาน Quartz Compositor จะรับ ภาพ บิตแมปของเนื้อหาในหน้าต่างจากตัวเรนเดอร์ พร้อมกับตำแหน่งของหน้าต่างนั้น การเลือกใช้ตัวเรนเดอร์ขึ้นอยู่กับแอปพลิเคชันแต่ละตัว แม้ว่าส่วนใหญ่จะใช้ Quartz 2D ก็ตาม จากนั้น Quartz Compositor จะทำหน้าที่เป็น "ตัวกลางในการผสมผสานภาพ" โดยการเพิ่มหน้าต่างที่กำหนดลงในฉากทั้งหมดเพื่อแสดงผล
ในบทบาทของตัวจัดการหน้าต่าง Quartz Compositor ยังมีคิวเหตุการณ์ซึ่งรับเหตุการณ์ต่างๆ เช่น การกดแป้นพิมพ์และการคลิกเมาส์ Quartz Compositor จะนำเหตุการณ์จากคิว กำหนดว่ากระบวนการใดเป็นเจ้าของหน้าต่างที่เกิดเหตุการณ์ขึ้น และส่งต่อเหตุการณ์ไปยังกระบวนการนั้น[ 3 ]
ควอตซ์ เอ็กซ์ตรีม
Mac OS X เวอร์ชัน 10.2ได้นำเสนอการเร่งความเร็วในการประมวลผลกราฟิกสำหรับ Quartz Compositor ซึ่งใช้รอบการประมวลผลของโปรเซสเซอร์น้อยลงอย่างมากสำหรับการจัดองค์ประกอบฉาก Quartz Compositor จะห่อหุ้มภาพพื้นหลังที่แสดงผลแต่ละภาพไว้ในแผนที่พื้นผิวหรือพื้นผิว OpenGL จากนั้นจึงส่งไปยัง GPU เพื่อจัดองค์ประกอบพื้นผิวและแผนที่เหล่านั้นให้เป็นภาพสุดท้าย แล้วส่งไปยังเฟรมบัฟเฟอร์
Quartz Extreme ใช้คำสั่ง OpenGL เท่านั้น และต้องใช้การ์ดกราฟิกที่เชื่อมต่อกับ บัส AGP 2X หรือเร็วกว่า (รวมถึง AGP 4X, 8X และPCI Express ) ซึ่งรองรับพื้นผิวและแผนที่ที่มีขนาดไม่จำกัด เนื่องจากเรนเดอร์หลายตัวไม่มีข้อจำกัดด้านขนาด (เช่น Quartz 2D) [ 2 ]ในMac OS X Tigerจะเปิดใช้งานโดยอัตโนมัติบน ระบบ Mac ที่มี การ์ดกราฟิกประเภทใดประเภทหนึ่งต่อไปนี้: [ 4 ]
- การ์ดจอ AMD (ATI) Radeonแบบ AGP ที่มี VRAM อย่างน้อย 16 MB หรือดีกว่า
- การ์ด จอ NVIDIA GeForce2 MXที่มี VRAM อย่างน้อย 16 MB หรือดีกว่า
ตั้งแต่OS X El Capitan เป็นต้น ไป Quartz Extreme จะถูกเปิดใช้งานบน Mac ทุกรุ่นที่รองรับ
ควอตซ์จีแอล
QuartzGL (หรือที่เรียกว่า Quartz 2D Extreme เมื่อเปิดตัวในMac OS X Tiger ) คือการเร่งความเร็ว GPU สำหรับ API Quartz 2D เมื่อเปิดใช้งาน QuartzGL คำสั่งการวาดภาพ Quartz ทั้งหมดจะถูกแปลงเป็นคำสั่ง OpenGL และประมวลผลบน GPU ซึ่งแตกต่างจาก Quartz Extreme ที่ยังคงประมวลผลคำสั่งการวาดภาพ Quartz บน CPU แต่จะทำการจัดองค์ประกอบขั้นสุดท้ายโดยใช้ GPU
ในOS X Mountain Lionนั้น QuartzGL ยังไม่ถูกเปิดใช้งานโดยค่าเริ่มต้น อย่างไรก็ตาม สามารถเปิดใช้งานได้โดยใช้แอปพลิเคชัน Quartz Debug ที่รวมอยู่ในApple Developer Tools QuartzGL จะถูกปิดใช้งานอีกครั้งเมื่อปิดยูทิลิตี้ Quartz Debug วิธีแก้ปัญหาคือการบังคับปิดแอปพลิเคชัน Quartz Debug ซึ่งจะทำให้ QuartzGL เปิดใช้งานทั่วทั้งระบบ
การ์ดจอทุกรุ่นที่รองรับCore Imageจะรองรับ QuartzGL ด้วยเช่นกัน
ดูเพิ่มเติม
ลิงก์ภายนอก
- สภาพแวดล้อมด้านกราฟิกและการจัดการหน้าต่าง (เก็บถาวร) – เอกสารสำหรับนักพัฒนาของ Apple
- บริการแสดงผลควอตซ์ – เอกสารประกอบสำหรับนักพัฒนาของ Apple
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ควอตซ์คอมโพสิตเตอร์
Quartz Compositor เป็น เซิร์ฟเวอร์แสดงผล และ ตัวจัดการหน้าต่างคอมโพสิต ใน macOS มีหน้าที่ในการนำเสนอและบำรุงรักษา กราฟิกที่เรนเดอร์แบบแรส เตอร์ จากเฟรมเวิร์ก Core Graphics...
ภาพรวม
เอาต์พุตบิตแมปจาก Quartz 2D , OpenGL , Core Image , QuickTime หรือกระบวนการอื่นๆ จะถูกเขียนไปยังตำแหน่งหน่วยความจำเฉพาะ หรือ พื้นที่จัดเก็บข้อมูลสำรอง จากนั้น Compositor จะอ่านข้อมูลจากพื้นที่จัดเก็บข้อมูลสำรองและประกอบแต่ละส่วนเข้าเป็นภาพเดียวสำหรับการแสดงผล...
ควอตซ์ เอ็กซ์ตรีม
Mac OS X เวอร์ชัน 10.2 ได้นำเสนอการเร่งความเร็วในการประมวลผลกราฟิกสำหรับ Quartz Compositor ซึ่งใช้รอบการประมวลผลของโปรเซสเซอร์น้อยลงอย่างมากสำหรับการจัดองค์ประกอบฉาก Quartz Compositor จะห่อหุ้มภาพพื้นหลังที่แสดงผลแต่ละภาพไว้ในแผนที่พื้นผิวหรือพื้นผิว OpenGL...
ควอตซ์จีแอล
QuartzGL (หรือที่เรียกว่า Quartz 2D Extreme เมื่อเปิดตัวใน Mac OS X Tiger ) คือการเร่งความเร็ว GPU สำหรับ API Quartz 2D เมื่อเปิดใช้งาน QuartzGL คำสั่งการวาดภาพ Quartz ทั้งหมดจะถูกแปลงเป็นคำสั่ง OpenGL และประมวลผลบน GPU ซึ่งแตกต่างจาก Quartz Extreme...