From: Pauli N. <su...@gm...> - 2010-04-08 07:36:35
|
On Wed, Apr 7, 2010 at 6:39 PM, Philipp Klaus Krause <pk...@sp...> wrote: > Disclaimer: I know glxgears is not a benchmark, and I'm asking this > question out of curiosity, not out of some attempt to benchmarkusing > glxgears. > > Why do I consistently get higher glxgears framerates with indirect > rendering? Here's some glxgears output: > > 1736 frames in 5.0 seconds = 347.084 FPS > 1676 frames in 5.0 seconds = 335.017 FPS > 1500 frames in 5.0 seconds = 299.872 FPS > 1651 frames in 5.0 seconds = 330.194 FPS > 1741 frames in 5.0 seconds = 347.826 FPS > 1542 frames in 5.0 seconds = 308.269 FPS > 1544 frames in 5.0 seconds = 308.688 FPS > ^C > philipp@notebook3:~$ export LIBGL_ALWAYS_INDIRECT=1 > philipp@notebook3:~$ glxgears > Running synchronized to the vertical refresh. The framerate should be > approximately the same as the monitor refresh rate. > 2241 frames in 5.0 seconds = 446.507 FPS > 2020 frames in 5.0 seconds = 401.752 FPS > 2340 frames in 5.0 seconds = 463.619 FPS > 2120 frames in 5.0 seconds = 420.840 FPS > > System info: > OpenGL vendor string: Tungsten Graphics, Inc > OpenGL renderer string: Mesa DRI Intel(R) 965GM GEM 20091221 2009Q4 > OpenGL version string: 1.4 (2.1 Mesa 7.7.1) > > Philipp Direct rendering requires roundtrips between xserver and mesa for every frame while indirect rendering is just pushing data to xserver. That makes huge difference when most of the time is spent in buffer swap code. |