首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在winAPI中切换*指针而不是使用winAPI()?

在winAPI中切换*指针而不是使用winAPI()?
EN

Stack Overflow用户
提问于 2021-02-07 20:09:55
回答 1查看 329关注 0票数 0

正如我所读到的,BitBlt()函数来自来自winAPI的winGDI是将一些图像放在屏幕上最快的。但是“闪电战”只将一个内存从一个源复制到一个目的地。

因此,我想知道,为什么我们不能只有两个位图(缓冲区),而只是切换指针,将指向当前缓冲区,如果它是完整的。就像双重缓冲。会比我的快。

在winAPI中有可能吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-08 02:06:14

GDI中的BitBlt方法是将后台缓冲区的内容复制到重定向面。在directx中实现了一种更有效的方法。

运行时使用位块传输(bitblt)和翻转表示模型在显示监视器上显示图形内容。bitblt和翻转表示模型之间最大的区别是备份缓冲区内容如何到达Windows 8 DWM进行组合。在bitblt模型中,每次调用IDXGISwapChain1 1:Present1 1时,都会将back缓冲区的内容复制到重定向面。在翻转模型中,所有的回退缓冲区都与桌面窗口管理器()共享。因此,DWM可以直接从这些回退缓冲器中合成,而不需要任何额外的复制操作。在一般情况下,翻转模型更有效。flip模型还提供了更多的特性,例如增强了当前的统计数据。 如果有使用Windows图形设备接口(GDI)直接写入HWND的遗留组件,请使用bitblt模型。

欲知更多详情,请参阅:DXGI翻转模型与BitBlt模型的比较

本文也对此作了详细的说明。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66092618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档