[Guide] Optimales Streaming mit der Ryzen 3900x / 3950x

  • Moin Leute,


    ich wollte hier mal einen kleinen Leitfaden schreiben, der sich an Nutzer der Ryzen 3900x richtet.
    (Theoretisch auch für den kommenden 3950x, hierfür einfach die Zusätzlichen Threads beachten)
    Ich verwende keine Bilder aufgrund der DSGVO. Habt Verständnis.


    Der Ryzen 3900x ist das neueste Flagschiff von AMD, welcher 12 Kerne / 24 Threads auf bis zu 4,6 GHZ bietet. In den folgenden Abschnitten will ich euch etwas näher bringen, wie ihr die 24 Threads für das Streaming optimal nutzen könnt. Da Programme / Spiele häufig die ersten Kerne/Threads benutzen, stehen OBS und Spiele oft im Konflikt um die CPU Ressourcen, deswegen werden wir hier eine Trennung festlegen.


    Empfohlene Voraussetzungen:
    - AMD Chipset Treiber für euren Chipsatz (X470 / X570 / B450) - Bspw. hier der X570 Chipsatz Treiber : https://www.amd.com/de/support/chipsets/amd-socket-am4/x570
    - Process Lasso
    - Letztes AGESA ABBA BIOS (sofern für euer MB schon vorhanden)


    Unser Hauptziel ist es, OBS und Spiele CPU-Technisch voneinander zu trennen.
    Die Chipset Treiber sowie das letzte BIOS Update sind für die allgemeine Verbesserung des Systems verantwortlich.
    Durch die Installation der Chipsatz treiber werden in den Energiesparoptionen neue Pläne angelegt.


    Durch Drücken der Windows Taste und der Eingabe von "Energie" , solltet ihr die Option "Energiesparplan Bearbeiten" bekommen.
    Sobald ihr dies Offen habt wählt den "AMD High Performance" Plan aus. Somit läuft eure CPU vielleicht nicht sehr sparsam, dafür sind alle Cores unparked und bieten die höchst mögliche Performance.


    Nun kommen wir aber zum Kern des Ganzen, Process Lasso.
    Process Lasso ist ein "freemium" Programm zum Verwalten eurer Prozesse, wie der Task-Manager, nur etwas tiefergehender.
    Wichtig ist für uns eigentlich nur die Funktion CPU Angehörigkeit.


    Sobald ihr Process Lasso installiert habt und es startet, werdet ihr mit einem "Task-Manager-ähnlichem" Fenster begrüßt, der all eure Prozesse und relevante Daten anzeigt.
    Um nun die CPU Angehörigkeit dauerhaft festzulegen, müssen wir folgendes tun.


    Wir fangen mit OBS an, da wir OBS nur einmal Einstellen müssen:
    -Starte OBS
    -Suche in Process Lasso den Prozess "OBS.exe" und mach Rechtsklick drauf.
    -CPU Zugehörigkeit -> Immer -> CPU Zugehörigkeit festlegen.


    Nun sollte sich ein neues Fenster mit CPU0 bis CPU23 öffnen.
    Entfernt alle Haken von CPU0 - CPU11 und schließt das Fenster mit "ok"
    Nun sollte neben dem OBS Prozess im Reiter CPU Zugehörigkeit 12-23 stehen.
    Nun haben wir erfolgreich OBS den letzten 12 Threads zugewiesen.


    Den selben Schritt müsst ihr nun mit der .exe eures gewünschten Spiels machen.
    Das heißt, Spiel starten, Process Lasso öffnen, den Prozess des Spiels raussuchen, rechtsklicken, CPU Zugehörigkeit -> immer -> CPU Zugehörigkeit Festlegen.
    Und im neuen Fenster weist ihr dem Spiel nur die ersten 12 Kerne zu, das heißt Die Haken bei CPU12 - CPU23 rausnehmen.
    Nun sollte beim Prozess des Spiels 0-11 stehen.


    Grund des Performance Schubs ist, dass auf dem CPU Chiplet nochmal 2 Chips mit jeweils 6 Cores / 12 Threads sind welche mit dem "Infinity Fabric" verbunden sind.
    Wenn wir die CPU Angehörigkeiten trennen, laufen OBS und die Spiele autonom voneinander.


    Process Lasso sollte automatisch mit Windows starten, das heißt ist es einmal eingestellt, muss man sich nicht mehr darum kümmern, außer ggf. neue Spiele den richtigen Cores zuzuweisen.


    Das sollte es auch schon gewesen sein!




    Meine Beobachtung hat festgestellt, dass das Spiel sowie der Stream in der Regel viel besser laufen als ohne Trennung der Kerne.
    Ich habe 0,9 - 1,5ms Frametimes und praktisch 0 gedroppte Frames, fast egal was ich Spiele (getestet mit bspw. Apex, PUBG, WoW, Spyro-Re-Ignited)


    Hier nochmal meine OBS Settings:
    x264
    Preset: Medium
    Resolution 1536x864p (16x Bicubic Downscaling) (900p auch möglich)
    Bitrate 6000
    Keyframe 2



    Nochmal paar persönliche Tips:
    -Stream wenn möglich nicht über Twitch (Browser) schauen, falls ihr euren Stream nebenbei anschauen wollt - nutzt am besten die OBS Preview.
    Der offene Browser mit Stream macht ganz komische Sachen mit der Stream Performance.
    -Macht in OBS die Statistiken auf (OBS->Ansicht->Docks->Statistiken) und schaut nebenbei mal drauf um sicherzustellen dass die Performance richtig ist (Stabile Frametimes etc.)


    Es ist wirklich wahnsinn was die CPU Leisten kann wenn man Sie richtig einstellt.
    Ich habe mir paar mal ernsthaft überlegt, einen Stream-PC anzuschaffen, doch das Konfigurieren sowie das 2 PC's an sein müssen hat mich abgeschreckt.
    Mit der 3900x kann ich nun mit sehr leichten Performance-Einbußen alles Streamen was sich mir in den Weg stellt, und das in einer Super Qualität!


    Ihr habt eine 3900x, oder habt vor euch eine 3900x zuzulegen?
    Dann probiert doch diesen Trick aus und schreibt gerne eure Erfahrungen damit!
    Vielleicht habt ihr noch ein Verbesserungsvorschlag / Performance Tipp? Her Damit!


    (Ich habe vieles aus meinem Gedächtnis geschrieben - falls ich einige Menüpunkte falsch benannt hab, hat mich meine Erinnerung getrübt, sorry x) - sollte im Großen und Ganzen aber genau so ablaufen)


    VG!

  • Sehr schöner Guide. Der 3900x ist schon ein feines Teil. Die Frage, die sich mir stellt:
    Theoretisch müsste das trennen ja auch mit anderen CPUs gehen, also beispielsweise auch mit dem 3600(x) oder dem 2700(x). Wäre das sinnvoll? Gerade der 3600 hat ja „nur“ 6 Kerne und 12 Threads. Beschneidet man dadurch dann eventuell die Leistung oder macht das auch da Sinn?

  • Theoretisch müsste das trennen ja auch mit anderen CPUs gehen, also beispielsweise auch mit dem 3600(x) oder dem 2700(x). Wäre das sinnvoll? Gerade der 3600 hat ja „nur“ 6 Kerne und 12 Threads. Beschneidet man dadurch dann eventuell die Leistung oder macht das auch da Sinn?

    Das ist ne gute Frage, leider für mich schwer zu Beantworten.
    Man könnte es testen, aber ich würde dann schon eher ab der 3700 drauf schauen (8c/16t) .


    Rein geschätzt würde ich sagen bei 6c/12t würde man sich hier Spieleleistungstechnisch beschneiden, vorallem wenn das Spiel eine gute Multicore-Leistung hat.


    Bei 8c/16t müsste man mal schauen wie sich das Performance-Technisch verhält.


    Die Besonderheit bei der 3900x ist eben, dass sich auf dem Chiplet 2 CCD's (Core Chiplet Dies) befinden, anstatt wie üblich nur 1.
    Jeder dieser CCD's hat 8cores/16Threads, wovon 2 Cores von AMD Deaktiviert wurden. = 6c/12t je CCD
    Die kommende 3950x hat dann wohl die 2 Restlichen Cores halt aktiviert womit man auf die angegeben 32 Threads kommt (2x 16 threads)


    Wie erwähnt läuft aufjedenfall OBS dadurch fast komplett autonom vom Rest des Systems.
    Die Spiele teilen sich die Leistung wie üblich in den ersten 12 Threads mit anderen Programmen.


    Dieser Guide ist quasi ein Denkanstoß... vielleicht gibts ja ein Trick um noch mehr Leistung rauszuholen (mehr Cores für Spiele, weniger für den Stream)
    Aber widerrum würde man dann ein teil des 2. CCD's nutzen und damit die Stream-Leistung etwas beinträchtigen (intabilere Frametimes mögl.)
    Es gibt viel Raum zum Probieren, aber CCD0 und CCD1 streamtechnisch zu trennen macht erstmal am meisten Sinn.


    Das Problem bei den Ryzen 7 etc wäre eben, dass auf dem Chiplet nur 1 CCD ist, und man nur innerhalb die CPU Angehörigkeit teilen würde.
    Möglich ist es bestimmt, aber beim 3900x hat es eben den größten Performance-Schub wegen den 2 CCD's.


    Edit: hier nochmal ein Link zu der 3900x / 3700x, etwas runterscrollen da kann man die Chips geköpft sehen. Dann macht es vlt etwas sinn was ich hier grad erzähle :D
    https://www.tomshardware.com/r…-7-3700x-review,6214.html




    VG

  • Hallo zusammen,
    ich habe mich mal registriert um mich hier einklinken zu können.
    Ich besitze ebenfalls den 3900x auf einem TUF x470 Gaming plus. GraKa ist eine Sapphire rx5700xt Nitro und die 16GB RAM sind von Corsair und Takten wie sie sollen auf 3000mhz.
    Habe mal versucht, alles einzustellen wie du es vorgeschlagen hast. Trotzdem habe ich 2-3% übersprungene Frames durch Kodierungsverzögerung. Ich habe alles versucht und Probiert, aber der Fehler tritt sogar vereinzelt bei fast auf.
    Vielleicht fällt euch ja noch etwas ein. LG Bodo

  • Ja, es sind mehrere Fenster und Programme offen.
    Streamlabels, Streamlabs Chatbot, Firefox um meinen Stream zu überwachen und ggfs andere Streams zu supporten, TS3 und OBS.
    Ich habe es natürlich auch schon versucht mit so wenigeR Fenstern bis gar keinen Fenstern. Es hat keine Verbesserung gebracht.
    Ich hatte vorher nen Ryzen 2700 und ne Vega 64, da hatte ich nie Probleme mit der Kodierung bei gleichen Settings.
    Hab aufgerüstet um das Spiel an sich in höheren Settings spielen zu können.
    LG und schöne Feiertage...

  • Ein Nachteil am Single-Stream PC Setup ist, dass du auf deinem 2 Monitor höchstens die Preview von OBS nutzen solltest.


    Wenn du deinen Stream auf Twitch als Fenster im 2 Monitor aufhast, muss die Grafikkarte den Stream Hardware(GPU) beschleunigt darstellen.


    Soviele "Abfragen" von der Grafikkarte gleichzeitig können sich auf die Performance des Streams auswirken.


    Wenn deine CPU während des Streams im Task Manager nicht auf 100% springt, ist er nicht der Übeltäter.


    Wenn du die Einstellungen oben befolgt hast und trotzdem Frames droppst, musst du in anderen Stellen deines Systems schauen.


    Bei mir läuft nach wie vor jedes Spiel ohne Probleme.

  • Vielen Dank für deine Antworten,


    ich versuche dann noch einmal den Stream ohne die Streamüberwachung per Browser auf dem 3. Monitor.



    Vielleicht ist es ja echt so Simpel.
    Wobei es einfach nicht in meine Birne will, dass OBS Studio mit so einem Setup Codierungsprobleme bekommt.


    Weder GPU und CPU noch Ram laufen am Limit...


    Gruß Bodo

  • Moin,


    das Problem mit mehreren Monitoren kommt von Windows, da kann deine Hardware noch so stark sein.
    Wenn ein Monitor z. B. 144 Hz und der andere 60 Hz hat, kann es sein, dass wenn auf dem 60 Hz Monitor Bewegung ist (Videos, OBS Preview, etc.), der 144 Hz Monitor auch nur 60 Hz bekommt, was dann zu Laggs oder OBS Problemen führen kann.
    Leider ist dieses Problem etwas tückisch, bei manchen funktioniert es, bei anderen nur ab und zu... es scheint irgendeine Kombination aus bestimmter Hardware, Windows und Treibern zu sein.


    Um all deine anderen Einstellungen zu checken, wäre es hilfreich, wenn du in OBS Studio mal über Help > Log Files > Upload Current Log File, deine derzeitige Protokolldatei hochlädst und den OBS-Link hier postest.
    Am besten, nachdem der Stream mindestens 30 Sekunden lief und deine angesprochenen Probleme auftraten.


    Gruß
    Zitrone

  • Hallo und guten Morgen,


    Windows 10 64Bit Pro habe ich schon 2x neu aufgesetzt, inklusive aller Treiber.
    Diese Fehlerquelle hatte bisher noch niemand auf dem Schirm.
    Danke dafür!
    Kann ja mal testen, wie sich mein System verhält, wenn ich den 144hz Monitor gar nicht erst anschließe. Die anderen beiden sind nämlich nur 60hz...
    Die Log Datei werde ich dann bald folgen lassen...


    Gruß Bodo



  • Gibts bei dir schon Neuigkeiten @Bodo200984?

    Bitte macht für diesen Fall einen seperaten Thread auf. da sich das Problem augenscheinlich nicht um die 3900x/3950x dreht.
    Die Grundkonfiguration auf dem Rechner von @Bodo200984 scheint nicht korrekt / für das Streaming optimiert zu sein.


    Dazu bitte einen neuen Thread mit allen benötigten Details eröffnen.


    Sollte es Verbesserungsvorschläge für das Tutorial oder Probleme geben, die durch das Tutorial entstanden sind, so schreibt es gerne weiterhin hier rein.


    BITTE BEACHTET, DASS DIES IMMER NOCH EIN SINGLE-PC STREAMING SETUP IST.
    DAS BEDEUTET, DASS IHR TROTZDEM MIT DEN LIMITIERUNGEN EINES SINGLE-PC STREAMING SETUPS LEBEN MÜSST.


    DAS HEIßT, DIE ANZAHL AN MONITOREN SOWIE FENSTERN, DIE 3D-BESCHLEUNIGTE INHALTE DARSTELLEN, SOLLTE SO GERING WIE MÖGLICH GEHALTEN WERDEN. AUCH ANDERE PROGRAMME DIE DIE LEISTUNG VON OBS BEEINFLUSSEN KÖNNTEN SOLLTEN ZUERST GEPRÜFT WERDEN.




    Meine 3900x rennt auch heute noch wie ein Gepard.
    Garkein Spiel hatte auch nur 0,00000001% dropped frames, nur wenn ich rein/rausgetabbt bin.
    Preset ist auf Medium (und rc lookahead 60 und spatial direct prediction - slow parameter) und ich hab immer noch 40% - 50% Luft nach oben.


    Das Problem muss woanders liegen.


    Falls dir die OBS Einstellungen nicht vertraut sind / du sie nicht verstehst - schau gerne in mein OBS Tutorial (nur einstellungen)
    https://trzcrew.tv/obs-einstellungen-101/


    Ebenso achte darauf wenn möglich immer Spieleaufnahme zu benutzen.
    Mit der 3900x kannst du eigentlich auch jedes Spiel in der Desktopaufnahme ohne dropped frames aufnehmen,
    aber da geht gerne mal die Ingame-performance in die Knie. Jedenfalls bei den Meisten MP Games.
    Bei vielen Singleplayer Games (wie zum beispiel SW Jedi fallen order) konnte ich auf Ultra mit Desktopaufnahme ohne dropped frames aufnehmen.
    Die CPU ist einfach zu stark.


    VG

  • Guten Abend,


    habe selbst auch den 3900x und heute die Einstellungen aus dem Thread vorgenommen.


    Lediglich die Resolution war 720p60, Downscalefilter war Lanczos 32 Samples, Profil "high", Prozessorauslastungsvoreinstellung "medium".


    Ergebnis: keine verworfenen Frames, Stream lief Butterweich
    Spiel: HUNT: Showdown

  • Guten Tag zusammen,
    also ich habe noch etwas herumgespielt und egal was ich einstelle bekomm ich den Fehler mit der Kodierungsüberlastung. Erst wenn ich die 900p60fps auf fast einstelle, läuft es mit „nur“ 0,2-0,5 übersprungene Frames durch Überlastung.
    Ich kann dir @luckylucian0o in dem Punkt, es handelt sich immer noch um 1 PC Streaming, nicht zustimmen. Wenn meine Spiele und OBS entsprechend eingestellt sind, dass Netzwerk und Spiele 0,0 ausgelassene Frames haben und mein System nicht annähernd seine Grenzen erreicht, muss es ja eine andere Fehlerquelle haben. Ein größerer Streamer Nilson1489 hat sich mein Setup sogar schon per Teamviewer angeschaut und gesagt, reicht locker für diese Qualität im Stream.
    Dachte ihr könnt mir abschließend helfen, aber ihr habt ja leider auch keine weiteren Ideen mehr.
    Trotzdem vielen Dank für eure Rückmeldung und eure Hilfe...
    LG Bodo

  • Dachte ihr könnt mir abschließend helfen, aber ihr habt ja leider auch keine weiteren Ideen mehr.


    Trotzdem vielen Dank für eure Rückmeldung und eure Hilfe...
    LG Bodo

    Wir können dir auch nur soweit helfen, wie gesagt, wäre gut wenn du einen Thread eröffnest mit allen Daten die du uns geben kannst (Einstellungen, Specs, logs, etc)


    Bitte beachte auch, dass wenn du Szenen baust, Optimalerweise nur 1 Spieleausgabe sichtbar hast und alle andern Ausgaben (Desktop ö.Ä) ausblendest oder aus der Szene nimmst.
    Mehrere Desktop/Gameaufnahmen können die Performance ebenso stark beeinträchtigen.


    edit.: Was ein Streamer Kollege gerade hatte - wenn du verschiedene Anschlüsse auf 3 Monitoren benutzt, könnte das auch für Probleme sorgen.
    Wenn möglich, alle monitore mit Displayport oder HDMI anschließen , nur DP wäre optimal)




    VG

  • Hallo Ihr da draußen, erstmal danke an razoraH für deinen Beitrag, hat mir sehr geholfen, hab da aber noch ne Anregung, man kann bei dem Spielen via Task-Manager schauen wie viele Kerne genutzt werden, um dann die Settings genau anzupassen, also einfach schauen wie viele und welche Kerne eine große Auslastung haben beim Spiel und dann diese dem dann zuweisen. Bei kleineren CPUs mit weniger Kernen kann man so abwägen wie viel man dann auch das System beschneidet und so einen guten Mittelweg finden das der PC noch gut performt.

  • Hallo zusammen, ich hab mir vor ein paar Wochen endlich auch einen Ryzen 3950x gegönnt und wollte damit Streamen, bin leider eben genau auf die Problematik mit den CPU Cores gestoßen. Weil mir ProcessLasso in der Benutzung etwas zu umständlich war, habe ich mir dafür ein kleines Programm geschrieben. Solange es ausgeführt wird, werden automatisch alle neuen Prozessen der ersten Hälfte an Cores zugewiesen und OBS der zweiten Hälfte an Cores.


    In dem Konsolenfenster erscheint auch für jeden Prozess ein Hinweis welchen Cores dieser zugewiesen wurde. Wenn das Fenster geschlossen wird arbeitet alles wieder wie gewohnt. Daher sollte das Programm gestartet werden bevor man OBS, das Spiel und andere Programme startet.


    Der Aufruf sieht folgendermaßen aus: CShield.exe "OBS.exe"


    Ich habe das mal hier hochgeladen: Download


    PS: Das Programm muss zur Überwachung der Prozesse als Administrator ausgeführt werden


    Edit: Mir ist aufgefallen, dass das mit dem Ryzen 3950x aufgrund der 32 Cores/Threads leider nicht ganz sauber funktioniert. Deshalb sollten dort die Cores direkt folgendermaßen spezifiziert werden:


    CShield.exe "OBS.exe" 0x0000FFFF 0x7FFF0000

    Einmal editiert, zuletzt von TechHeini () aus folgendem Grund: Workaround für Ryzen 3950x

  • Hi,
    ich habe einen ryzen 9 3900x und eine rtx 2080.


    Ich streame Apex Legends und benutze eine full hd 144hz monitor.


    Seit 1 Monat ruckelt der ganze Stream, wenn ich ein Match in Apex Legends joine.


    Obs zeigt in dem Moment dann encoding overloaded.


    Anfangs lief mit x264 preset medium alles super, doch dann fing das mit dem overload an, darauf habe ich das preset auf fast gestellt, dass ging dann eine Weile, bis vor 1 Woche.


    Jetzt bin ich auf nvenc new preset quality umgestiegen, doch genau das gleiche Problem ist aufgetreten.


    Im Match selbst laggt dann überhaupt nichts, eben nur beim joinen und verlassen eines Matches.


    Ich benutze einen output von 900p 60fps und eine bitrate von 6000.


    https://obsproject.com/logs/pp3YBbJRmKmXeIpD hier mein Logfile.



    Ich bin wirklich am verzweifeln!


    Außerdem stellt sich mein Energieplan jedes mal auf automatisch zurück nach dem Neustart.


    Vor dem Stream ändere ich diesen jedoch immer auf Ryzen High Performance.


    Process Lasso benutze ich genauso wie vorgeschrieben.



    Vielleicht habt ihr ja ein paar Ideen für mich.


    Liebe Grüße Tyrogos

Jetzt mitmachen!

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