[Mesa-users] Debugging possible GPU stalls or slow paths on Intel HD530
Elias Naur
mail at eliasnaur.com
Fri Mar 8 14:26:11 UTC 2019
Hi,
I'm working on a portable UI library in Go using OpenGL ES for
rendering. I've run into an issue where rendering a frame can anywhere
between 5-30 ms to complete on my beefy workstation but I can't figure
out how to debug it.
The same code on the same machine in Windows runs smoothly (2-3 ms
total render time) so I suspect I'm hitting a slow path in the intel
driver on my Fedora 29. Note that on Windows I'm using Angle for
OpenGL ES emulation, so I'm not hitting comparable code paths.
My Google Pixel phone renders in ~6 ms.
I'm not using any ES extensions except EXT_disjoint_timer_query for timers.
I've tried:
- INTEL_DEBUG=perf didn't output anything.
- Running the code in RenderDoc didn't reveal any problems.
- Bisecting my code to isolate a likely culprit didn't reveal any
single offender. It did show that there is a performance cliff where I
can render ~10 quads int a particular render pass in 1-2 ms but adding
the 11th makes the frame time hit 15-30 ms. It doesn't seem to matter
which quad.
- Sleeping for 50 ms between frames *did* bring down the frame time to 1-2 ms.
- I tried to avoid re-using FBOs for a few frames. Didn't seem to
matter. This is expected, since FBOs are inherently re-used by my
rendering code where a pass will render into a FBO and a later pass
will texture from it.
- Disabling EGL_GL_COLORSPACE_SRGB_KHR didn't make any difference.
I hoped INTEL_DEBUG=perf would help; is there anything else I can do
to debug the issue?
$ lspci |grep 530
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
$ dnf list isntalled mesa-dri-*
Last metadata expiration check: 0:00:21 ago on fre 08 mar 2019 15:22:07 CET.
Installed Packages
mesa-dri-drivers.i686
18.3.4-1.fc29
@updates
mesa-dri-drivers.x86_64
18.3.4-1.fc29
@updates
mesa-dri-drivers-debuginfo.x86_64
18.0.5-3.fc28
@updates-debuginfo
- elias
More information about the mesa-users
mailing list