HWSURFACE 与纹理有何不同

How does HWSURFACE differ from a texture?

本文关键字:何不同 纹理 HWSURFACE      更新时间:2023-10-16

在SDL中制作表面时,可以选择使用HWSURFACE标签,我想这意味着表面由GPU而不是CPU处理。但是现在 SDL2 有纹理,我想知道,有什么区别?使用硬件表面而不是纹理是否会有性能差异?他们的行为是一样的吗?

我尝试过谷歌搜索,但我只能在常规软件表面上找到信息。

SDL1 中不支持纹理,SDL2 中也没有HWSURFACE(或任何其他表面标志)。 flags在 SDL2 中SDL_CreateRGBSurface中评论为"标志已过时,应设置为 0"。没有理智的方法来混合它们。

指定SDL_HWSURFACE将导致使用视频内存创建图面。 没有 GPU 的 PC 仍然具有视频内存,将该内存区域中的数据放在屏幕上比从系统 RAM 复制数据更快。

纹理上传到 GPU 自己的专用 RAM,数据必须通过该内存才能放在屏幕上。 SDL2 不再具有 SDL_HWSURFACE 标志,因为渲染子系统通过 OpenGL 或 Direct3D 使用 GPU,并且无法使用旧方法在屏幕上获取图形。