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

有没有人在那里创建了GDI32.dll的版本,该版本利用了机器上可用的硬件加速功能? gdiplus.dll

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

虽然我可以将Direct2D用于商业应用程序,但是我无法控制开发环境仍然创建控件的事实,这种控件具有几十年的库支持代码,它假定存在GDI。


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

GDI基元(如LineTo和Rectangle)现在用软件而不是视频硬件渲染,这大大简化了显示驱动程序。

Windows和视频内存

在XP中,GDI根据操作系统配置或设备驱动程序的不同而不同程度地加速GPU(详情请参阅Hooking Versus Punting)。 在Vista中,GDI不是GPU加速的

比较Direct2D和GDI

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


Vista似乎是GDI性能历史上的一个特例。 以下两篇文章表明,GDI的未来看起来再次光明。

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

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

http://blogs.msdn.com/b/e7/archive/2009/04/25/engineering-windows-7-for-graphics-performance.aspx

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


那么,是的,GDI是“随时随地都可以工作”的API来渲染图形。 它对视频驱动程序提出了非常低的要求。 每个人都很早就明白这一点。 这花了一段时间,我对ATI Mach显卡有了特别的记忆,这给了我无尽的麻烦。 它阻止我购买ATI产品很长一段时间。

每个人都很早以前就获得DirectX的权利。 它正在利用WPF渲染模型,它完全依赖于DirectX来完成工作。 Milcore是垫片的名字。 除非您购买WPF编程模型,否则您将无法获得。


硬件加速意味着什么? 我的意思是,GDI除了光栅传输外并没有做太多的事情,但是这些都是硬件加速的。 而且,鉴于Vista和Windows 7在桌面应用方面的速度并不是非常慢,所以依然如此。

GDI仍然让视频驱动程序完成所有繁重的工作,所以如果GDI没有硬件加速,那么它的驱动程序供应商就会出错,而不是GDI。

链接地址: http://www.djcxy.com/p/45383.html

上一篇: Win32: Is there a replacement GDI32.dll that uses hardware acceleration?

下一篇: Using Barcode ID for Event Management