diff --git a/iris/src/default/render.rs b/iris/src/default/render.rs index 970d44c..77829cc 100644 --- a/iris/src/default/render.rs +++ b/iris/src/default/render.rs @@ -115,7 +115,14 @@ impl UiRenderer { format: surface_format, width: size.width, height: size.height, - present_mode: PresentMode::AutoNoVsync, + // Vsync, because a UI toolkit aiming at battery life must not + // present frames a display will never show. AutoNoVsync accepts + // them as fast as the GPU will take them, so a redraw burst costs + // whatever the hardware can be made to do rather than one frame -- + // and on this machine the GPU is the host's real one, reached + // through virtio-gpu, so that cost lands on somebody's desktop. + // AutoVsync picks Fifo, which every backend supports. + present_mode: PresentMode::AutoVsync, alpha_mode: surface_caps.alpha_modes[0], desired_maximum_frame_latency: 2, view_formats: vec![],