微软GDI。 BitBlt vs StretchDIBits

时间:2018-06-15 15:41:36

标签: c windows graphics gdi+ blit

您好,我正在尝试使用Windows GDI API编写基本的软件渲染器,但我不确定使用哪种blitting选项。

选项1:直接在简单的设备无关位图上直接使用StretchDIBits

选项2:使用BitBlt和SetDIBits

现在,我知道BitBlt意味着与Device Dependent Bitmaps一起使用,在这种情况下,它肯定永远不会比StretcthDIBits慢,因为它没有翻译阶段;但是,因为我不是真的想要处理DDB并且无论如何都在使用SetDIBits,这将根据MSDN进行

  

使用颜色数据在兼容位图(DDB)中设置像素   在指定的DIB中找到。

我是否可以假设速度具有可比性,如果不支持StretchDIBits?

我在发布问题之前尝试做研究,但我完全有可能误解了我所读的内容,所以我真的很感谢有人以比MSDN稍微不那么古老的方式解释这两个功能之间的区别。

谢谢!

编辑:我使用的是具有相同大小btw的Src和Dest缓冲区,因此实际的拉伸功能几乎无关紧要;我只需要1:1的blit。

0 个答案:

没有答案