Optimierungen für AMD GPUs

Athena93

Ensign
Registriert
März 2018
Beiträge
250
Hallo zusammen,

ich bekomme mit der RX 6700 XT und einer Oculus Quest 2 bei Asgard’s Wrath nur auf ca. 50fps (mit Virtual Desktop auf Middle-Settings) und wollte fragen ob das wirklich das Limit der Grafikkarte ist oder ob man an den Einstellungen (zB Radeon Settings, Relive, Virtual Desktop, etc.) noch etwas optimieren kann um mehr rauszuholen?

Mein Setup:
  • Mainboard: ASUS ROG STRIX Z370-E
  • CPU: i7-8700K 6x3.7GHz
  • GPU: ASRock Radeon RX 6700XT Challenger PRO 12GB OC
  • RAM: 4x16GB Corsair Vengeance DDR4-3200Mhz
  • HD: Samsung 960 Evo M.2 500GB
  • Verbindung: dedicated Asus RT-AX55 AX1800 WiFi6 Router
Einstellungen:
  • Virtual Desktop: HEVC als Codec, Grafikeinstellungen auf Mittel (bei Hoch bekomme ich auf Epic nur 30fps), Bitrate auf 130Mbps (oberes Ende des Reglers), 90Hz Refresh Rate
  • In Asgard’s Wrath alles auf High oder Epic, Resolution auf 120%. Selbst auf High komme ich nicht wirklich über 60fps.
  • Die Latency liegt ca. bei 50ms (Encoding, Networking und Decoding jeweils bei 6-10ms. Game bei 15-30ms)

Gibt es Einstellungen in der Radeon Software die ich optimieren könnte? Bzw. habt ihr sonst irgendwelche Tipps um da ein paar FPS mehr rauszuholen? 50fps sind zwar noch spielbar, aber beim laufen merkt man schon dass sich die Objekte nicht flüssig bewegen. Auf Middle/Low Ingame-Settings sieht das Spiel hingegen leider gar nicht gut aus.

Spielt ihr lieber auf nativen 90fps mit schlechterer Grafik oder reichen euch 50-60fps für VR mit besserer Grafik?

Vielen Dank im Voraus für jeden Tipp!
 
Prüfe, ob du im GPU- oder im CPU-Limit bist. Hierzu gibt es im Forum auch genügend Informationen, wie du das herausfinden kannst.

Wenn du das getan hast, kann man an der Lösung des Problems ggf. arbeiten.
 
Meine Meinung:
1. Du solltest unbedingt in VD unter Streaming hoch einstellen bei deinem System. Was du gerade machst ist 2016x2112 mit 120% berechnen zu lassen (ich nehme an das sind 2419x2534) und dann wieder auf 2016x2112 runterzurechnen und zu übertragen, statt gleich 2496x2592 pro Auge zu berechnen und zu übertragen. Wenn extra Power da ist, dann in eine bessere Streamingauflösung stecken.
2. Versuch mal testweise x264 und 100 Mbit oder noch weniger, oder HEVC mit geringerer Bitrate um zu sehen ob sich dadurch die FPS verbessern, falls sich die 6700 XT wirklich so schwer mit der Codierung tun sollte.
3. Du hast bestimmt in Asgards Wrath die Auflösung auf 120% erhöht weil das alles so unscharf ist, das liegt aber am TAA, da bringt es leider wenig die Supersampling Auflösung ins Unendliche zu erhöhen. Da gibt es jetzt verschiedene Lösungen, AA auf Low, oder eben mit TAA leben. Es ist wirklich schwierig, ohne AA sieht man wie klar das Spiel eigentlich aussehen könnte (wobei TAA Low immer noch ein bisschen Unschärfe verursacht), dafür flimmert aber alles. Auf einem Screenshot würde man aber AA Low bevorzugen. Ich hab auch das Gefühl dass TAA über VD (Oculus Runtime) schärfer ist als über Revive (OpenVR Runtime). Also lieber über VD direkt starten, dann stimmt im übrigen auch die Steuerung.

Mit diesen Settings komme ich in Asgards Wrath in der ersten Szene wo man von der Schildmaid Besitz ergreift circa 90 FPS als Referenz, da passiert aber auch noch nicht viel. Keine Ahnung was die 6700 XT da erreichen sollte, aber dass du auf schlechteren Settings nur die Hälfte der FPS bekommst ist schon komisch.

VD Auflösung hoch, sonst nirgendwo die Auflösung verändert, also 100%.
AA Epic
View Distance High
Shadows High
Effects High
Textures Epic
Post Processing High

