Win32:是否有使用硬件加速的替代GDI32.dll?

Ian*_*oyd 7 user-interface winapi gdi+ gdi direct2d

有没有人创建了一个GDI32.dll利用机器上可用硬件加速的版本?gdiplus.dll

从Windows Vista开始,GDI不再是硬件加速.(GDI +从未加速硬件).如果没有Microsoft修复GDI(和GDI +)以便能够在计算机上运行良好:本机应用程序(C++ MFC,Delphi等)和托管的WinForms应用程序将继续运行得很糟糕.

虽然我可以将Direct2D用于业务应用程序,但我无法控制开发环境仍然创建控件的事实,数十年的库支持代码假定存在GDI.


应用程序兼容性:图形设备接口(GDI):

现在,诸如LineTo和Rectangle之类的GDI原语在软件而不是视频硬件中呈现,这极大地简化了显示驱动程序.

Windows和视频内存

在XP中,GDI是GPU加速到不同程度,具体取决于操作系统的配置方式或设备驱动程序(有关详细信息,请参阅挂钩与撑开).在Vista中,GDI不是GPU加速的

比较Direct2D和GDI

因此,在Windows Vista中,GDI DDI显示驱动程序已更改为仅由Microsoft提供的驱动程序Canonical Display Driver(CDD)实现.GDI呈现给系统内存位图.脏区域用于更新窗口管理器用于合成桌面的视频内存纹理.

QBz*_*ziZ 4

看来Vista是GDI性能史上的一个特例。下面的两篇文章都表明 GDI 的未来再次光明。

http://msdn.microsoft.com/en-us/library/ff729480%28VS.85%29.aspx

GDI 在 Windows XP 上是硬件加速的,在 Windows 7 上当桌面窗口管理器正在运行并且使用 WDDM 1.1 驱动程序时也会加速。Direct2D 在几乎所有 WDDM 驱动程序上都是硬件加速的,无论是否使用 DWM。在 Vista 上,GDI 将始终在 CPU 上渲染。

关联

根据实际应用程序统计数据,...我们与图形 IHV 合作伙伴合作,在他们的驱动程序中提供支持,以加速最常用的 GDI 操作。

  • 现在我的开发机器是 Windows 7,我确实可以看到 Vista 和 7 之间 GDI 的性能差异。我*真的*很高兴 Microsoft 花时间再次加速 GDI。我只能希望GDI+能得到同样的喜爱。 (2认同)