1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-29 23:07:48 +02:00

Add VSync to settings

This commit is contained in:
Alexander Wilms
2023-09-26 16:06:01 +02:00
parent 73ea52c615
commit 23d1638d70
5 changed files with 508 additions and 479 deletions

View File

@@ -274,8 +274,14 @@ void ScreenHandler::initializeWindow()
handleFatalError(message, true);
}
//create first available renderer if preferred not set. Use no flags, so HW accelerated will be preferred but SW renderer also will possible
mainRenderer = SDL_CreateRenderer(mainWindow, getPreferredRenderingDriver(), SDL_RENDERER_PRESENTVSYNC);
// create first available renderer if no preferred one is set
// use no SDL_RENDERER_SOFTWARE or SDL_RENDERER_ACCELERATED flag, so HW accelerated will be preferred but SW renderer will also be possible
uint32_t rendererFlags = 0;
if(settings["video"]["vsync"].Bool())
{
rendererFlags |= SDL_RENDERER_PRESENTVSYNC;
}
mainRenderer = SDL_CreateRenderer(mainWindow, getPreferredRenderingDriver(), rendererFlags);
if(mainRenderer == nullptr)
throw std::runtime_error("Unable to create renderer\n");