Ich würde auf jeden Fall versuchen in VD High zum laufen zu bekommen, und egal mit welchen Settings mindestens 72 FPS, da man dann auf 72 Hz umstellen kann damit es flüssig läuft (60Hz flackert). In VR Spielen bringt Epic meistens nicht viel, kannst ja ruhig mal die Settings durchswitchen und schauen wo man einen Unterschied erkennt.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Athena93 und Kraeuterbutter
@nr-Thunder
Erstmal vielen Dank für die Antwort! Mit VD-High und 100% läuft es tatsächlich etwas flüssiger (60fps) und sieht auch besser aus, wäre aber super wenn man noch ein paar FPS rausholen könnte um an 70/80fps ranzukommen. Das Anpassen der Bitrate hatte keine wirkliche Auswirkung auf Latency oder Bildqualität. Mit wieviel Mbit spielst du mit deinem System bzw. welche Latency hast du ca.?


Wieso ändert sich die Auflösung auf meinem Monitor beim Spielen auf 1920x1080? In VD habe ich "Use optimal resolution (changes monitor resolution to match streaming resolution" aktiviert, d.h. eigentlich sollte die Monitor-Auflösung damit doch auch 2496x2592 entsprechen, oder nicht? Wäre es nicht effizienter am Monitor dieselbe Auflösung auszugeben die auch an der Quest2 angezeigt wird?

Noch eine Frage zur Auflösung:
Die Quest2-Auflösung beträgt ja 1832x1920 pro Auge, das heißt die VD-High-Auflösung (2496x2592) wäre Supersampling von 1,35 und VD-Medium (2016x2112) ein Supersampling von 1,1x, richtig?
In der Oculus Rift App (wenn ich Oculus Link verwende) kann ich in den Grafikeinstellungen für die Quest2 ja auch die Render Resolution einstellen. Dort steht bei Resolution 1.0x aber 3248x1648, d.h. 1624x1648 pro Auge, also eigentlich weit unter der 1x-Auflösung der Quest2, oder? Wenn ich zB 4208x2128 wähle (also ca. die VD-Medium Einstellung mit Supersampling von 1,1x) zeigt es hingegen eine Render Resolution von 1,3x an. Versteht jemand den Unterschied zwischen den beiden?

Und hat es einen Vorteil in VD 72Hz zu wählen, falls die fps nicht drüber gehen oder wirkt es mit 90Hz trotzdem flüssiger bzw. hätte das irgendeinen Vorteil?

@Blubblub CPU scheint nicht das Problem zu sein, also eher ein GPU-Limit oder die falschen Einstellungen.

Nochmal Danke für die Hilfe!
 
1. Wenn das reduzieren der Bitrate keine Verbesserung brachte, wieder hoch auf HEVC und 130 Mbit, war nur ein Ansatz weil man den AMD GPUs nachsagt dass nicht so gut bei der Codierung sein sollen. Aber wenn hier kein Bottleneck ist ruhig hoch stellen. Ich hab einen Asus RT-AX58U, und lass eigentlich auch auf 130 MBit, weil bei mir ab mehr der Network Input Lag größer wird. Ich komme so auf 50ms gesamt Lag die relativ stabil gehalten werden. 40ms bekomme ich nur im Menü wenn der GPU Lag nur bei 1-2 ms liegt.
2. Der gerenderte Desktop ist eher wie ein separater Monitor, da ist FHD ressourcenschonender. Viel mehr Pixel braucht es auch nicht da er sich ja in der Regel nicht über das gesamte FoV erstreckt.
3.1. https://developer.oculus.com/blog/h...the-architecture-pipeline-and-aadt-explained/
Wenn du wissen möchtest wie es technisch funktioniert. Was man aber daraus ziehen sollte, ist dass der Compositor für Warping und Distortion (und SS als Nebeneffekt) für die Linsenkorrektur erst auf der Quest 2 tätig wird. Bei Oculus Link, ist die Renderresolution über Oculus Home gleichzeitig die übertragene Auflösung die maximal für den Compositor zur Verfügung steht (maximal 2704x2736 pro Auge, bei VD geringer da laut dem Entwickler es sich performancetechnisch nicht lohnt). Wenn du über SteamVR oder das Spiel mehr rendern lässt, als übertragen wird, wäre das zwar noch SS, aber quasi einmal SS ohne Warping- und Distortionkorrektur und einmal mit (->doppelt, super ineffizient). Die maximal möglichen Auflösungen zur Übertragung sind bereits sehr hoch.
3.2. Und jetzt zu deiner eigentlichen Frage, der Nomenklatur vom Supersampling, vergiss es am besten.
a. Je nach Hardware und Refresh Rate erfindet Oculus neue 1,0x SS Werte, daher nicht zu gebrauchen.
1617449110215.png
1617449133967.png

