이것이 수행 되지 않는 가장 일반적인 이유는 속도입니다 . 실제로 자신의 운영 체제를 만들면 아키텍처상의 이유로 인해 속도가 매우 느려집니다. 따라서 더 빠르다는 가정은 약간의 결함이 있습니다. 속도가 더 빠르더라도 개발 측면에서는 효율성이 떨어집니다 (예 : 작업의 10 배 동안 1 % 속도 증가).
CPU에서 그래픽 카드로 데이터를 복사하는 작업은 비교적 느립니다. 복사 속도가 낮을수록 업데이트 속도가 빨라질 수 있습니다. 따라서 이상적으로는 GPU에 대부분의 데이터가 있고 작은 데이터 덩어리 만 업데이트합니다. 1920x1200 이상에 비해 320x200 픽셀 이상의 복사에는 차이가 있습니다. 측면이 커질 때 업데이트해야하는 픽셀 수가 2 차적으로 증가하는 것을 확인하십시오.
예 : 다른 위치의 비디오 메모리에 수동으로 픽셀을 복사하는 것보다 이미지를 10 픽셀 오른쪽으로 이동하도록 GPU에 지시하는 것이 더 저렴합니다.
왜 API를 통해 이동해야합니까? 단순히 시스템이 아니기 때문입니다. 운영 체제에서는 안전상의 이유로 원하는 작업을 수행 할 수 없습니다. 둘째, 운영 체제는 하드웨어를 추상화해야하기 때문에 OS조차도 추상화 된 시스템 인 API를 통해 드라이버와 통신합니다.
실제로 모든 작업을 직접 수행 한 경우 거의 0에 가까운 시스템이 더 빠를 가능성을 평가합니다. C와 어셈블리를 비교하는 것과 같습니다. 물론 어셈블리를 작성할 수는 있지만 요즘 컴파일러는 꽤 똑똑하고 항상 더 잘 최적화됩니다. 생산성이 저하 될 수 있어도 수동으로 개선하기는 어렵습니다.
추신 : API는 오래된 게임처럼이 업데이트를 수행하는 것을 불가능하게하지 않습니다. 그게 전부 비효율적입니다. API가 아니라 비효율적 인 기간이기 때문입니다.
PPS : 이것이 Vulkan을 출시하는 이유입니다.