diff --git a/internal/backends/winit/renderer/femtovg/glcontext.rs b/internal/backends/winit/renderer/femtovg/glcontext.rs index 795424ad46..5bb8f1972a 100644 --- a/internal/backends/winit/renderer/femtovg/glcontext.rs +++ b/internal/backends/winit/renderer/femtovg/glcontext.rs @@ -179,6 +179,14 @@ impl OpenGLContext { ); } + // Try to default to vsync and ignore if the driver doesn't support it. + surface + .set_swap_interval( + &context, + glutin::surface::SwapInterval::Wait(NonZeroU32::new(1).unwrap()), + ) + .ok(); + Ok((window, Self { context, surface })) } } diff --git a/internal/renderers/skia/opengl_surface.rs b/internal/renderers/skia/opengl_surface.rs index fb9584fbaa..ed31202765 100644 --- a/internal/renderers/skia/opengl_surface.rs +++ b/internal/renderers/skia/opengl_surface.rs @@ -340,6 +340,14 @@ impl OpenGLSurface { .into()); } + // Try to default to vsync and ignore if the driver doesn't support it. + surface + .set_swap_interval( + &context, + glutin::surface::SwapInterval::Wait(NonZeroU32::new(1).unwrap()), + ) + .ok(); + Ok((context, surface)) }