Hierzu mal mein Senf:
Mit dieser ganzen Ruckelthematik kann man sich ziemlich verrückt machen lassen, aber ich sags euch wie's ist, die simpelste Methode, um so gut wie alle Ruckler weg zu bekommen ist, das Spiel so einzustellen, dass man garantiert zu jeder Zeit weit über 60 FPS erreicht, dann das Display fest auf 60 Hz stellen und Vsync aktivieren.
Durch das Triple Buffering in Kombination mit dem Vsync wird die Latenz zwar erhöht und auch 60 FPS sind für viele wohl als Ziel "zu niedrig" aber fakt ist, dass man so die allermeisten Spiele zu 100% smooth bekommt.
Ist halt ne "Brute Force" Methode.
Letztendlich gibt es zwei Ursachen für das Ruckeln.
1. Die Engine läuft einfach unrund.
Das können Animationsruckler bei der Kamerabewegung sein (heißt, die Animation der Kamera ist fehlerhaft, das Spiel läuft eigentlich sauber), Nachladeruckler oder allgemein Framepacing Probleme.
Dazu zählt auch, dass die Engine Shader Kompilierungs ruckler hat. Gerade mit DX12 und Unreal Engine Spielen häufig ein Problem. Immer wenn ein Effekt zum ersten mal seit einem Treiberupdate zu sehen ist, muss der Shader kompiliert werden. Das sorgt dafür, dass das Spiel für nen Bruchteil einer Sekunde pausiert. Wird der effekt ein zweites Mal dargestellt, gibts dann kein Ruckeln mehr, bis man den Grafiktreiber oder das Spiel erneut updated.
Framepacing Probleme kann man mit nem niedrig angesetztem Vsync in den Griff bekommen. Beim Rest ist man aber chancenlos. Muss man so hinnehmen und bessere Hardware wird daran nichts ändern.
2. Die GPU Auslastung liegt bei weniger als 99%.
Hier seid ihr dann im CPU Limit. Fakt ist: In JEDEM Spiel werden die Frametimes im CPU limit schlechter!
Du kannst im reinen GPU Limit bei meinetwegen 60 FPS super saubere Frametimes haben mit Percentil werten bei 55 FPS oder so. Liegt das CPU Limit dann bei meinetwegen 80 FPS und du reduzierst z.B. die Auflösung, so dass die GPU entlastet wird und man voll ins CPU Limit kommt, kann es gut sein, dass die Percentile dadurch weiter abrutschen auf z.B. 40 FPS. Gerade die Frametime Varianzen sind im CPU Limit meist eine Katastrophe im Vergleich zum GPU Limit. Das führt im Extremfall dazu, dass sich z.B. ein CPU limit bei 120 FPS unspielbar ruckelig anfühlt, während sich im GPU Limit bei 60 FPS das Spiel super smooth anfühlt, obwohl die Framerate viel geringer ist.
Es gibt manche Spiele, die im CPU Limit zwar relativ sauber laufen. Cyberpunk wäre da so ein Beispiel, aber
es gilt trotzdem, das CPU Limit in jedem Fall zu vermeiden so gut es nur geht. GPU Limit = sehr gut, CPU Limit = sehr schlecht.
Vor allem Raytracing steigert die Last auf der CPU meist enorm. Hat man also ne neue GPU mit genug RT Leistung steht man augenblicklich in den meisten Spielen vorm nächsten Problem, dem CPU Limit, das mit RT ungewöhnlich früh zuschlägt, weil u.A. das berechnen der BVH structure viel CPU Leistung kostet.
Aktuell einziger praktikabler Workaround dafür ist DLSS3 Frame Generation auf Nvidia RTX 4000 Karten zu nutzen. Damit kann man versuchen, die Framerate so zu limitieren, dass das Spiel nicht mehr ins CPU Limit läuft, man durch die Verdoppelung der FPS aber trotzdem genug FPS für ein flüssiges Bild hat.
Beispiel: CPU Limit liegt in einem Spiel mit aktivem RT bei 60 FPS. Ich aktiviere Frame Generation, die Framerate wird auf 120 FPS verdoppelt. Da die Ruckler im CPU Limit mit Frame Generation aber nicht verschwinden, kann man z.B. auf 80 FPS limitieren. Das heißt, das Spiel läuft dann eigentlich nur noch mit 40 FPS und wird mit Frame Generation auf 80 FPS verdoppelt. Da das Spiel mit 40 FPS läuft, umgeht man aber das CPU Limit und das Spiel läuft wieder gefühlt sehr flüssig. Angesichts der hohen CPU Anforderungen von Raytracing ist Frame Generation also in Zukunft fast schon ein essenzielles Feature, wenn man nicht jedes Jahr die CPU aufrüsten und dann trotzdem viel zu wenig Leistung + Microruckler im CPU Limit haben möchte.... AMD ist zum Glück ja auch schon dran, das mit FSR3 auch umzusetzen.
Nochmal zur eingangs erwähnten Methode mit 60 Hz Vsync. Das ganze soll natürlich durch die relativ niedrig angesetzten 60 FPS auch ein CPU Limit weitestgehend ausschließen, aber manch einer wird sich die Frage stellen, wozu man denn Vsync nutzen sollte, wenn man dank Gsync und Freesync genauso gut einfach ein FPS Limit bei 60 oder 70 oder 80 FPS setzen könnte und der Monitor dann mit der gleichen Frequenz läuft, was ist an Vsync besonders?
Nun die Antwort ist, dass FPS Limiter CPU seitig wirken und daher gewissen Varianzen unterliegen, während Vsync GPU seitig wirkt und einen extrem präzisen und konstanten Takt mit dem Display(controller) eingeht.
Mit Vsync erhält man immer 100% perfektes Framepacing (falls nicht hätte man sofort tearing). Solange 60 FPS bei 60 Hz konstant gehalten werden entspricht die Frametime exakt 16,66 ms. Ohne wenn und aber.
Bei einem reinen 60 FPS limit ohne Vsync hingegen braucht es nur ne kurze Lastspitze auf der CPU, eine kurze Varianz und das Framepacing ist dahin.
FPS Limits funktionieren zwar meist "ziemlich" gut in Kombination mit Gsync und Freesync, für die allermeisten ausreichend gut (ich empfehle RTSS oder den Limiter vom Treiber), aber nie wirklich 100% perfekt wie es mit Vsync der Fall ist. Ein vollständiges GPU Limit ODER ein Limit per Vsync sind daher eigentlich immer zu bevorzugen.
Die Praxis sieht aber auch bei mir so aus, dass ich entweder versuche, vollständig im GPU Limit zu bleiben, oder einfach die FPS limitiere und die nicht zu 100% perfekte ausgabe einfach hinnehme.
Wobei ich wenn ich ehrlich bin den Unterschied zwischen FPS Limitier und Vsync auch nur wahrnehme, wenn ich sehr genau drauf achte und die Kamera langsam im Spiel mit den Analogsticks meines Controllers drehe (wobei das dann auch vom Spiel abhängt, wie smooth es im FPS limit läuft)
Abschließend noch zu den ganzen Tips bzgl. Systemoptimierungen, Energiesparprofile, Powerstates, Windows Tweaks usw. Ich hab wahrscheinlich alles davon schonmal ausprobiert und mit CapFrameX nachgemessen.
Noch keiner dieser Tips hat bei mir jemals irgend einen Unterschied bewirkt.
Was aber ehrlich gesagt auch gut ist, da ich so die Gewissheit habe, dass es nicht an irgendwelchen Settings oder Ungereimtheiten mit Windows liegt.
Auch das optimieren von RAM Timings wird absolut gar nichts an den Framtime Varianzen im CPU Limit ändern. Ja, man kann durch optimieren der RAM Timings die CPU performance erhöhen und gerät somit etwas später ins CPU Limit. Das verhalten im CPU limit und die damit verbundenen Varainzen bleiben aber gleich schlecht. Und da ist es auch egal, ob ihr nen aktuellen oder nen 10 Jahre alten PC vergleicht. Das CPU Limit würde sich bei gleicher Framerate auf beiden Systemen identisch schlecht anfühlen.