Das liegt in wohl > 90% der Fälle daran, dass entsprechendes Spiel schlecht programmiert ist.
Der Einfachheit halber sind diese oft wie folgt ausgelegt:
Wiederhole immer wieder:
1) Frage Input ab
2) Berechne neues Modell anhand des Inputs und der vergangenen Zeit
3) Berechne Bild aus neuem Modell
4) Falls VSync an ist: Warte bis Bildschirm aktuelles Bild fertig angezeigt hat
Problem an der Sache ist nun das dies alles seriell (also immer hintereinander) passiert.
Bei VSync (= Zwangspause um auf den Monitor zu warten; oder auch niedrigen FPS) dauern Schritte 3/4 recht lange und verhindern damit zügiges 1.) und 2.).
Deshalb meinen z.B. viele auch, einen Unterschied zwischen 50fps und 60fps "sehen" zu können.
Mit mehr Aufwand kann man die beiden Prozesse aber parallel ablaufen lassen:
Thread 1: Wiederhole immer wieder:
1) Frage Input ab
2) Berechne neues Modell (könnte auch in Thread 2 passieren)
Thread 2: Wiederhole immer wieder
3) Berechne Bild aus aktuellem Modell
4) Warte falls VSync
Hauptgrund, warum das komplizierter ist, ist dass die beiden Threads nun synchronisiert werden müssen.
Nun zu VSync speziell:
VSync kann dazu führen, dass dir die FPS zusammenbrechen.
Wenn dein Monitor z.B. 60Hz hat, wird nach 1/60 Sekunde das nächste Bild angezeigt.
Dauert die Berechnung des Bildes weniger als 1/60 Sekunde, so wartet VSync bis die 1/60 Sekunde vom letzten Bild vorbei ist, ehe das neue Bild angezeigt wird, damit nicht die hälfte des neuen und des alten Bildes auf dem Bildschirm sind.
Was passiert nun, wenn die Berechnung des Bildes ein bischen länger als 1/60 Sekunde braucht? Man muss 2/60 Sekunden warten. Damit fällt man Effektiv auf 30FPS runter.
Bei einem seriell programmierten Spiel wird damit der Input auch nur noch 30 mal in der Sekunde bearbeitet.
Die anderen 10%:
Wenn du (double, tripple, ...) Buffering an hast, werden mehrere Bilder im Speicher "vorberechnet". Wenn nun sowohl die Puffer voll sind (Bilder fertig) und der Bildschirm das aktuelle Bild fertig angezeigt hat (Falls VSync an ist), wird das älteste berechnet Bild auf den Monitor gebracht.
Das erzeugt natürlich Verzögerung die spürbar werden kann.
Die einzige Chance, hier entgegenzuwirken ist, Schritt 3 zu beschleunigen (Also das Erstellen eines Bildes). Entweder durch optimierung des Spiels oder durch z.B. stärkere Grafikkarte. (bzw. Prozessor falls der Flaschenhals an der CPU liegen sollte. Dies passiert, wenn überhaupt am ehesten in Schritt 2)
Ich hoffe die Erklärung schafft ein wenig mehr Verständnis, wie der ganze Prozess abläuft