1

SDL_LockSurface文档不是很清楚地表明,某些表面的像素格式可能会在其生命周期内发生变化,因此访问表面像素格式的正确方法是首先检查表面是否需要锁定SDL_MUSTLOCK,如果需要,锁定它使用SDL_LockSurface.

但是,许多在线代码示例在没有执行任何检查的情况下访问该格式。

锁定表面是否真的需要访问像素格式?格式可以在表面寿命期间更改以需要锁定吗?

我正在使用 SDL 1.2 以防版本之间存在任何差异。

4

1 回答 1

0

像素格式不太可能发生更改,如果发生更改,则不会在您访问它的过程中发生,因为格式驻留在客户端内存中(仅由您和 SDL 接触)。如果您仍然担心这种可能性,请始终使用 SDL_SWSURFACE 标志创建表面或在访问格式之前锁定表面。

于 2014-12-05T14:58:04.460 回答