为什么 primusrun 比 optirun 慢?

VF1*_*VF1 9 bumblebee

有人可以解释这些结果吗?是不是primusrun太聪明了glxspheres,根本不做额外的工作?

...:~$ glxspheres
Polygons in scene: 62464
Visual ID of window: 0xaf
Context is Direct
OpenGL Renderer: Mesa DRI Intel(R) Ivybridge Mobile 
59.811274 frames/sec - 66.749382 Mpixels/sec
59.577921 frames/sec - 66.488960 Mpixels/sec
59.791245 frames/sec - 66.727029 Mpixels/sec
59.723333 frames/sec - 66.651240 Mpixels/sec
...:~$ optirun glxspheres
Polygons in scene: 62464
Visual ID of window: 0x21
Context is Direct
OpenGL Renderer: Quadro K1000M/PCIe/SSE2
190.833067 frames/sec - 212.969703 Mpixels/sec
209.895160 frames/sec - 234.242999 Mpixels/sec
207.980413 frames/sec - 232.106141 Mpixels/sec
...:~$ primusrun glxspheres
Polygons in scene: 62464
Visual ID of window: 0xaf
Context is Direct
OpenGL Renderer: Quadro K1000M/PCIe/SSE2
61.001631 frames/sec - 68.077820 Mpixels/sec
59.677170 frames/sec - 66.599722 Mpixels/sec
59.715808 frames/sec - 66.642842 Mpixels/sec
Run Code Online (Sandbox Code Playgroud)

Ubuntu 12.04 x64,联想 W530 w/ Intel i7 @ 2.8 GHz

Sal*_*lem 17

来自 Primus常见问题解答

Q: Performance does not exceed 60 fps, I was getting more with optirun/VirtualGL.
A: This is the effect of vblank synchronisation. For benchmarking, you can use 
   vblank_mode=0 primusrun ..., but in practice this will probably only 
   waste power, as your LCD panel does not display more than 60 frames 
   per second anyway.
Run Code Online (Sandbox Code Playgroud)

  • 除非有其他问题/答案说明这一点,否则我认为最好让它留下来,因为它可能会帮助其他有同样疑问的人。我是在开始使用 primus 一周后才发现的... (3认同)