【问题标题】:Doubts with SDL_UpdateTexture对 SDL_UpdateTexture 的怀疑
【发布时间】:2014-08-12 09:08:10
【问题描述】:

我在 wiki 中看到函数 SDL_UpdateTexture 的这个条目:

http://wiki.libsdl.org/SDL_UpdateTexture

后来,它是这样说的:

*这是一个相当慢的函数,用于静态纹理。

此函数适用于流式纹理,但出于优化原因,如果之后锁定纹理,您可能无法恢复像素。*

什么?我以为是反过来的。纹理的静态访问意味着不经常更新纹理,而我的纹理的流式访问意味着在其中多次写入数据(经常“更新”其数据)

那么这在 wiki 中是错误的吗?如果不是,流式访问纹理的好功能是什么?

【问题讨论】:

    标签: textures sdl


    【解决方案1】:

    我有一个照明引擎,它使用 SDL_UpdateTexture 将其光照贴图转储到场景中,在 2.0.3 中,如果您在 STATIC 或 STREAMING 上执行此操作,性能似乎没有明显差异

    不管怎样,它确实是一个很慢的功能。缓慢与 SDL 必须将像素信息从主内存传送到 GPU 内存有关......所以应该谨慎使用它。每帧不止一个大的 UpdateTexture 可能会开始对旧硬件征税。

    【讨论】: