I'm having a similar issue to this question, only primusrun is still slower even with vblank synchronization disabled.
EDIT: I didn't run standard glxspheres without turning off vblank sychronization. When I do I get
$ vblank_mode=0 glxspheres64
Polygons in scene: 62464
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: default value of option vblank_mode overridden by environment.
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: Mesa DRI Intel(R) Haswell Mobile
139.729257 frames/sec - 155.937850 Mpixels/sec
201.142942 frames/sec - 224.475523 Mpixels/sec
$ glxspheres64
Polygons in scene: 62464
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: Mesa DRI Intel(R) Haswell Mobile
60.409773 frames/sec - 67.417306 Mpixels/sec
$ optirun glxspheres64
Polygons in scene: 62464
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GT 750M/PCIe/SSE2
276.092868 frames/sec - 308.119641 Mpixels/sec
erik@yorda:~$ vblank_mode=0 primusrun glxspheres64
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: default value of option vblank_mode overridden by environment.
Polygons in scene: 62464
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: default value of option vblank_mode overridden by environment.
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GT 750M/PCIe/SSE2
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: default value of option vblank_mode overridden by environment.
198.399436 frames/sec - 221.413770 Mpixels/sec
I'm not sure why primus would be running slower. I'm using Ubuntu 13.10 with the experimental 310 drivers.
EDIT: It seems that primusrun is giving no performance boost over the onboard intel graphics.
PRIMUS_UPLOAD=2
the frame rate went down to 40. – Erik Feb 09 '14 at 17:26