HWSURFACE 与纹理有何不同
How does HWSURFACE differ from a texture?
在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,并且无法使用旧方法在屏幕上获取图形。
相关文章:
- OpenInventor从9.8升级到10.4.2后,GLSL纹理返回零
- SFML纹理像播放器
- OpenGL大的3D纹理(>2GB)非常慢
- 在C++中,我如何接受不同于同一行的用户输入
- UE4-如何在给定4个屏幕坐标的情况下缩放纹理或材质
- 如何创建从同一类继承的不同对象的向量
- 我收到同义重复编译器错误。我应该如何修复"类型"X"的参数与类型"X"的参数不兼容?
- 着色器纹理值与创建纹理时写入的值不同
- OpenGL将纹理四边形渲染为(0,0)
- 宽度为奇数的16位纹理为片状
- 获取从C++中同一类中的构造函数调用的方法返回的值
- C++如何将同一类的实例作为属性
- 在TFHE(完全快速同态加密)上执行除法
- 使用 CUDA 和纹理进行图像减法
- 如何封装一个函数,以便它只能由同一类中的一个其他函数调用?
- 在不使用统一的情况下将纹理传递给 GLSL 着色器?
- 将使用太多的纹理插值器 - 带旋转的着色器
- dx11 渲染到纹理仅显示透明颜色
- OpenGL 4.3 错误地将第 4 个纹理坐标映射到与第 3 个纹理坐标相同的位置
- 如何使用运算符在同一行中多次调用函数