OBS Studio - Frame Drops in OBS, ohne Auslastung

  • Hey Leute,


    vielleicht könnt ihr mir ja helfen, denn ich bin langsam ein wenig am Verzweifeln mit manchen Spielen.


    Und zwar habe ich in OBS selbst Framedrops von 60 FPS auf 40 FPS runter bei manchen Spielen.

    Dabei werden die Frames durch die Renderverzögerung ausgelassen, welche dann von 0,2/0,2ms auf über 2ms teils steigt.

    Nur bei manchen, nicht bei allen und auch trotz verminderter Einstellungen.


    Beispiele hierfür wären alle Menü-Elemente von Overwatch (das reine Game läuft flüssig und im Heldenauswahlfenster droppts extrem

    oder auch New World, welches ja gestern in die Beta gestartet ist.


    Systemauslastung liegt zu keiner Zeit bei mehr als 50% von der CPU, welche das Encoding übernimmt.


    Hier mein System:

    AMD Ryzen 9 5900X

    RTX 2070 Super

    2x 32GB Ram @ 3600 MHz @ CL16

    Custom Wasserkühlung

    Gigabyte X570 Aorus Ultra

    System auf Gen4 M.2 SSD

    Spiele auf anderer Gen4 M.2 SSD


    250k Internetleitung, mit einem konstanten Upload von über 40 Mbit/s.


    Meine OBS Einstellungen:

    CPU-Priorität auf Hoch(!)

    Encoder: x264 mit CBR-Methode

    Bitrate: 6000 Kbps

    Puffer: 6000 Kbps

    Keyframe: 2

    CPU-Encoding: medium (faster getestet ohne Wirkung)

    Profil: high

    Tune: nichts

    x264 Optionen: nichts


    Ausgabe: 936p (auch in 720p mit dem faster Preset getestet)

    Skalierungsfilter: Bicubic

    Audio in 48 kHz mit 6 Audioquellen

    Cam: C922 Pro auf 720p Auflösung


    Overlay mit animierten Inhalten, wobei selbst Szenen mit minimaler Overlay-Ausstattung Probleme bereiten.


    ----


    Wie gesagt, die Auslastung im System hat noch ordentlich Luft nach oben... Die Spiele selbst laufen in WQHD mit über 100FPS.

    Egal welche Einstellungen ich im Spiel (heut erst wieder mit New World getestet) treffe, ändert sich leider nichts an den Framedrops.


    Vielleicht kennt ihr ja noch Tricks und Kniffe, womit ich die Probleme aus der Welt schaffen kann. Dankbar bin ich auf jeden Fall für jede Hilfe.

  • ich gehe jetzt mal von OBS Studio aus ...

    lass dir mal anzeigen wieso du drops hast ... also ob du "Ausgelassene Frames durch Renderverzögerung" oder "Übersprungenen Frames durch Codierungsverzögerung" hast ...

    ( das ganze findest du unter Ansicht -> Docks -> Statistiken ) keine sorge drops allgemein sind normal es dürfen halt nur nicht zu viele werden unter anderem bei starten des streams oder Szene Wechsel entstehen gern mal welche ...
    ( nvm hast du ja bereits beantwortet :D )

    2ms ist aber noch wenig ... meine liegt im schnitt bei 4-6ms gelegentlich sogar 10 und ich habe keine Probleme
    ... bedenke eine Sekunde hat 1000ms ergo bei 60 Frames ist alles unter 16ms schnell genug ;D


    des weiteren ist dein Download von 250K irrelevant der Upload ist entscheidend ob da alles an kommt ...

    6000 Kbps sind zu viel ( was du hoch lädst müssen andere auch wieder runter laden und wenn da jemand mit einer Bambus Leitung sitzt hat dieser Buffer Party :D ) 4500 sind für 720p60 vollkommend ausreichend ( das selbe sollte für die 936p60 gelten )

    eine Kombination mit AMD und Nvidia ist meist auch nicht zu empfehlen wenn du schon eine NVidia Grafikkarte hast empfehle ich dir auch über den "NVidia NVEC Encoder" zu gehen ( sofern die Graka da noch genug Luft hat ) die ist einfach schneller als der CPU beim Encodern


    da die drops aber wie du selber sagst nicht bei allen spielen vorkommen ist dein PC wahrscheinlich einfach nur etwas überlastet ( nur weil keine 100% genutzt werden heißt es noch lange nicht das Spiel + Streaming problemlos funktioniert ) oft hilft da auch einfach die Einstellungen im Spiel etwas herunter zu schrauben.

    deine animierten Overlays sind diese .MOV oder .WEBM ...
    .MOV frisst einfach zu viel Speicher wenn nötig und möglich konvertiere dir diese zu .WEBM

    ping zum Twitch Server ist ebenso entscheidend vielleicht einfach mal den Standort wechseln ( und nicht vergessen Twitch arbeitet gerade extrem viel an Ihrem Dienst )

    hier mal die optimalen Settings empfohlen von Twitch
    https://stream.twitch.tv/encoding/

  • Nagel mich nicht auf die 2ms fest, kann auch mehr sein. Ich kanns grad nicht mehr genau sagen.

    Zumindest ist es definitiv wegen der Renderverzögerung.


    Download war mein Fehler. War spät, war braindead und hatte mehrere Stunden Zocken und Login-Warteschlange.

    Natürlich zählt der Upload, welcher jedoch genauso stabil und ausreichen ist. ^^


    Die Leute mit der Bambusleitung. Joa, sry. Pech gehabt. Ich habe einen Mindestanspruch an die Qualität, weswegen ich in 936p streame.

    Die meisten Male habe ich auch das Encoding. Also zumeist eh kein Problem.


    Wenn die 4500 für 936p reichen, dann ist das fine. Dann sollte sich OBS ja eh nicht mehr nehmen wie nötig.

    Zaubert ja keine Datenpakete her, die nicht existieren und schickt die an Twitch.

    Lassen wir also einfach mal entspannt bei 6000.


    AMD und Nvidia ist nicht zu empfehlen? Alter Mythos, der aus Zeiten stammt, in den meine Bulldozer CPU noch High-End war.

    Gehe ich nicht weiter drauf ein, sry.


    Ja, NVENC wäre eine Alternative, welche performanter ist. Das war mir jedoch auch so klar und auch leider nicht Ziel der Sache.

    Ich möchte meinen x264 Codec ordentlich zum Laufen bekommen. Dafür habe ich mir ursprünglich einen 5900X angeschafft und ordentlich Geld in das System gesteckt.

    Über x264 habe ich halt dennoch noch mehr Kontrolle in Bezug auf die Qualität, wie mit NVENC.


    Und nein... Er ist nicht überlastet. Denn wie ich oben geschrieben habe, bringt eine Einstellung auf 720p mit Preset faster auch keine Besserung.

    Ergo hat das nichts mit Überlastung zu tun, wenn ich von den Anforderungen her runter gehe, sich dort aber nichts bessert.

    Einstellung im Spiel runterschrauben? Ich denke du warst beim Schreiben genauso müde wie ich bei meinem Eröffnungsbeitrag. ;-)


    Ping zum Twitch-Server hat nichts mit übersprungenen Frames durch Renderverzögerung zu schaffen. Lassen wir also auch außen vor.


    Die animierten Overlay-Inhalte sind bereits .webm


    --


    Ich probiere jetzt dann später mal ein bisschen aus.

    Ich werde es mal mit 1080p bei 50 FPS, dafür mit geringerem Preset versuchen.

    Mal sehen wie sich das auf die Qualität auswirkt.


    Irgendwie lässt mich das Gefühl nicht los, dass es eventuell auch mit dem Downscaling zu tun hat, da es von 1440p zu 936p schon nen Stück ist.

  • in welchem Zeitraum hast du die Dropped Frames? Über den gesamten Stream lang? Wenn ja das ist irrelevant...ich habe bei einem Stream von 4-5 Stunden ausgelassene Frames von 50-100...das ist vollkommen zu verschmerzen mMn


    Die Leute mit der Bambusleitung. Joa, sry. Pech gehabt. Ich habe einen Mindestanspruch an die Qualität, weswegen ich in 936p streame.

    Die meisten Male habe ich auch das Encoding. Also zumeist eh kein Problem.

    Diese Einstellung finde ich im vollen Maße unfreundlich...du streamst ja schließlich für die Zuschauer und nicht für dich.


    eine Kombination mit AMD und Nvidia ist meist auch nicht zu empfehlen wenn du schon eine NVidia Grafikkarte hast empfehle ich dir auch über den "NVidia NVEC Encoder" zu gehen ( sofern die Graka da noch genug Luft hat ) die ist einfach schneller als der CPU beim Encodern

    Da muss ich auch sagen das ist albern...mein Streaming PC hat ebenfalls eine Nvidia Grafik neben einem Ryzen 3900x und alles läuft sauber...


    Und nein... Er ist nicht überlastet. Denn wie ich oben geschrieben habe, bringt eine Einstellung auf 720p mit Preset faster auch keine Besserung.

    Ergo hat das nichts mit Überlastung zu tun, wenn ich von den Anforderungen her runter gehe, sich dort aber nichts bessert.

    Einstellung im Spiel runterschrauben? Ich denke du warst beim Schreiben genauso müde wie ich bei meinem Eröffnungsbeitrag.

    Und du hast warscheinlich nicht seinen Beitrag aufmerksam gelesen. Er redet auch von Overlay sachen. Animierte overlays, die mov sind, verbrauchen einfach zu viele Ressourcen. Und Renderverzögerung kommt in der Regel von der Grafikkarte. Wenn du also ein animiertes Overlay hast, dann solltest du mal schauen, ob du diese zu webm umwandeln kannst


    Irgendwie lässt mich das Gefühl nicht los, dass es eventuell auch mit dem Downscaling zu tun hat, da es von 1440p zu 936p schon nen Stück ist.

    Downscaling sollte eigentlich kein Problem sein, denn es wird ja weniger Kraft des PCs verwendet um zu rendern. Kann man ja wunderbar beobachten wenn man mit der Auflösung rumspielt. 720p...wenig auslastung....1080p viel auslastung...

  • Irgendwie lässt mich das Gefühl nicht los, dass es eventuell auch mit dem Downscaling zu tun hat, da es von 1440p zu 936p schon nen Stück ist.

    Dies kannst du einfach ausprobieren in dem du die Auflösung im Spiel mal auf 1080p umstellst. So muss er dann auch weniger runter Skalieren.

    Und zwar habe ich in OBS selbst Framedrops von 60 FPS auf 40 FPS runter bei manchen Spielen.

    ...

    ...

    Beispiele hierfür wären alle Menü-Elemente von Overwatch (das reine Game läuft flüssig und im Heldenauswahlfenster droppts extrem

    oder auch New World, welches ja gestern in die Beta gestartet ist.

    Ich habe gerade bei neueren Spielen ohne FPS Limit gehört, dass sich diese im Menü Totlaufen können und es dann optisch zu Ruckler im Menü führen kann. Dieses Phänomen hatte z.b. bei Outriders gehabt. Erst als ich die Maximal zulässige FPS beschränkt hatte, lief das spiele ohne Probleme. Manche spiele bieten dir sogar eine reine FPS Limitierung für das Menü an.


    Hast du dir hier schon mal angesehen, ob deine FPS im Menü nach oben schieße oder es andere Spuren gibt, die auf eine höre, Auslastung des Systems hinweisen. (gerade die Grafikkarte wehre hier interessant)

    Wir stehen uns manchmal selber im Weg. Vielleicht wäre ein Umweg ein Ausweg.

    Die Tat unterscheidet das Ziel vom Traum

  • Die dropped Frames steigen konstant. Ca. 6% sind permanent gedropped in der Renderverzögerung.


    Die Einstellung soll nicht unfreundlich sein. Eher im Gegenteil. Ich möchte Qualität bieten. Wenn ich schon am Üben bin permanent zu labern, muss wenigstens (das ist meine Einstellung) die Qualität gut sein. Und wer hat heute bitte keine 6k Leitung? Sry, aber selbst in meinem alten Dorf hatte ich immer mind 50 Mbit anliegen. Auf wen soll ich schauen? Die 5-10%, welche noch keinen Breitbandausbau erhalten haben? Oder eher die 90-95%, die sonst eine schlechtere Qualität hinnehmen müssen?

    Aber egal. Bei den Settings wie ich sie dort geschrieben hatte, nimmt er eh nicht die vollen 6k Upload. (Jetzt vermutlich aber schon ^^)


    Kann sein, dass ich diesen Absatz bei ihm nicht verstanden habe, jedoch ist alles mit .webm eingebunden. Keine .mov


    Am Downscaling liegts auch nicht. Habs grad vorhin ausprobiert und hat keinen Erfolg erzielt. Bin jetzt auch (mit großem Widerwillen, denn der Unterschied ist definitiv sichtbar) auf NVENC (new) geswitched, damit zumindest New World ordentlich gestreamed werden kann. Bei maximaler Qualität in 1080p60 keinerlei Probleme (daher jetzt auch vermutlich volle 6k Auslastung. ^^)

    Dies kannst du einfach ausprobieren in dem du die Auflösung im Spiel mal auf 1080p umstellst. So muss er dann auch weniger runter Skalieren.

    Ich habe gerade bei neueren Spielen ohne FPS Limit gehört, dass sich diese im Menü Totlaufen können und es dann optisch zu Ruckler im Menü führen kann. Dieses Phänomen hatte z.b. bei Outriders gehabt. Erst als ich die Maximal zulässige FPS beschränkt hatte, lief das spiele ohne Probleme. Manche spiele bieten dir sogar eine reine FPS Limitierung für das Menü an.


    Hast du dir hier schon mal angesehen, ob deine FPS im Menü nach oben schieße oder es andere Spuren gibt, die auf eine höre, Auslastung des Systems hinweisen. (gerade die Grafikkarte wehre hier interessant)

    Das habe ich auch seitdem noch im Hinterkopf. Anscheinend gab es auch durchaus Probleme mit 3090er Karten, da im Menü die FPS nicht gecapped waren. Hier haben die Entwickler aber wohl einen Hotfix gestern aufgespielt, welcher die Menü-FPS limitieren soll. Ich werde es aber gleich noch mit komplett gecappten 60 FPS versuchen.

  • Doppelposting weils im Edit vermutlich untergehen würde...


    Ich habe gerade bei neueren Spielen ohne FPS Limit gehört, dass sich diese im Menü Totlaufen können und es dann optisch zu Ruckler im Menü führen kann.

    Nicht ganz dein Weg, aber nochmal der richtige Denkanstoß... Du bist ein Stück weit Held des Tages. :-)


    FPS im Spiel auf 60 begrenzt... Somit jetzt ohne Probleme.


    Einstellungen jetzt:

    x264

    936p50

    Preset: slow

    Profil: high

    Bitrate: 6k

    Skalierungsfilter: Lanczos


    Eventuell könnte ich auch wieder auf 1080p50 gehen, das muss ich aber erstmal heute Abend beobachten.

    Die 50FPS im OBS hält er jetzt im Open World-Bereich komplett konstant, auch im Fight.

    In Städten droppen sie mir auf ca 45-47 FPS runter wegen Renderverzögerung. Hier habe ich die Spielerplaketten (Namen, Gildensymbol, etc.) als Übeltäter im Verdacht. Die kann ich aufgrund des PvPs jedoch schlecht ausmachen. Und nur für die Stadt hin und herstellen ist doof. ^^

    Ist glaube ich annehmbar, da die Qualität halt schon dennoch besser ist, als mit NVENC.


    Ich bin gerade auf der Zielgeraden. Wie gesagt... Heute Abend mit hoher Spieleranzahl nochmal nachsehen. Vielleicht auch im Fraktionskrieg, der heute noch stattfindet.

  • Wenn du Frames durch Renderverzögerung verlierst, liegt es an der Grafikkarte, die für das Rendering zuständig ist und dafür sorgt, dass in OBS Dinge angezeigt werden. Hab selbst auch ne 2070 Super. An der reinen Leistung wird es da sicherlich nicht liegen. Meiner Erfahrung nach sind es eher fehlende oder fehlerhafte Treiber oder eine falsche Einstellung im Game oder in OBS.


    Hier mal ein paar Tipps:

    - OBS immer als Admin ausführen

    - Spielemodus in Windows an

    - Spiele nur als Spielaufnahme einbinden, nicht als Fenster- oder Bildschirmaufnahme. Das verbraucht viel mehr Ressourcen. Gibt aber auch neuere Games, bei denen das leider nicht so einfach geht. Wenn du das machst, dann führt das öfters zu Problemen. Seit OBS V. 27 sollte das aber etwas besser funktionieren.

    - Achte darauf, dass die verschiedene Quellentypen dafür nicht mischst. Also nicht Spieleaufnahme, Bildschirmaufnahme und Fensteraufnahme in einer Quelle aktiv. Immer nur eins benutzen.

    - FPS begrenzen auf Hz-Zahl des Monitors (oder den doppelten Wert davon)


    Ansonsten kannst du ja mal versuchen, über NVENC zu streamen. Das läuft erfahrungsgemäß ganz gut. Unabhängig davon, dass die CPU nicht sonderlich ausgelastet ist bei dir. Das liegt vor allem daran, dass deine Grafikkarte eine eigene Einheit hat, die fürs Streaming zuständig ist. Heißt im Klartext, dass das Game von der Karte berechnet wird und in der gleichen "Sprache" an die Grafikkarte zum Streamen weitergeleitet wird. Wenn du über CPU streamst, dann muss das erst mal durch das Mainboard und alle anderen Komponenten gejagt werden, damit die CPU damit was anfangen kann (im übertragenden Sinne).


    Am Scaling per se sollte es nicht unbedingt liegen. Ich hab allerdings auch die Erfahrung gemacht, dass grad Early Access Games und Beta-Versionen eher mäßig optimiert sind. Löst natürlich nicht das Overwatch-Problem, aber ich geh mal davon aus, dass New World einfach schrottig programmiert ist und viel zu viele Ressourcen verwendet. Spiele aktuell recht gerne Grounded. Das ist auch im Earl Access und meine GPU ist beim Zocken auf Extrem und in WQHD fast durchgehend bei 70-80 °C. Kannst aber mal bei der Quelle auf 1080p stellen und bei der Ausgabe auch. Dann hast du kein Scaling drin, was eh besser für die Qualität ist und weniger Rendering-Aufwand.

  • Wenn du Frames durch Renderverzögerung verlierst, liegt es an der Grafikkarte, die für das Rendering zuständig ist und dafür sorgt, dass in OBS Dinge angezeigt werden. Hab selbst auch ne 2070 Super. An der reinen Leistung wird es da sicherlich nicht liegen. Meiner Erfahrung nach sind es eher fehlende oder fehlerhafte Treiber oder eine falsche Einstellung im Game oder in OBS.

    Die fehlerhafte Einstellung im Spiel war es ja schlussendlich. Treiber sollten alle ordnungsgemäß funktionieren, da hoffe und erlaube ich nicht, dass was nicht ordentlich läuft. ^^

    OBS starte ich immer über ein kleines Startscript (welches als Admin ausgeführt wird) und dann OBS automatisch mit hoher CPU Prio startet. Sonst darf ich jedes Mal beim Starten von OBS nochmal in den Task-Manager wechseln um dort die Prio umzustellen. Die Einstellung diesbezüglich in OBS bewirkt nämlich... genau... gar nichts. :D (auch als Admin nicht)


    Spielemodus ist komplett aus, inkl. Game Bar. Der Spielemodus führt bei mehr Leuten zu Problemen, als dass er hilft.


    Spiele sind nach Möglichkeit immer als Spielaufnahme drin.


    An Quellen sind in den Szenen immer nur folgende Typen drin: Gameaufnahme, 2x Browser-Source (mit akt. Browser-Acceleration), Mediendateien (animiertes Overlay) und Bilder


    FPS werde ich jetzt dann mal bei allen Spielen auf 60 FPS begrenzen. Monitor kann zwar 144 Hz inkl. Gsync, jedoch ist mir das Spielen in WQHD wichtiger als 144 FPS


    Ansonsten kannst du ja mal versuchen, über NVENC zu streamen.

    Wie gesagt. NVENC fällt nach Möglichkeit raus. Ich bin ja momentan auf sehr gutem Weg den x264 mit weitaus besserer Quali optimiert zu bekommen. Ist noch ein bisschen Arbeit, lohnt sich jedoch jetzt schon.


    Am Scaling per se sollte es nicht unbedingt liegen.

    Genau, Scaling war nicht das Problem. Habe ich ja oben geschrieben. 1080p als Quelle fällt raus. Wer einmal ordentlich in 1440p gespielt hat wird das nicht mehr missen wollen. ;-)

  • Hatte meine Antwort schon vorgetippt, da gab es die Beiträge noch nicht. Haha :D

    Also alles richtig, was du sagst. Meine Hinweise waren eh recht allgemein gehalten.


    Nur eine Anmerkung. Ich meinte nicht, dass du in 1080p spielen sollst, sondern nur, dass du 1080p in OBS angeben sollst als Quelle. Auf WQHD-Auflösung würd ich beim Gaming auch ungern verzichten wollen. Da bin ich voll bei dir. :)

  • OBS starte ich immer über ein kleines Startscript (welches als Admin ausgeführt wird) und dann OBS automatisch mit hoher CPU Prio startet. Sonst darf ich jedes Mal beim Starten von OBS nochmal in den Task-Manager wechseln um dort die Prio umzustellen. Die Einstellung diesbezüglich in OBS bewirkt nämlich... genau... gar nichts. :D (auch als Admin nicht)

    Also wenn ich das richtig verstehe, startest du nur das Script als Admin, jedoch nicht OBS...wenn du in die Logs von OBS schaust, siehst du ob es als Admin ausgeführt wird oder nicht...das solltest du mal prüfen...wenn da "Admin mode" = false steht weist du woran es liegt


    weil sobald du OBS als Admin startest, weist Windows OBS selbst genug Prio zu...ich habe mit meinem AMD keine Probleme mit dem Admin mode...also leistungstechnisch

  • Im Endeffekt ist es egal, wenn nicht sogar meine Variante der safe Weg.


    Ich lasse nicht Windows entscheiden ob OBS nun mehr Prio braucht oder nicht. OBS hat bei mir zu jeder Zeit immer

    die "Hoch" Prio. Hätte sie sogar gern auch Echtzeit gestellt, das geht nur leider mit Script nicht.

  • Naja. Und wenn das Game dann keine Ressourcen hat, ruckelt das Game und der Stream läuft stabil mit deinem Daumenkino. Hat halt alles Vor- und Nachteile. Solange es bei dir alles läuft, wie es soll, ist aber alles tutti, würd ich meinen.


    Fakt ist jedenfalls, dass die meisten Leute, die sagen, dass der Spielemodus böse ist, stark veraltete Infos haben. :) Da gab es mal einen Bug in Windows, der schon seit um die zwei Jahren behoben ist. Früher war es sinnvoll, den zu deaktivieren. Mittlerweile ist die Performance im Schnitt mit aber besser.

  • Im Endeffekt ist es egal, wenn nicht sogar meine Variante der safe Weg.


    Ich lasse nicht Windows entscheiden ob OBS nun mehr Prio braucht oder nicht. OBS hat bei mir zu jeder Zeit immer

    die "Hoch" Prio. Hätte sie sogar gern auch Echtzeit gestellt, das geht nur leider mit Script nicht.

    Du kannst ja die Prio im Taskmanager selbst hochstellen...oder im OBS selber...das funktioniert nämlich sehr wohl...ich hab auch darüber die Prio eingestellt...
    Aber selbst wenn die Prio hoch ist, heißt das nicht, das OBS alles bekommt wenn es nicht im Admin Modus startet...glaub mal...hier sind jede menge Leute, die irgendwelche Probleme hatten, nur weil sie OBS nicht als Admin gestartet haben...


    Kannst du in deinem Scrips nicht sagen das es OBS als Admin starten soll zusätzlich zur Prio einstellung?

  • Moin,


    also ich hatte das selbe Problem, allerdings nicht bei jeden Game. Stell mal deine Spieleinstellung auf 60 FPS im Game. Denn manche Spiele übertragen mehr FPS als du als streamer über Twitch weitergeben kannst. Das resultiert wären dann framedrops die über OBS nicht angezeigt werden, aber spürbar im stream sind. Meiner Erfahrung nach sind Ego-Shooter, Autorennspiele usw. davon betroffen. Also Spiele mit schnellen Bildwechsel.


    Probiere es mal aus. OBS Einstellung auf 60 FPS und ingame auch auf 60 FPS einstellen. Dann sollte es flüssig laufen.


    Lieben Gruß

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!