diff --git a/src/backend/sdl2.zig b/src/backend/sdl2.zig index d46ce39..e75d772 100644 --- a/src/backend/sdl2.zig +++ b/src/backend/sdl2.zig @@ -47,8 +47,17 @@ pub const Sdl2Backend = struct { ) orelse return error.WindowCreationFailed; errdefer c.SDL_DestroyWindow(window); - // Create renderer (using software renderer for consistency) + // Create renderer with hardware acceleration and VSync + // VSync syncs with monitor refresh rate (typically 60Hz) which: + // - Eliminates screen tearing + // - Reduces CPU usage (no busy-wait needed) + // - Provides consistent frame timing + // Falls back to software renderer if GPU not available const renderer = c.SDL_CreateRenderer( + window, + -1, + c.SDL_RENDERER_ACCELERATED | c.SDL_RENDERER_PRESENTVSYNC, + ) orelse c.SDL_CreateRenderer( window, -1, c.SDL_RENDERER_SOFTWARE,