有没有人创建GDI32.dll
版本,利用机器上的硬件加速功能? gdiplus.dll
?
从Windows Vista开始,GDI不再是硬件加速。 (GDI +从未加速硬件)。如果没有Microsoft修复GDI(和GDI +)以便能够在计算机上运行良好:本机应用程序(C ++ MFC,Delphi等)和托管的WinForms应用程序将继续运行不良。
虽然我可以将Direct2D用于业务应用程序,但我无法控制开发环境仍然创建控件的事实,其中包含数十年的库支持代码,假设存在GDI。
Application Compatibility: Graphical Device Interface (GDI):
GDI原语,如LineTo和 矩形现在用软件渲染 而不是视频硬件 大大简化了显示驱动程序。
在XP中,GDI是GPU加速的 各种程度取决于如何 已配置OS或设备驱动程序 (有关详细信息,请参阅Hooking Versus Punting)。 在Vista中,GDI不是GPU加速
因此,在Windows Vista中,GDI DDI显示驱动程序被更改为 仅由Microsoft实施 提供的驱动程序,Canonical Display 司机(CDD)。 GDI呈现给系统 内存位图。使用了脏区 更新视频内存纹理 窗口管理器使用的 合成桌面。
答案 0 :(得分:3)
似乎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上呈现。
http://blogs.msdn.com/b/e7/archive/2009/04/25/engineering-windows-7-for-graphics-performance.aspx
基于实际应用 统计数据,...我们与我们合作 图形IHV合作伙伴提供 支持他们的司机加速 最常用的GDI操作。
答案 1 :(得分:1)
嗯,是的,GDI是用于渲染图形的“随时随地工作”的API。它对视频驱动程序的要求非常低。很久以前,每个人都做对了。花了一段时间,我得到了一个ATI Mach视频卡的独特记忆,让我没有遇到麻烦。它阻止我购买ATI产品很长一段时间。
每个人都在很久以前就得到了DirectX。它正在利用WPF渲染模型,它完全依赖DirectX来完成工作。 Milcore是垫片的名字。在购买WPF编程模型之前,你不会得到它。
答案 2 :(得分:1)
硬件加速是什么意思? 我的意思是,除了光栅blits之外,GDI没有做很多事情,但那些是硬件加速的。而且,鉴于Vista和Windows 7在桌面应用程序上的速度并不快,仍然是。
GDI仍然会让视频驱动程序完成所有繁重的工作,所以如果GDI没有硬件加速,那么它的驱动程序供应商就会出错,而不是GDI的。