GDI 函数 BitBlt 和 StretchBlt 在 Win32 中是否硬件加速?
我似乎无法通过搜索得到明确的答案。 Win32 blitting 操作是否硬件加速(GDI,而不是 GDI+)。我不知道这些函数如何与图形驱动程序交互。是否有任何函数调用来验证此功能,例如?GetCaps?对于特定的图形设备(win32图形设备),看看这些函数是否正在接收硬件加速?
I can't seem to get a definite answer to this via searching. Are the Win32 blitting operations hardware accelerated (GDI, not GDI+). I don't know how these functions interface with the graphics driver. Is there any function call to verify this functionality, like ?GetCaps? for a specific graphics device (win32 graphics device) to see if these functions are receiving hardware acceleration?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
根据此 , GDI 仅在 Windows 7 及以上版本上进行硬件加速。
此列出了如何指定哪些操作要硬件加速。列表中包括
BitBlt
和StretchBlt
,所以是的,它们是硬件加速的,但您需要有一个支持它的系统,并且需要启用它。According to this, GDI is only hardware accelerated on windows 7 onwards.
This lists how to specify which operations are to be hardware accelerated. included in the list is
BitBlt
andStretchBlt
, so yes they are hardware accelerated, but you need to have a system supporting it, and you need to enable it.GDI 操作是否硬件加速取决于驱动程序,但除 Vista* 之外的所有 Windows 版本都支持它。
*:可以在 Vista 上使用 XP 驱动程序,我不知道在该设置中 GDI 会发生什么。 (也许您可以通过检查 D3DCAPS2_CANSHARERESOURCE?)编辑:根据这个,它与 XPDM 一起使用。
有一些内核上限 你可以在Win7上检查,但我不知道是否可以在用户模式下检查。
If GDI operations are hardware accelerated depends on the driver but all versions of Windows except Vista* support it.
*: It is possible to use a XP driver on Vista, what happens to GDI in that setup I do not know. (Maybe you can detect this by checking for D3DCAPS2_CANSHARERESOURCE ?) Edit: According to this, it works with XPDM.
There are some kernel caps you could check on Win7 but I don't know if it is possible to check in usermode.