With the 310.19 drivers, I notice that CPU usage goes upto 100% even when I sync to vblank (for things as simple as glxgears). But if I set the __GL_YIELD to USLEEP, things are back to normal.
From the below naive experiments.
__GL_SYNC_TO_VBLANK=1 __GL_YIELD= glxgears
__GL_SYNC_TO_VBLANK=1 __GL_YIELD=USLEEP glxgears
__GL_SYNC_TO_VBLANK=0 __GL_YIELD= glxgears
__GL_SYNC_TO_VBLANK=0 __GL_YIELD=USLEEP glxgears
In pption 1 CPU usage is high (100%), 2 uses acceptable CPU cycles (~10 %), 3 gives me high FPS, and 4 gives me low FPS. It appears, using USLEEP, even though solve the high cpu usage problem, it affects rendering (low FPS).
Any idea what could be causing this? I am basically trying to leave the __GL_YIELD option to default and get a decent performance when sync to vblank is set.
FYI: I am running OpenSuSE 12.1 (32 bit), Quadro FX 1800.
Narrowed it down to monitor rotation. I have two monitors, one rotated left (using xrandr).
So when it is rotated glxgears consumes 100% CPU even when vblank is set (and regardless of which monitor it runs on).
Any idea what could be causing this?
I am on Quadro FX 1800, 32 bit kernel (OpenSuSE 12.1) and 310.32 driver.
Here is xrandr -q
Screen 0: minimum 8 x 8, current 2304 x 1280, maximum 8192 x 8192
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 connected 1024x1280+1280+0 left (normal left inverted right x axis y axis) 338mm x 270mm
1280x1024 60.0*+ 75.0
1152x864 75.0
1024x768 75.0 60.0
800x600 75.0 60.3
640x480 75.0 59.9
DP-2 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
1280x1024 60.0*+ 75.0
1152x864 75.0
1024x768 75.0 60.0
800x600 75.0 60.3
640x480 75.0 59.9
DP-3 disconnected (normal left inverted right x axis y axis)
Nobody from NVidia is around here? I am getting tired of this, is there any other place where someone from Nvidia would care to look at issues and at least try to answer?
I don’t know if the issue has been investigated at all, the thread is 4 years old.
But i just found that “borderlands 2” performance is badly affected by __GL_YIELD=USLEEP
On driver 384.90, the menu screen reaches 30fps, unsetting __GL_YIELD makes it jump to about 96fps, with greater cpu and gpu use.
This is on GTX1050ti.