Today I upgraded my Arch Linux workstation with pacman as I usually do every day and a little surprise was waiting for me.
After a long time in
[testing], Mesa 20 came out of the
[extra] repository, ready to be installed.
I have conducted some benchmarks on my Intel Core i7-8550U with Intel HD Graphics 620 (GT2), an Intel Gen 9.5 GPU.
I have compiled the nCine in release and disabled V-Sync, then I ran a script to minimize CPU throttling and frequency variations:
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
[repeat for remaining cores, cpu1 to cpu7]
performance governor should keep the CPU running at the same frequency all the time while the minimum frequency of 800 Mhz is set as both the minimum and maximum overall frequency. Those steps should both prevent the CPU from overheating and possibly highlight the reduced CPU load of
To choose between the two drivers I used the
MESA_LOADER_DRIVER_OVERRIDE environment variable. I set it to
i965 for the legacy one or unset the variable for the new one, as it is now the default.
To confirm which driver was in use during a test I set the
LIBGL_DEBUG environment variable to
Let’s see how many frames can be rendered over a time of five seconds.
apptest_camera (800 Mhz)
apptest_meshsprites (800 Mhz)
apptest_particles_100x (800 Mhz)
It seems that for the nCine kind of workload, 2D sprites and low vertex count, there is practically no difference between the two drivers on my machine. The results do not change when the CPU frequency is capped at its minimum.
This is not necessarily a bad thing. I would have been glad to see some performance uplift with those 2D tests but I’m glad to see that
iris does not seem to suffer at all from being a lot less mature than