Skip to main content
Background Image

nCine Intel Mesa 20 Driver Benchmark

·2 mins
Table of Contents

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.

This release brings a ton of fixes and new features, alongside the new iris driver for modern Intel integrated GPUs based on Gallium3D.

I have conducted some benchmarks on my Intel Core i7-8550U with Intel HD Graphics 620 (GT2), an Intel Gen 9.5 GPU.

Setup

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]

The 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 iris.

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 verbose.

Tests

Let’s see how many frames can be rendered over a time of five seconds.

Testi965irisRatio
apptest_camera (800 Mhz)166516590.99x
apptest_camera453246461.02x
apptest_meshsprites (800 Mhz)128112941.01x
apptest_meshsprites345135151.01x
apptest_particles_100x (800 Mhz)3853871.00x
apptest_particles_100x5095081.00x

Conclusions

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 i965.