Micro-Ruckler in Games

.t0x

Lt. Junior Grade
Registriert
Aug. 2010
Beiträge
269
Hi,

ich weiss so langsam nicht mehr weiter und such daher hier mal nach Rat. Ich hab seit 3 Wochen etwa 'n neuen Rechner. Bis letzten Donnerstag war ich noch mit meiner alten RX470 Nitro+ unterwegs. Seit dem hab ich aber die Red Devil 5700XT verbaut.

Mein Problem runtergebrochen: Ich habe Microruckler in eigentlich allen Spielen. Allerdings habe ich das Gefuehl, dass diese vorallem im 60hz-Bereich auftreten.
Woran mache ich das Fest? Ich capture Gameplay ueber OBS und dort vernehme ich dieses Ruckeln schon im Previewbild.
Ich weiss, dass OBS ein wenig GPU braucht um die Szene zu render, aber die Ruckler sind konstant und unabhaengig davon, ob die GPU gerade auf 30% oder 80% ausgelastet ist. Dieses Ruckeln schafft es dann auch in die Aufnahme.
Ich hab lange gedacht, es sei ein OBS Problem, aber mittlerweile moechte ich das fast ausschließen. Ich habe weder Framedrops beim rendern noch beim encoden.
Mir ist ebenso bewusst das OBS davon profitiert, wenn ich die Framerate im Spiel auf die von OBS synce - also 60. Bringt keine Abhilfe.

Mir sind die aktuellen Treiberprobleme der 5700XT bewusst. Demnach habe ich neben 19.9.1 (womit ich auch die verbreiteten Blue Screens habe, Enhanced Sync war bei mir die ganze Zeit schon deaktiviert) zudem 8.1, 7.5 und aktuell 7.2 ausprobiert. Zu den Bluescreens kann ich dahingehend noch nichts sagen, aber hier solls um das ruckeln gehen.

Was habe ich bereits probiert?
  • Aero deaktiviert
  • Nur einen von zwei Monitoren angeschlossen und diesen auch mal Abseits von DP nur ueber HDMI betrieben
  • Die Monitore beide nur auf 60hz laufen lassen
  • Frameratelimitierung ueber MSI Afterburner
  • Frische OBS Installation mit nur einer Szene und der Spieleaufnahme
  • Deaktivierung der Vorschau in OBS
  • Aufnahme auf drei verschiedene Festplatten versucht (wobei das egal sein sollte. Wie gesagt, der Previewscreen von OBS hat nix mit der Aufnahme bzw der Aufnahmeeinstellung zu tun)
  • Energieoptionen
  • Freesync deaktivert
Mehr faellt mir gerade nicht ein.

Ich dachte wie erwaehnt ne Weile, dass es an OBS liegt. Davon bin ich ab. Hab dann 'ne Weile Windows 10 fuer das Problem gehalten... mittlerweile bin ich irgendwie bei den Treibern gelandet aber im großen und ganzen Verlauf ich mich gerade und weiss mir nicht mehr zu helfen.
Gefuehl verlier ich auch so langsam den Verstand, weil ich in den letzten Tagen so oft auf 100+fps und feste 60 geguckt habe, dass ich mir schon einbilde, dass 60fps einfach so aussehen, wie sie es aktuell tun. Ich hab aber mal drei Leute draufschauen lassen, die erkennen mein Problem auch als solches. Zudem hab ich mal zum "Augen resetten" ein 60FPS Spiel in die PS4 gehauen und da sah es wie erwartet smooth aus. Das Problem scheint also real.
Irgendwie hab ich das Gefuehl, dass dieses stuttering aber auch nur bei 60fps auftritt. Wenn ich die Frames nicht limitiere, wirkt alles so weich, wie es sein muss. Zudem sei erwaehnt, dass bei lock auf 60fps das Ruckeln in der OBS Vorschau sowie Aufnahme staerker auftritt als im Spiel dabei selbst.
Weder CPU, GPU noch RAM (3900X, Red Devil 5700XT, 64GB RAM) sind in all den Tests irgendwo am Limit was die Auslastung angeht.
Bei den Monitoren handelt es sich um nen HP27xq (2560x1440) und nen AOC G2460PF(1920x1080). Beide laufen auf der gleichen Frequenz und haben Freesync aktiv.
Ob das Problem die drei Wochen mit der RX470 bestand, kann ich nicht sagen, weil ich da schlichtweg auf Aufnahme verzichtet habe.

