Skip to content

Commit

Permalink
Restore threaded renderer on Windows in windowed mode.
Browse files Browse the repository at this point in the history
Previously, when running in windowed-mode on Windows, the threaded renderer would cause the minimize/restore behaviour to become unreliable. It was disabled under this configuration to avoid the problem.

This no longer occurs (perhaps fixed by an intervening SDL update?), so we can remove the workaround and always use the threaded renderer for a performance improvement.
  • Loading branch information
RoosterDragon committed Nov 15, 2024
1 parent bf7f81b commit 3733577
Showing 1 changed file with 1 addition and 9 deletions.
10 changes: 1 addition & 9 deletions OpenRA.Platforms.Default/Sdl2PlatformWindow.cs
Original file line number Diff line number Diff line change
Expand Up @@ -337,15 +337,7 @@ public Sdl2PlatformWindow(Size requestEffectiveWindowSize, WindowMode windowMode
// Run graphics rendering on a dedicated thread.
// The calling thread will then have more time to process other tasks, since rendering happens in parallel.
// If the calling thread is the main game thread, this means it can run more logic and render ticks.
// This is disabled when running in windowed mode on Windows because it breaks the ability to minimize/restore the window.
if (Platform.CurrentPlatform == PlatformType.Windows && windowMode == WindowMode.Windowed)
{
var ctx = new Sdl2GraphicsContext(this);
ctx.InitializeOpenGL();
Context = ctx;
}
else
Context = new ThreadedGraphicsContext(new Sdl2GraphicsContext(this), vertexBatchSize, indexBatchSize);
Context = new ThreadedGraphicsContext(new Sdl2GraphicsContext(this), vertexBatchSize, indexBatchSize);

Context.SetVSyncEnabled(Game.Settings.Graphics.VSync);

Expand Down

0 comments on commit 3733577

Please sign in to comment.