Ben*_*igt 14
GDI原语由视频卡驱动程序实现.视频驱动程序由GPU制造商提供,并使用专有的寄存器级接口与GPU通信,此级别不需要公共API.
与您声称知道的相反,图像通常不会在CPU上完全渲染和合成.相反,视频驱动程序可以自由地使用CPU和GPU处理的任何组合,并且通常将大量GDI命令(尤其是位块传输,也称为blitting)委托给GPU.
由于专有接口必须足够强大以支持OpenGL客户端驱动程序和DirectX驱动程序,因此GDI驱动程序可以将命令传递给GPU执行并不奇怪.
在没有特定于制造商的驱动程序的情况下,在启动(和Windows安装)的早期,视频API确实在软件中执行所有渲染并写入帧缓冲区,帧缓冲区只是为GPU RAMDAC提供内存并映射到CPU地址空间的内存区域.帧缓冲存储在几种众所周知的格式之一(由VESA定义)中.