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

问题描述 投票:0回答:3

有人创建了一个利用机器上可用的硬件加速的

GDI32.dll
版本吗?
gdiplus.dll

从 Windows Vista 开始,GDI 不再是硬件加速的。 (GDI+ 从来都不是硬件加速的)。如果 Microsoft 不修复 GDI(和 GDI+)以便能够在计算机上良好运行:本机应用程序(C++ MFC、Delphi 等)和托管 WinForms 应用程序将永远运行不佳。

虽然我可以将 Direct2D 用于业务应用程序,但我无法控制这样一个事实:开发环境仍然创建控件,并具有数十年的库支持代码,并且假设存在 GDI。


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

GDI 原语,例如 LineTo 和 矩形现在在软件中渲染 而不是视频硬件, 大大简化了显示驱动程序。

Windows 和视频内存

在 XP 中,GDI 通过 GPU 加速 不同程度取决于如何 操作系统或设备驱动程序已配置 (详情请参见Hooking 与 踢球)。 在 Vista 中,GDI 没有 GPU 加速

比较 Direct2D 和 GDI

因此,在 Windows Vista 中,GDI DDI 显示驱动程序更改为 仅由微软实施 提供的驱动程序,Canonical Display 司机(CDD)。 GDI 呈现给系统 内存位图。使用了脏区域 更新视频内存纹理 窗口管理器用来 合成桌面。

winapi user-interface gdi+ gdi direct2d
3个回答
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。在维斯塔上, GDI 将始终在 CPU 上渲染。

链接

基于实际应用 统计数据,...我们与我们的 IHV 合作伙伴提供的图形 支持司机加速 最常用的 GDI 操作。


1
投票

嗯,是的,GDI 是“随时随地工作”的用于渲染图形的 API。它对视频驱动程序的要求非常低。每个人很久以前就明白了这一点。过了一段时间,我对 ATI Mach 显卡有了清晰的记忆,这给我带来了无穷无尽的麻烦。这让我有一段时间不再购买 ATI 产品了。

大家在不久前也正确认识了 DirectX。它在 WPF 渲染模型中得到利用,它完全依赖 DirectX 来完成工作。 Milcore 是垫片名称。在您接受 WPF 编程模型之前,您不会得到它。


1
投票

硬件加速是什么意思? 我的意思是,GDI 除了光栅位块传输之外没有做太多事情,但这些都是硬件加速的。而且,鉴于 Vista 和 Windows 7 的桌面应用程序速度并没有特别慢,但仍然如此。

GDI 仍然让视频驱动程序来完成所有繁重的工作,因此如果 GDI 没有硬件加速,那么这是驱动程序供应商的错误,而不是 GDI 的错误。

© www.soinside.com 2019 - 2024. All rights reserved.