Oder habe ich da was missverstanden? Vsync greift doch erst ab der Hz-Zahl des Monitors.
Falsch, bzw. ja - falsch verstanden.
VSync begrenzt die fps auf die Refreshrate des Monitors.
Das Tearing ist völlig unabhängig von der Bildfrequenz und taucht auch bei exakt 60 fps auf!
VSync off: sobald die GPU fertig ist mit Rendern, wird das Bild in den "aktiven" Framebuffer geschoben und angezeigt.
Problem: die Übertragung des Vorgängerbildes zum Monitor steckt gerade irgendwo mittendrin und wird abgebrochen. Ergibt dann obere Bildhälfte (Frame 0) - Riss - untere Bildhälfte (Frame 1)
Die Bilder werden eigentlich immer unvollständig übertragen und die Anzeige besteht aus unterschiedlichen Halbbildern.
VSync on: GPU ist fertig mit Rendern -> der Framebuffer wird aber erst auf den Ausgang geschoben, wenn das vorherige Bild fertig übertragen ist. Jedes Bild wird vollständig übertragen. Zwischendurch dreht die GPU massiv Däumchen, weil Framebuffer 0 wird noch gebraucht, FB 1 ist voll mit dem nächsten Bild.
Workaround: triple buffering -> gibt noch einen FB2, die GPU kann in diesen zusätzlichen Speicher sofort weiter rendern - damit steigt dann aber die Latenz weiter an.
Bei mir: VSYNC + Triplebuffer immer an, Tearing gerade bei seitlichen Schwenks ertrage ich nicht!
Dann lieber die AA-Stufe oder Details runter um auf spielbaren Frameraten zu bleiben.