Tốc độ là lý do phổ biến nhất tại sao điều này không được thực hiện. Trong thực tế, bạn có thể làm những gì bạn đề xuất, nếu bạn tạo ra hệ điều hành của riêng mình, nó sẽ rất chậm vì lý do kiến trúc. Vì vậy, giả định rằng nó nhanh hơn là một chút thiếu sót. Ngay cả khi nó sẽ nhanh hơn, nó sẽ kém hiệu quả hơn về mặt phát triển (như tăng tốc độ 1% cho 10 lần công việc).
Sao chép dữ liệu từ CPU sang card đồ họa là một hoạt động tương đối chậm. Bạn càng ít sao chép tốc độ cập nhật của bạn càng nhanh. Vì vậy, lý tưởng là bạn sẽ có hầu hết dữ liệu trên GPU của mình và chỉ cập nhật các khối dữ liệu nhỏ. Có một thế giới khác biệt giữa việc sao chép trên 320x200 pixel so với 1920x1200 trở lên. Xem số lượng pixel bạn cần cập nhật tăng theo phương trình bậc hai khi các cạnh phát triển.
Ví dụ: Sẽ rẻ hơn khi yêu cầu GPU di chuyển hình ảnh đúng 10 pixel so với sao chép các pixel theo cách thủ công vào bộ nhớ video ở các vị trí khác nhau.
Tại sao bạn phải đi qua một API? Đơn giản vì đó không phải là hệ thống của bạn. Hệ điều hành không thể cho phép bạn làm bất cứ điều gì bạn muốn vì lý do an toàn. Thứ hai bởi vì hệ điều hành cần loại bỏ phần cứng trừu tượng, ngay cả HĐH cũng đang nói chuyện với trình điều khiển một số hệ thống trừu tượng, một API nếu bạn muốn.
Trong thực tế, tôi sẽ đánh giá khả năng hệ thống của bạn sẽ nhanh hơn, nếu bạn tự làm tất cả công việc, gần bằng không. Nó hơi giống như so sánh C và lắp ráp. Chắc chắn bạn có thể viết lắp ráp, nhưng trình biên dịch ngày nay khá thông minh và tối ưu hóa tốt hơn và tốt hơn mọi lúc. Thật khó để trở nên tốt hơn bằng tay, ngay cả khi bạn có thể năng suất của bạn sẽ giảm xuống.
PS: API không làm cho bản cập nhật này không giống như các trò chơi cũ đã làm. Đó chỉ là không hiệu quả. Không phải vì tâm trí API mà vì đó là giai đoạn không hiệu quả.
PPS: Đây là lý do tại sao họ tung ra Vulkan.