b. Was bei Oculus 2,0 SS theoretisch wäre, ist bei SteamVR 400%. Länge mal X vs Pixel mal X.
-> Eigentlich ist nur eine Sache interessant, welche Auflösung steht dem Compositor zur Verfügung, wie das wo benannt wird, egal.
4. Bei VR ist V-Sync immer an, zusätzlich gibt es kein ASW bei VD (Link kann auch die halben FPS interpolieren). Daher 72 FPS @ 72 Hz flüssig, 72 FPS @ 90Hz nicht flüssig. Wenn man aber jetzt nur 40 FPS hätte und nicht mal auf 72Hz kommt, würde ich eher 90 Hz lassen. Was bei der Quest 2 halt passiert, ist dass sie bei geringerer Bildwiederholrate mehr flackert. Für mich war es ab 60 Hz in hellen Szenen sehr sichtbar, obwohl 60Hz @ 60 FPS sonst gut spielbar wären. Ab 72 Hz war es gut genug.

Optimierungsvorschläge:
60 FPS klingt schon nach einem normalen Wert, da die 6700XT langsamer ist, 72 FPS oder mehr werden noch gut gehen. Ich würde als erstens Schatten/Effekte/PostProcessing auf Mittel stellen. AA auf High ist auch i.O.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Athena93
@nr-Thunder Vielen Dank für die ausführlichen Infos!

Nachdem ich auch mit den Medium-Settings nicht viel mehr FPS bekommen habe, bin ich jetzt auf die Sapphire Nitro+ 6900 XT umgestiegen und habe damit noch seltsamere Probleme: im normalen Modus (ohne OC) ist das Encoding (HEVC) scheinbar extrem langsam mit 30-40ms Latency, wodurch die Gesamt-Latency bei 70-80ms lag und das Spiel durch die Ruckler nicht spielbar war. Also habe ich im Radeon-Tool die GPU mit Auto-Tuning auf 2584 Mhz übertaktet. Damit war auch das Encoding-Problem behoben (wieder 10ms wie bei der 6700 XT).

Allerdings komme ich mit denselben Settings trotzdem nicht wirklich über 60fps hinaus, mit allen Einstellungen auf Epic eher so 50fps. Erst wenn ich die meisten Sachen auf Low drehe (was auch nicht spielbar wäre) komme ich in Richtung 70/80 fps bis ein Systemabsturz kam. Ich nehme an der Absturz kam vom zu hohen Stromverbrauch (habe aktuell nur ein 650W-Netzteil), wobei auch die CPU-Auslastung keinen Spike zeigt, liegt im Schnitt nur bei 26% bei 4.3Ghz Boost.

Ich versteh nicht ganz wieso ich mit der 6900 XT (die ja zumindest auf dem Niveau deiner 3080 liegen sollte?) nicht auf mehr fps komme, v.a. da die GPU laut MSI Afterburner im Schnitt eine Auslastung von 50-80% hat, also ja eigentlich noch Platz nach oben wäre, oder?

Meinst du es liegt an meiner CPU? Oder wieso schafft die GPU hier nicht mehr FPS und kommt nie nur annähernd an die 90? Dafür, dass die 6900 XT doch einiges mehr Leistung als die 6700 XT haben sollte, finde ich den Sprung mit ein paar FPS schon ein wenig enttäuschend.

Anbei noch die Grafik von MSI Afterburner:

msi4.pngmsi1.pngmsi2.pngmsi3.png


Bin dankbar für jeden Tipp/Hinweis was ich falsch mache!
 
Bist du eventuell von Nvidia zu einer AMD Karte gewechselt?
Ich habe von einer 1080 ti auf eine 6900XT gewechselt und anfangs auch einige merkwürdige Performance Probleme in manchen Anwendungsszenarien gehabt.
Ich musste letztendlich Windows neu installieren. Ich habe schon öfter zwischen Nvidia und amd gewechselt und DDU war bisher immer genug. Dieses Mal wohl nicht...
 
