【发布时间】:2011-02-08 02:14:14
【问题描述】:
有没有人创建了GDI32.dll 的版本来利用机器上可用的硬件加速功能? gdiplus.dll?
从 Windows Vista 开始,GDI 不再是硬件加速的。 (GDI+ 从来没有硬件加速)。如果微软不修复 GDI(和 GDI+)以使其能够在计算机上正常运行:本机应用程序(C++ MFC、Delphi 等)和托管的 WinForms 应用程序将永远运行不佳。
虽然我可以将 Direct2D 用于商业应用程序,但我无法控制这样一个事实,即开发环境仍然创建控件,具有数十年的库支持代码,假设存在 GDI。
Application Compatibility: Graphical Device Interface (GDI):
GDI 原语,例如 LineTo 和 矩形现在在软件中呈现 而不是视频硬件, 大大简化了显示驱动程序。
在 XP GDI 中,GPU 加速到 不同程度取决于如何 操作系统已配置或设备驱动程序 (详情见Hooking Versus Punting)。 在 Vista 中,GDI 没有 GPU 加速
因此,在 Windows Vista 中,GDI DDI 显示驱动程序更改为 仅由 Microsoft 实施 提供的驱动程序,Canonical Display 驱动程序 (CDD)。 GDI 渲染到系统 内存位图。使用了脏区 更新显存纹理 窗口管理器用来 合成桌面。
【问题讨论】:
标签: winapi user-interface gdi+ gdi direct2d