在SDL中制作曲面时,可以选择使用HWSURFACE标记,我想这意味着表面由GPU而不是CPU处理。但是现在SDL2有纹理,我想知道,差异是什么?使用硬件表面而不是纹理会有和性能差异吗?他们的行为是否相同?
我已经尝试了谷歌搜索,但我只能在常规软件表面上找到信息。
答案 0 :(得分:2)
SDL1中没有纹理支持,SDL2中没有HWSURFACE
(或任何其他表面标志)。 SDL2中flags
中的SDL_CreateRGBSurface
注释为“标志已过时,应设置为0”。没有理智的方式来混合它们。
答案 1 :(得分:1)
指定SDL_HWSURFACE会导致使用视频内存创建曲面。没有GPU的电脑仍然有视频存储器,将数据存储在屏幕上比将其从系统RAM复制更快。
纹理被上传到GPU自己的专用RAM,数据必须通过该内存才能完全放在屏幕上。 SDL2不再具有SDL_HWSURFACE标志,因为渲染子系统通过OpenGL或Direct3D使用GPU,并且无法使用旧方法在屏幕上获取图形。