在Win32中,GDI函数BitBlt和StretchBlt硬件是否加速?

时间:2012-02-19 07:33:39

标签: winapi bitmap hardware gdi bitblt

我似乎无法通过搜索得到明确的答案。 Win32 blitting操作硬件是否加速(GDI,而不是GDI +)。我不知道这些功能如何与图形驱动程序连接。是否有任何函数调用来验证此功能,例如?GetCaps?对于特定的图形设备(win32图形设备),看看这些功能是否正在接收硬件加速?

2 个答案:

答案 0 :(得分:3)

根据this,GDI仅在Windows 7之后加速硬件加速。 This列出了如何指定哪些操作是硬件加速的。包含在列表中的是BitBltStretchBlt,所以是的,它们是硬件加速的,但您需要有一个系统支持它,您需要启用它。

答案 1 :(得分:2)

如果GDI操作是硬件加速取决于驱动程序,但除Vista *之外的所有Windows版本都支持它。

  • Vista添加了一个名为Windows显示驱动程序模型(WDDM)的新驱动程序模型
  • Windows 7中添加了WDDM v1.1,其中包括GDI hardware acceleration
  • 的返回

*:可以在Vista上使用XP驱动程序,在我不知道的设置中GDI会发生什么。 (也许您可以通过检查D3DCAPS2_CANSHARERESOURCE来检测到这一点?)修改根据this,它适用于XPDM。

你可以在Win7上检查一些内核caps,但我不知道是否可以检入用户模式。