For some reason NVIDIA drivers do not re-enable vsync once disabled
It seems if vsync is disabled at beginning of vsync_init() it is not enabled later (no error messages, etc) with "vsync = true" I guess compton thinks everything is OK, but glxgears runs ~1000FPS with noticable CPU usage.
After disable initia vsync for NV everything sees to work just fine. I got smooth 60FPS with almost no CPU used.
Tested on Precision 5510 with 430.14 on Quadro M1000M
Codecov Report
Merging #182 into next will increase coverage by
0.34%. The diff coverage isn/a.
@@ Coverage Diff @@
## next #182 +/- ##
==========================================
+ Coverage 12.53% 12.87% +0.34%
==========================================
Files 42 42
Lines 8112 7858 -254
==========================================
- Hits 1017 1012 -5
+ Misses 7095 6846 -249
| Impacted Files | Coverage Δ | |
|---|---|---|
| src/vsync.c | 5.26% <ø> (-1.64%) |
:arrow_down: |
| src/config.h | 0% <0%> (-21.43%) |
:arrow_down: |
| src/log.h | 11.11% <0%> (-11.12%) |
:arrow_down: |
| src/config_libconfig.c | 55.11% <0%> (-0.53%) |
:arrow_down: |
| src/render.c | 3.24% <0%> (-0.1%) |
:arrow_down: |
| src/backend/gl/glx.c | 12.4% <0%> (-0.1%) |
:arrow_down: |
| src/dbus.c | 0% <0%> (ø) |
:arrow_up: |
| src/region.h | 0% <0%> (ø) |
:arrow_up: |
| src/backend/gl/gl_common.c | 0% <0%> (ø) |
:arrow_up: |
| src/backend/gl/gl_common.h | 0% <0%> (ø) |
:arrow_up: |
| ... and 14 more |
First of all, thanks for the pull request. I have some questions though:
Are you sure vsync is really set to "true"? What if you run compton --vsync --config /dev/null?