ความเร็วเป็นสาเหตุที่พบบ่อยที่สุดว่าทำไมจึงไม่ทำเช่นนี้ ในความเป็นจริงคุณสามารถทำสิ่งที่คุณเสนอถ้าคุณสร้างระบบปฏิบัติการของคุณเองมันจะช้ามากด้วยเหตุผลทางสถาปัตยกรรม ดังนั้นการสันนิษฐานว่ามันเร็วกว่านั้นมีข้อบกพร่องเล็กน้อย แม้ว่ามันจะเร็วกว่า แต่ก็มีประสิทธิภาพน้อยลงในแง่ของการพัฒนา (เช่นเพิ่มความเร็ว 1% สำหรับการทำงาน 10 เท่า)
การคัดลอกข้อมูลจาก CPU ไปยังการ์ดกราฟิกเป็นการทำงานที่ค่อนข้างช้า ยิ่งคุณคัดลอกความเร็วในการอัปเดตน้อยลงเท่าไหร่ ดังนั้นคุณควรมีข้อมูลส่วนใหญ่ใน GPU ของคุณและอัปเดตข้อมูลจำนวนเล็กน้อยเท่านั้น มีโลกที่แตกต่างระหว่างการคัดลอกมากกว่า 320x200 พิกเซลเทียบกับ 1920x1200 หรือมากกว่านั้น ดูจำนวนพิกเซลที่คุณต้องอัปเดตเพิ่มขึ้นเป็นสองเท่าเมื่อด้านข้างโตขึ้น
ตัวอย่าง: การบอกให้ GPU ย้ายรูปภาพขนาด 10 พิกเซลนั้นถูกกว่าการคัดลอกพิกเซลแบบแมนนวลไปยังหน่วยความจำวิดีโอในตำแหน่งต่างๆ
ทำไมคุณต้องลองใช้ API เพียงเพราะมันไม่ใช่ระบบของคุณ ระบบปฏิบัติการไม่สามารถอนุญาตให้คุณทำสิ่งที่คุณต้องการด้วยเหตุผลด้านความปลอดภัย ประการที่สองเพราะระบบปฏิบัติการต้องการฮาร์ดแวร์ที่เป็นนามธรรมออกไปแม้แต่ระบบปฏิบัติการกำลังพูดคุยกับคนขับรถผ่านระบบนามธรรมบางอย่างซึ่งเป็น API ถ้าคุณต้องการ
ในความเป็นจริงฉันจะให้คะแนนความเป็นไปได้ที่ระบบของคุณจะเร็วกว่านี้ถ้าคุณเพิ่งทำงานทั้งหมดด้วยตัวเองใกล้กับศูนย์ มันค่อนข้างเหมือนกับการเปรียบเทียบ C และการประกอบ แน่นอนว่าคุณสามารถเขียนชุดประกอบได้ แต่คอมไพเลอร์สมาร์ทสวยวันนี้และเพิ่มประสิทธิภาพที่ดีขึ้นและดีขึ้นตลอดเวลา เป็นการยากที่จะดีขึ้นด้วยตนเองแม้ว่าคุณจะสามารถเพิ่มผลผลิตของคุณได้
PS: API ไม่ทำให้เป็นไปไม่ได้ที่จะทำการอัปเดตนี้เหมือนกับเกมเก่า ๆ มันไม่มีประสิทธิภาพแค่นั้นแหละ ไม่ใช่เพราะความคิด API แต่เป็นช่วงเวลาที่ไม่มีประสิทธิภาพ
PPS: นี่คือเหตุผลที่พวกเขากำลังจะเปิดตัว Vulkan