Нужен ли SDL_LockSurface для доступа к формату пикселей?

SDL_LockSurface«s документация не очень ясно предполагает, что формат пикселей некоторых поверхностей может изменяться в течение срока их службы, и поэтому правильным способом доступа к формату пикселей поверхности будет сначала проверить, нуждается ли поверхность в блокировке с помощью SDL_MUSTLOCKи, если это так, заблокируйте его, используя SDL_LockSurface,

Тем не менее, много онлайн примеры кода получить доступ к формату без выполнения какой-либо проверки.

Действительно ли необходимо заблокировать поверхность для доступа к формату пикселей? Может ли формат изменяться в течение срока службы поверхности, чтобы требовать блокировки?

Я использую SDL 1.2 на случай, если есть разница между версиями.

1

Решение

Маловероятно, что формат пикселя будет изменен, и если это произойдет, то это не произойдет в середине вашего доступа к нему, потому что формат находится в памяти клиента (затронутый только вами и SDL). Если вы по-прежнему обеспокоены этой возможностью, всегда создавайте поверхности с флагом SDL_SWSURFACE или блокируйте поверхность перед доступом к формату.

0

Другие решения


По вопросам рекламы [email protected]