@Athena93 Erstmal ein großes HMM, das ist jetzt mehr Bugsuche als einfache Optimierung.
1. Gründe gegen CPU-Limit: Du hast 63 FPS und trotzdem ist der Kern mit der größten Auslastung nur bei 60%. Langsam ist der 8700k auch nicht, von den Settings her sollten Schatten und Post Processing da noch den größten Einfluss haben. Ein CPU-Limit könnte zwar prinzipiell erklären warum eine 6900XT nicht mehr liefert, passt hier aber nicht (oder mein 5800X hat mindestens 50% mehr IPC Yolo).
2. Du scheinst ja eigentlich sowohl über Link als auch VD mit Revive oder direkt die gleichen FPS Probleme zu haben, also in die Richtung müssen wir denke ich auch nicht schauen. Außerdem ist es einfach strange dass die 6900XT nicht besser performt als die 6700XT.
3. Mach mal einen Screenshot mit dem Performance Overlay von VD und dem SteamVR GPU Graph (unter Entwickleroptionen). Du kannst über VD die Option für Screenshots auf den Desktop aktivieren, dann machst du über die rechte Menü Taste ganz normal ein Foto, und es landet auf dem Desktop inklusive der Overlays. Schalte außerdem mal den Afterburner und RTSS sowie Freesync aus. Außerdem ins Blaue geraten, jegliche RGB/Optimierungssoftware die nicht nötig ist mal beenden.
4. Glaube auch dass man bei der GPU schauen sollte, Auslastung und Takt schauen nicht gut aus, das schwankt ja extrem. Vielleicht einfach mal einen fixen Takt einstellen, also nicht mal OC, einfach nur 2.000 Mhz fix. Treiber gründlich neu installieren ist auch keine schlechte Idee.

VirtualDesktop.Android-20210404-153729.jpgVirtualDesktop.Android-20210404-153547.jpg
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Athena93
@Mracpad Nein, hatte davor nur eine RX 590 und eine 6700XT. Habe auch mit DDU den vorigen Treiber deinstalliert und jetzt sowohl Adrenalin 21.3.1 als auch 21.3.2 probiert.
Bei ersterem stürzt Oculus überhaupt gleich beim Laden des Spiels ab... und scheinbar hat DDU auch meinen Spielstand gelöscht, netter Nebeneffekt ;-)

Ich versteh's wirklich nicht. Wenn das Netzteil überlastet wäre, müsste es doch einen Blackscreen geben? Und wenn die CPU der Flaschenhals wäre, müsste die CPU-Auslastung doch weit höher sein als das oben in den Grafiken mit 20-50% angezeigt wird, oder übersehe ich da etwas ganz grundsätzliches? Schön langsam bin ich ein bisschen am verzweifeln... :-(
Ergänzung ()

@nr-Thunder
Danke für die Tipps!
Auffällig ist, dass seit ich auf die 6900XT umgestiegen bin, Encoding im roten Bereich (20-40ms) liegt, während es mit der 6700XT immer so bei 10ms lag. Wirkt fast so als ob die Karte so damit überfordert wäre, dass sie mit den FPS gar nicht nachkommt. Mit H264 ist es noch schlimmer (für AMD wird HEVC empfohlen soweit ich gelesen habe).

Afterburner/RTSS ist deaktiviert, FreeSync sowieso (hab auch keinen kompatiblen Monitor). Habe jegliche Software/Hintergrunddienste beendet, nur AMD Radeon läuft im Hintergrund (damit habe ich die GPU übertaktet), soll ich die auch beenden?

Meinst du mit fixen Takt einstellen einen Mindest-Takt oder Max-Takt? In den Radeon-Settings kann ich beim manuellen Übertakten hier beides einstellen:
AMD.png

Meinst du kann es am Netzteil liegen und sobald die Karte ausreichend bzw. stabil Strom bekommt läuft sie auch stabiler? Oder würde man das eher durch einen kompletten Crash merken?
 
Zuletzt bearbeitet:
@Athena93 Ja die Vermutung kann schon stimmen, vielleicht entstehen Engpässe durch die starken Taktschwankungen, wobei man dann aber auch stark schwankende FPS haben sollte. Ich weiß nur wie man über den Afterburner übertaktet, aber nach meinem Verständnis sollte der Takt relativ fix bleiben wenn du für Min und Max die gleichen % wählst. Wenn es bei den 2500 Mhz abstürzt wie gesagt eher auf 2000-2250 gehen. Man sagt den neuen GPUs zwar viel Stromverbrauch nach, aber wenn du die 6900 XT mit 2000 stabil betreibst sollte das NT eigentlich mitkommen.

