我说说我的理解,欢迎指正,O(∩_∩)O谢谢~~
GDI 属于硬件和系统之间的抽象层,既保护了存储系统也方便了开发者,防止程序员直接操作显存引致错误(比如蓝屏),在DOS时代,程序员是可以直接操纵内存、显存等一系列硬件。。。GDI带来的问题就是效率!程序员间接调用gdi32.dll中的接口进行窗口的绘制,数据从显存到内存这之间的一系列数据交换带来的是效率的下降。。。
directx 是微软开发的,多媒体编程套件,他既做到了GDI的设备无关性也在效率上超过了OpenGL,还提供了更多的功能。用来对抗OpenGL以及拉拢游戏开发商,并推广自己的xbox产品 。。。至于他为什么比opengl做的更好,我也没有深入了解,但是可以肯定的是,他的绘图效率绝对比GDI高多了,我想大概的原因,就是微软做了折中处理,既是直接操作显存,同时还提供程序员抽象的编程模型。
一点愚见!