Some Fresh Tests With Mesa's Continuing KHR_no_error Work
Given the continued flow of KHR_no_error patches hitting Mesa 17.2 Git by Valve developers, here is a fresh comparison using the just-updated Padoka PPA with comparing the impact of using this support via the MESA_NO_ERROR=1 switch.
KHR_no_error comes down to disabling error handling at run-time for apps/games that should be in good OpenGL shape, but if errors are encountered, there can potentially be undefined behavior rather than proper error handling. Obviously by being able to avoid some error paths in Mesa, KHR_no_error/MESA_NO_ERROR can save some CPU cycles for spending elsewhere or otherwise for potentially conserving some power.
With a Skylake + Radeon RX 470 test box, I compared Mesa 17.2-dev this week with Linux 4.12 from a stock run of various OpenGL Linux games to one with MESA_NO_ERROR=1 environment variable being set. The Phoronix Test Suite was also monitoring the CPU usage during the testing process.
Or bit greater in very select cases.
Some OpenGL tests appear to benefit slightly from this no-error work in Mesa.
But in the majority of OpenGL Linux games tested, the results were the same or negligible difference.
At least for this Skylake + Radeon RX 470 combination, the CPU usage wasn't noticeably different overall, but it did look like there were fewer CPU spikes. Those interested can dig through more numbers via this OpenBenchmarking.org result file. I'll run these tests on a lighter system next time I have a Pentium/Celeron CPU pulled out, probably closer to the Mesa 17.2 release this summer when more KHR_no_error work has landed.
KHR_no_error comes down to disabling error handling at run-time for apps/games that should be in good OpenGL shape, but if errors are encountered, there can potentially be undefined behavior rather than proper error handling. Obviously by being able to avoid some error paths in Mesa, KHR_no_error/MESA_NO_ERROR can save some CPU cycles for spending elsewhere or otherwise for potentially conserving some power.
With a Skylake + Radeon RX 470 test box, I compared Mesa 17.2-dev this week with Linux 4.12 from a stock run of various OpenGL Linux games to one with MESA_NO_ERROR=1 environment variable being set. The Phoronix Test Suite was also monitoring the CPU usage during the testing process.
Or bit greater in very select cases.
Some OpenGL tests appear to benefit slightly from this no-error work in Mesa.
But in the majority of OpenGL Linux games tested, the results were the same or negligible difference.
At least for this Skylake + Radeon RX 470 combination, the CPU usage wasn't noticeably different overall, but it did look like there were fewer CPU spikes. Those interested can dig through more numbers via this OpenBenchmarking.org result file. I'll run these tests on a lighter system next time I have a Pentium/Celeron CPU pulled out, probably closer to the Mesa 17.2 release this summer when more KHR_no_error work has landed.
5 Comments