您好,我正在尝试使用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。