Also ich bin jetzt seit November dabei, und hinter manche Probleme an meinem System bin ich erst nach Wochen gekommen, in der Ruhe liegt die Kraft. Auch mal andere Spiele testen, wenn die laufen kannst du ja in der Zwischenzeit Spaß haben.
 
  • Gefällt mir
Reaktionen: Athena93
@nr-Thunder
Ich hab jetzt mit Radeon 2000Mhz als Max eingestellt (Minimum auf 1900, muss wohl mind. 100Mhz auseinander liegen). Leider genau dasselbe, sobald ich auf Spiel laden gehe bzw. ein neues erstelle, stürzt das Spiel mit VD als auch mit Oculus Link durch einen Fatal Error ab:

FatalError.png

Ich werd mir wohl am Dienstag ein BeQuiet Straight Power 850W besorgen (oder muss es ein Dark Power sein?), aber irgendwie bezweifle ich dass es wirklich nur daran liegt.
Schön langsam hab ich eher ein bisschen Bedenken, ob die Grafikkarte vielleicht kaputt ist, da ja alles sogar mit der 6700XT stabiler lief, und ich sie jetzt umtauschen muss... mühsam das Alles :-/
 
@nr-Thunder weil ichs jetzt erst sehe, wieso läuft VD bei dir über OpenVR? Bei mir steht da die Oculus Runtime... dachte OpenVR geht nur bei SteamVR-Spielen? Oder wie kann man das auswählen?
 
@Athena93 der Fatal Error scheint ein aktueller Fehler bei Asgard zu sein, den haben ein paar im Entwickler Discord auch https://discord.com/invite/sJRFA44. Eigentlich sollte das ein Update im März für viele gefixt haben, aber da kannst du vielleicht einen Errorlog dem Entwickler weitergeben. OpenVR hab ich weil ich es über Revive gestartet habe, weil ich zuerst über SteamVR Screenshots machen wollte, was aber dann doch keine Overlays mit fotografiert.

Wie gesagt auch mal was anderes probieren, Asgards Wrath ist nicht gerade das unproblematischste Spiel. Dass die GPU an sich defekt ist halte ich für sehr unwahrscheinlich.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Athena93
Kurzes Update, vielleicht hilft es ja jemandem in Zukunft. Die Blackscreens/Systemabstürze lagen wohl wirklich am Netzteil, mit einem Dark Power 850W funktioniert es bisher reibungslos.

Dank einer OS-Neuinstallation haben sich auch die Performance-Probleme gelöst. Ich bekomme jetzt mit Oculus Link und allen Einstellungen auf Epic (und 100% inGame-Resolution), Link-Resolution auf 1.5x (also 4848 x 2448) auf konstante 90fps, sieht wirklich toll aus. Auf 1.6x und 1.7x funktioniert es auch noch und ist auch angenehm flüssig (wobei eher 70fps), aber ab und zu gibt es leichte Ruckler/Flackern, also bleibe ich vorerst bei 1.5x. Die 6900XT ist dazu auf 2685Mhz übertaktet (ohne Undervolting) und läuft bisher stabil.

Auch das Encoding-Problem bei VD ist jetzt behoben, mit VD-High und allen Game-Settings auf Epic, 130Mbps komme ich auf ca. 70-80fps und 40ms Gesamt-Latency (Encoding/Decoding/Network jeweils bei 6-7ms). Im Vergleich muss ich aber sagen, dass Oculus Link schon deutlich schärfer wirkt als VD (gerade in der Anfangssequenz bei den Planeten merkt man es).

@nr-Thunder Danke nochmal für die Geduld und die Hilfe!
 
  • Gefällt mir
Reaktionen: nr-Thunder
gut, lags nun am nt oder an der neuinstallation?
oder hast du erst eins ausprobiert und getestet und dann das andere, oder beides gleichzeitig?
 
@usmave Ich hab zuerst Windows 10 neuinstalliert nachdem ich ständig Fatal Errors und Performance-Probleme hatte. Die waren damit erstmal behoben, also vielleicht hat da echt noch ein alter Treiber irgendwo mitgespielt (obwohl ich DDU verwendet habe).
Trotzdem hatte ich dann aber noch random Blackscreen/Systemabstürze beim Spielen (ohne auffälligen Spitzen/Überlastung in MSI Afterburner). Also Netzteil getauscht und mittlerweile schon mehrere 1-2h-Sessions gehabt ohne Abstürze, also letztendlich waren sowohl Neuinstallation und Netzteiltausch wichtig.
 
  • Gefällt mir
Reaktionen: usmave
Zurück
Oben