So, ich hoffe, ich hab nix wichtiges vergessen. Vllt. habt ihr ja 'ne Idee :(
 
Wie gesagt, bei nicht limitierten Frames, welche dann meist auf 100+ hinauslaufen, wirkt alles so wie es soll. Bei auf 60 limitierten merke ich es auch im Spiel, wobei es im Vorschaubild in OBS noch heftiger aussieht. Liegt aber vllt auch am Groeßenunterschied von Vollbildanwendung und Preview
 
Ich lese nur OBS OBS OBS was ist denn ohne OBS? Was OBS zeigt oder aufnimmt ist ja erstmal egal und für das spielen wurst.

Ansonsten Datenrate zu hoch für die Platte
 
Datenrate ist mit Sicherheit nicht zu hoch fuer die Platte.
Ich hab einerseits mit meinem alten Rechner jahrelang ohne Probleme recorded.
Zwei von den alten Festplatten habens in den neuen Rechner geschafft. Außerdem ist ne neue Systemplatte drin (corsair mp510). Das Ergebnis ist auf allen drei Platten das selbe. Die Platten sind auch nie ansatzweise auf 100prozent. Zumal das Problem schon beim Preview auftritt und nicht beim recorden, wodurch die Festplatten eh nix zu tun haben.

OBS = https://obsproject.com/

Und wenn sich das Problem vor allem dort zeigt, ist es mMn eben nicht Wurst.

Mit Vsync hab ich auch schon zich Versuche hinter mir. Erfolglos.

Ich hab ebenmal meine alte 470 eingebaut, hab sowohl die ganz neuen als auch die aktuellen Treiber fuer die 470 vom Mai probiert. Resultat: Gleiches Problem.
Und das bringt mich letztendlich wieder dazu zu denken, dass es doch ein OBS Problem ist. Wobei ich bei Testaufnahmem mit dem MSI Afterburner ebenfalls diese Ruckler im Video habe, was wieder dagegen spricht.
 
Da schon die Bildausgabe des Spiels ruckelt, wenn OBS arbeitet, sollte man dort ansetzen. Das Spiel muss ordentlich laufen, sonst kann OBS auch nichts besseres aufzeichnen.
Da das Encodieren die CPU eigentlich nicht überfordern sollte, würde ich die 'Process priority' von OBS in 'Settings > Advanced' etwas runtersetzen.
 
Die Spiele laufen gut. Ich glaube, ich seh mittlerweile auch schon im Spiel dieses Stuttern, wo nix ist. Das Thema beschaeftigt mich einfach schon zu viele Tage.
Die Intensitaet der Ruckler ist def. viel staerker im Previewscreen als im Spiel. Vllt. red ich mir die im Spiel nur ein, weil ich sonst 100fps+ gewohnt bin und auf limiterte 60 erstmal wieder klarkommen muss.
Ergänzung ()

Ich werd wohl nochmal ein paar Tests mit dem MSI Afterburner machen. Vllt ist das wirklich ein OBS Bug. Siehe bspw. hier: https://obsproject.com/forum/thread...review-which-goes-into-recorded-videos.77744/
Da gibts auch wesentlich mehr Threads, die aehnliches thematisieren.
Aktuell fuehlt sich das alles aber dennoch fuer mich sehr undurchsichtig an
 
Hab gerade ein paar Games ausprobiert und konnte dabei feststellen:
  • Bei zwei davon konnte man neben der Aufloesung auch die Refreshrate aendern. Standardmaeßig war die 144hz. Hab sie auf 60hz gestellt. Das ganze Wurde aber nicht uebernommen. Egal wie oft ich es versucht habe. Mit einer limitierung der Frames ueber die Radeon Software konnte ich die Games aber auf 60fps limitieren und schon wirkte das Bild in OBS viel ruhiger.
  • Bei einem weiteren Spiel kann ich nur die Aufloesung, nicht die Bildwiederholungsrate veraendert. Dort bekomm ich mit der Radeonsoftware keine Limitierung auf 60. Das Spiel laeuft immer ueber 60.
Alle drei Spiele teilen sich eine Gemeinsamkeit: Die Unityengine.

