Browse Source

GL: document tricks how to make GL benchmark more stable.

pull/650/head
Vladimír Vondruš 2 years ago
parent
commit
d48b66ecd1
  1. 18
      src/Magnum/GL/OpenGLTester.h

18
src/Magnum/GL/OpenGLTester.h

@ -138,6 +138,24 @@ If @gl_extension{ARB,timer_query} desktop extension (part of OpenGL 3.3),
available, GPU time benchmarks will get automatically skipped, producing a
@cb{.ansi} SKIP @ce message on the output.
Note that GPUs are subject to the same frequency scaling as CPUs, and depending
on the vendor and driver the variance may be so high that the measurements are
useless. This is particlarly the case with Intel integrated GPUs, which heavily
downclock for power saving, and do so independently on the CPU power mode. On
Linux it's possible to tune the behavior by setting the min and max frequency
to the same value, for example:
@m_class{m-console-wrap}
@code{.sh}
cat /sys/class/drm/card1/gt/gt0/rps_max_freq_mhz > /sys/class/drm/card1/gt/gt0/rps_min_freq_mhz
@endcode
On systems that have multiple GPUs, pick `cardN` based on whether it has a
`gt/` subdirectory, NVidia GPUs for example don't have it. Discrete GPUs have
additional tunables, see the [official Intel docs](https://www.intel.com/content/www/us/en/docs/oneapi/optimization-guide-gpu/2024-2/configuring-gpu-device.html)
for more information.
@note This class is available only if Magnum is compiled with
@ref MAGNUM_TARGET_GL enabled (done by default). See @ref building-features
for more information.

Loading…
Cancel
Save