SDL_UpdateTexture线程安全吗?

时间:2018-08-20 13:52:19

标签: c++ linux sdl

我有一个程序可以处理1920x1080大小的纹理,并在多线程环境中通过SDL_UpdateTexture更新纹理。线程之间的纹理是“平铺”的,因此线程1将更新与线程2不同的区域。例如,t1将更新区域0,0,64,64,而t2将更新{{1} }。

在这种情况下可以使用65, 65, 128, 128而不进行任何锁定,以便线程可以同时更新纹理吗?

1 个答案:

答案 0 :(得分:2)

看看

Multithreaded Rendering on OpenGL

但是,简要地说:GL不是线程安全的(甚至不是线程感知的)。在Windows上,一次不能在一个以上的线程上激活上下文,因此如果不同步线程就无法更新纹理(这违背了多线程的目的)。我敢打赌,在Linux上也是一样。