2X performance regression on Mesa 17.1 vs 17.0
Submitted by David Pinedo
Assigned to Default DRI bug account
Created attachment 132646 hack to apitrace for duplicating problem
We have an internal OpenGL benchmarking tool that measures the performance of certain frames in apitrace files. We have been using this tool to measure the performance of various releases of Mesa.
We recently found a large regression in Mesa performance of Half Life Episode 2, as measured by our benchmarking tool. We measured the following frame rates when running the benchmark with Mesa built from the listed source tags:
tag mesa-17.0.0 358.6 fps tag mesa-17.1.3 151.1 fps
This is a reduction in performance of more than 2X.
Since the tool we use to measure performance is an internal tool and we cannot distribute it, I hacked apitrace to behave similar to our tool so that apitrace can be used to measure the performance of the problem frame. The frame rates I measured with this hacked apitrace benchmark are:
tag mesa-17.0.0 417.7 fps commit 071d80b 393.9 fps commit f81ede4 324.6 fps tag mesa-17.1.3 196.0 fps
The hacked apitrace shows about the same performance drop between mesa-17.0.0 and mesa-17.1.3 as our original benchmark. I also include the results for commits 071d80bd and f81ede46 because commit f81ede46 seemed to show the single largest performance drop of all commits between mesa-17.0.0 and mesa-17.1.3.
The configuration of the system I have been using to measure Mesa performance is:
CPU: Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz RAM: 16Gb GPU: AMD RX480
Attached is the patch I applied to apitrace to create my hacked apitrace that attempts to duplicate the original benchmark.
After building apitrace with the above patch, I used the following command to measure performance:
vblank_mode=0 glretrace -b hl2_linux.trace
I can make the hl2_linux.trace trace file available on request. We cannot widely distribute it because it contains Valve IP (i.e. game images). Please send a request directly to email@example.com.
Note that we have observed similar performance drops for other games, but I have concentrated on isolating and reporting on one frame in one game for now.
Patch 132646, "hack to apitrace for duplicating problem":