Another Bug Found That Limits GNOME's Performance For Secondary GPU Setups
Daniel van Vugt of Canonical's desktop team for Ubuntu Linux has been on a spree recently tackling various GNOME bugs -- often performance issues -- while also continuing to work on the dynamic triple buffering support and other GNOME desktop enhancements. His latest discovery is around finding another performance bottleneck for multi-GPU setups.
Daniel van Vugt spotted in Mutter that secondary GPU frame-rates are being held back by the dynamic-max-render-time handling. In turn secondary frame-rates often aren't hitting the capable refresh rates of monitors. With a 130Hz display on Nouveau he's seeing just 65 FPS while with the dynamic triple buffering he's up to 86 FPS and then with an environment variable tweak to disable dynamic-max-render-time he's hitting 130 FPS. Similarly, on Mutter Git he's hitting just 30 FPS for a AMDGPU setup driving a 60Hz monitor but with the environment variable override he can achieve the 60 FPS.
He's opened this bug report for the issue with upstream Mutter. For now those believed to be affected by this bug can try using the CLUTTER_PAINT=disable-dynamic-max-render-time environment variable override to disable the dynamic-max-render-time behavior.
Daniel van Vugt spotted in Mutter that secondary GPU frame-rates are being held back by the dynamic-max-render-time handling. In turn secondary frame-rates often aren't hitting the capable refresh rates of monitors. With a 130Hz display on Nouveau he's seeing just 65 FPS while with the dynamic triple buffering he's up to 86 FPS and then with an environment variable tweak to disable dynamic-max-render-time he's hitting 130 FPS. Similarly, on Mutter Git he's hitting just 30 FPS for a AMDGPU setup driving a 60Hz monitor but with the environment variable override he can achieve the 60 FPS.
He's opened this bug report for the issue with upstream Mutter. For now those believed to be affected by this bug can try using the CLUTTER_PAINT=disable-dynamic-max-render-time environment variable override to disable the dynamic-max-render-time behavior.
8 Comments