Wenn ich das richtig recherchiert habe, laufen Unity-Games auf Windows standardmaeßig mit Direct3D.
Ich hab vorhin auch ein wenig mit Minecraft rumprobiert. Soweit ich weiss, laeuft MC nur mit OpenGL. Ich hatte vorhin aber (keine Ahnung, wie das passiert ist) im Afterburner Overlay statt OGL, D3D stehen. Und als das der Fall war, hatte ich immer die doppelte FPS im Overlay als die, die ich in Minecraft als Limit eingestellt hatte. Heisst: Hatte ich MC auf 60fps, hat mir das Overlay 120fps angezeigt. Bei 30 in MC, warens 60 im Overlay.

Hatte jetzt hoffnungsvoll den Renderer von OBS mal von D3D auf OGL gestellt. Hat leider nichts gebracht.
Nichtsdestotrotz scheint da doch irgendwas nicht richtig zu funktionieren, oder was meint ihr?

Ein wenig Gegenwind bringt Gears 5. Das laeuft wohl auch mit D3D und dass ist aktuell das einzige Spiel, was im Previewbild an die bzw bis zu den 60fps kommt.

Hat irgendjmd. ne Idee, wie man dahingehend weiter vorgehen kann?
 
Mal direkt mit deiner Karte aufnehmen mit Amd relive
 
Wie gesagt, dass Problem tritt bereits vorher auf. Der Previewscreen von OBS ist vollkommen unabhaengig von den Einstellungen fuers Recording und wird von der GPU gerendert und von der CPU encodiert. Deswegen ist es fuer OBS bspw so wichtig, dass man im Spiel die FPS limitiert, damit die GPU nicht auf 100% geht, wodurch OBS dann nicht mehr genug GPU Ressourcen zur Verfuegung stehen.
Windows 10 handhabt das wohl aber eh schlechter als Win 7, aber dass mal nur nebenbei.

Vllt. mal noch als Ergaenzung, was vorhin auch noch strange war.
Als ich nur einen Monitor angeschlossen hatte, und den dann ueber HDMI und nicht mit DP, war die Frequenz des Monitors trotzdem auf 144hz. Das sollte mit HDMI doch gar nicht moeglich sein?!
 
Ich hab nun weitere Stunden investiert und konnte folgendes feststellen, weiss nur nicht, wie ich es interpretieren kann. Ich hoffe auf eure Mithilfe!

Am Beispiel:
  • Minecraft
  • Fullscreen auf Screen 1 (WQHD)
  • OBS auf Screen 2 (FHD)
  • Beide Display laufen auf 144hz
  • OBS wurde mit Direct3D Renderer und optionalen OpenGL Renderer getestet = Kein Unterschied in den Ergebnissen

OBS offen

Max. Framerate120
VSYNCON und OFF
MSI Afterburner OSDDirect3D, konstante 240fps

Max. Framerate30
VSYNCON und OFF
MSI Afterburner OSDDirect3D, konstante 60fps

Max. Framerate60
VSYNCON und OFF
MSI Afterburner OSDDirect3D, Springt zwischen 150-180fps

OBS geschlossen

Max. FramerateUnlimited
VSYNCOFF
MSI Afterburner OSDOpenGL, konstante 260fps

Max. FramerateUnlimited
VSYNCON
MSI Afterburner OSDOpenGL, konstante 144fps

Max. Framerate140
VSYNCON und OFF
MSI Afterburner OSDOpenGL, konstante 140fps

Max. Framerate60
VSYNCON und OFF
MSI Afterburner OSDOpenGL, konstante 60fps

Am Beispiel:
  • Green Hell
  • Fullscreen auf Screen 1 (WQHD)
  • OBS auf Screen 2 (FHD)
  • Beide Display laufen auf 144hz
  • OBS wurde mit Direct3D Renderer und optionalen OpenGL Renderer getestet = Kein Unterschied in den Ergebnissen
  • MSI Afterburner OSD bleibt ob mit oder ohne OBS immer auf Direct3D
  • Ob VSync im Spiel an oder aus macht keinen Unterschied

Framerate im Spiel begrenzt durch Hz144hz
Framterate im MSI Afterburner OSDkonstante 105

Framerate im Spiel begrenzt durch Hz70hz
Framterate im MSI Afterburner OSDkonstante 105

Framerate im Spiel begrenzt durch Hz60hz
Framterate im MSI Afterburner OSDkonstante 105

Jedes mal wenn ich die Grafik-Settings zurueckgehe, ist die Einstellung auf 144hz. Das Monitor OSD zeigt immer die 105hz an.

Da kann doch irgendwas nicht stimmen?!
 
