SDL_LockSurface
documentation建议,不是很清楚,某些曲面的像素格式可能会在其生命周期内发生变化,因此访问曲面像素的正确方法也是如此格式是首先检查表面是否需要与SDL_MUSTLOCK
锁定,如果是,请使用SDL_LockSurface
将其锁定。
然而,许多在线code samples访问该格式而未执行任何检查。
锁定表面是否真的需要访问像素格式?表面寿命期间格式是否会发生变化,从而需要锁定?
我使用SDL 1.2,以防版本之间存在任何差异。
答案 0 :(得分:0)
像素格式不太可能会被更改,如果确实如此,那么在访问它的过程中就不会发生这种情况,因为格式存在于客户端内存中(仅由您和SDL触摸)。如果您仍然担心可能性,则始终使用SDL_SWSURFACE标志创建曲面或在访问格式之前锁定曲面。