有人创建了一个利用机器上可用的硬件加速的
GDI32.dll
版本吗? gdiplus.dll
?
从 Windows Vista 开始,GDI 不再是硬件加速的。 (GDI+ 从来都不是硬件加速的)。如果 Microsoft 不修复 GDI(和 GDI+)以便能够在计算机上良好运行:本机应用程序(C++ MFC、Delphi 等)和托管 WinForms 应用程序将永远运行不佳。
虽然我可以将 Direct2D 用于业务应用程序,但我无法控制这样一个事实:开发环境仍然创建控件,并具有数十年的库支持代码,并且假设存在 GDI。
GDI 原语,例如 LineTo 和 矩形现在在软件中渲染 而不是视频硬件, 大大简化了显示驱动程序。
在 XP 中,GDI 通过 GPU 加速 不同程度取决于如何 操作系统或设备驱动程序已配置 (详情请参见Hooking 与 踢球)。 在 Vista 中,GDI 没有 GPU 加速
因此,在 Windows Vista 中,GDI DDI 显示驱动程序更改为 仅由微软实施 提供的驱动程序,Canonical Display 司机(CDD)。 GDI 呈现给系统 内存位图。使用了脏区域 更新视频内存纹理 窗口管理器用来 合成桌面。
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。在维斯塔上, GDI 将始终在 CPU 上渲染。
基于实际应用 统计数据,...我们与我们的 IHV 合作伙伴提供的图形 支持司机加速 最常用的 GDI 操作。
嗯,是的,GDI 是“随时随地工作”的用于渲染图形的 API。它对视频驱动程序的要求非常低。每个人很久以前就明白了这一点。过了一段时间,我对 ATI Mach 显卡有了清晰的记忆,这给我带来了无穷无尽的麻烦。这让我有一段时间不再购买 ATI 产品了。
大家在不久前也正确认识了 DirectX。它在 WPF 渲染模型中得到利用,它完全依赖 DirectX 来完成工作。 Milcore 是垫片名称。在您接受 WPF 编程模型之前,您不会得到它。
硬件加速是什么意思? 我的意思是,GDI 除了光栅位块传输之外没有做太多事情,但这些都是硬件加速的。而且,鉴于 Vista 和 Windows 7 的桌面应用程序速度并没有特别慢,但仍然如此。
GDI 仍然让视频驱动程序来完成所有繁重的工作,因此如果 GDI 没有硬件加速,那么这是驱动程序供应商的错误,而不是 GDI 的错误。