Zuletzt bearbeitet:
So, ich mal wieder.
Ich hab mal wieder ein wenig rumprobiert und habe folgendes feststellen koennen:

Spiele, bei denen Preview sowie Recording mit 60fps funktioniert:
  • Mordhau (Unreal Engine)
  • Gears 5 (Unreal Engine)
  • Cuphead (Unity)
  • Kerbel Space Program (Unity)
  • The Forest (Unity)

Interessant bei Cuphead sowie The Forest ist, dass wenn ich VSync ausschalte, bei beiden Spielen der Monitor auf 60hz geht und die Frames auf 60fps limitiert werden. Schalte ich es an, gehts auf 144hz/bis max144fps.
Bei Kerbal geht beim ausschalten von VSync der Monitor auf die vollen 144hz und die Frames gehen im Menu auf die 1000 zu.

Spiele, bei denen schon das Preview ruckelt (was sich letztendlich auch auf die Aufnahme auswirkt)
  • Green Hell (Unity)
  • 7 Days To Die (Unity)
  • Rust (Unity)

Green Hell ist das einzige der drei, was bei der Wahl der Aufloesung auch noch die Refreshrate anbietet. Interessant ist hierbei, dass ich zwar zu andere Frequenzen wie 120, 80 und 60 durcklicken kann, das aber bei Uebernahme (Bildschirm wird kurz schwarz) nicht uebernommen wird. Es bleibt bei 144hz. Vollkommen egal ob VSync oder nicht.

Selbiges Phaenomen kann ich bei Hollow Knight beobachten. Ebenfalls Unity, ebenfalls wird eine niedrigere Refreshrate als 144 nicht uebernommen.

Außerdem ist mir aufgefallen, dass es laut OSD meines Monitors bei Spielen, die auf 60fps gelockt sind, zu Abweichungen in der Hertzzahl von etwa +/- 4hz des Bildschirms kommt.
Ist das normal?
Ergänzung ()

Ebenfalls Interessant:
Wenn ich im OSD meines Monitors das Informationsmenu oeffne, worueber ich die Hz checke, gibt's einmal "Aktuellen Modus" und "Optimaler Modus".
Aktueller Modus ist 2560*1440@144
Als optimaler Modus wird aber 2560*1440@60 angegeben.

Das wirft irgendwie nur noch mehr Fragen auf
 
Zuletzt bearbeitet:
Guten Morgen

Habe eine Frage, wie sind deine beiden Monitore angeschlossen ?

Bei mir war es einmal der Fall, dass bei mir die Vorschau in OBS geruckelt hat, weil ich OBS auf meinem zweiten Monitor offen hatte und dieser an meiner intigrierten Grafikeinheit vom Prozessor angeschlossen war, als ich dann OBS auf meinen Hauptmonitor gezogen (der an meiner Grafikkarte hängt) habe und dort dann auch aufgenommen bzw die Vorschau angeschaut habe lief alles Butterweich und so wie es sollte. Aber da du keine integrierte Grafikeinheit hast, wird das auch wahrscheinlich nicht das Problem sein.
 
Beide Monitore haengen an der 5700XT ueber Displayport. Habe aber auch schon jeweils nur einen der beiden Monitore im Betrieb gehabt. Damit ließ sich zwar der Previewscree nicht mehr verfolgen, aber in Aufnahmen habe ich das gleiche Problem wie zuvor auch feststellen koennen.

Ebenfalls hatte ich auch schon den WQHD Monitor auf FHD gestellt um zu schauen, wie es sich da verhaelt. Ebenfalls unveraendert :(
 
Ganz simpel: Hast du einfach mal versucht, die BIOS-Batterie herauszunehmen und nach ein paar Minuten wieder einzustecken? Oftmals hilft dies.
 
Nee, dass hab ich nicht versucht und hab das eigentlich auch nicht vor. Dieser Ansatz scheint mir ein wenig zu weit hergeholt
 
Wieso zu weit hergeholt? Das BIOS regelt quasi alles im PC. Durch verschiedene Einstellungen und Installationen kommt es oftmals zu Inkompatibilitäten mit dem BIOS. Generell mache ich es selber so, dass ich alle paar Monate einmal die BIOS-Batterie herausnehme, damit sich das BIOS beim Wiedereinsetzen neu konfiguriert und alles wieder super läuft. Das empfehle ich auch meinen Kunden immer.
 
Zurück
Oben