Да, SDL_UpdateRect
обновлять экран (или прямоугольник) немедленно.
Нет необходимости использовать SDL_UpdateRect
и SDL_Flip
совместно, они выполняют одни и те же действия, но разными способами.Разница в том, что SDL_UpdateRect
может обновлять только часть экрана (и работать, копируя пиксели с вашей поверхности на экран), а SDL_Flip
обновляет весь экран (и работает с помощью перекидных буферов).
Так, если вы используете экран с двойной буферизацией, нет необходимости вызывать SDL_UpdateRect
, просто позвоните SDL_Flip
после всех блитов.
http://www.libsdl.org/docs/html/sdlsetvideomode.html
Вызов SDL_Flip перевернет буферы иобновить экран.Все рисование будет происходить на поверхности, которая не отображается в данный момент.Если двойная буферизация не может быть включена, то SDL_Flip просто выполнит SDL_UpdateRect на весь экран.
И не забывайте, что двойная буферизация работает только в режиме видео SDL_HWSURFACE
и SDL_FULLSCREEN
.