Asgard's Wrath: Texturen sind teilweise extrem verschwommen

Thilo87

Cadet 3rd Year
Registriert
Jan. 2020
Beiträge
33
Hallo,

ich weiß, dass mein System nicht den Mindestanforderungen von Asgard's Wrath entspricht. Ich habe eine AMD FX8350, GeForce GTX 970 mit 4 GB RAM, 16 GB System-RAM und eine SSD. Bei niedrigsten Grafikeinstellungen läuft Asgard's Wrath bei mir allerdings mit einer akzeptablen Framerate. Ich habe nur dieses kleine Problem:

OculusScreenshot1579021835.jpeg


Es passiert manchmal, dass einige Texturen geladen werden, andere nicht. Auch wenn ich diese verschwommenen Texturen längere Zeit ansehe, werden sie nicht geladen. In einigen Umgebungen im Spiel werden allerdings alle Texturen richtig geladen. Das Spiel setzt eigentlich 8 GB Grafikkarten-RAM voraus und die 4 GB sind laut Taskmanager schnell voll, aber sollte in einem solchen Fall dann nicht automatisch der System-RAM verwendet werden (gemeinsamer Videospeicher)? Dann würde es zwar länger dauern, bis die Texturen geladen sind, aber sie sollten dennoch früher oder später geladen werden.
Komischerweise funktioniert es bei der Textureneinstellung "epic", auf "low", "medium" oder "high" aber nicht (Asgard's Wrath verwendet die Unreal Engine 4).

Kann mir jemand helfen? Es würde mir nichts ausmachen, wenn die Texturen etwas länger bräuchten, um geladen zu werden. Aber ich kann nicht auf "epic"-Textureneinstellungen spielen, dann ruckelt das Spiel viel zu stark.

Danke,

Thilo
 
Thilo87 schrieb:
ich weiß, dass mein System nicht den Mindestanforderungen von Asgard's Wrath entspricht
Damit ist doch schon alles gesagt, oder nicht?
 
  • Gefällt mir
Reaktionen: Grimba
Asghan schrieb:
Damit ist doch schon alles gesagt, oder nicht?

Es kommt darauf an, welche Framerate man als für sich "akzeptabel" betrachtet. Und bis auf dieses Problem mit den manchmal extrem verschwommenen Texturen läuft es bei mir auf den niedrigsten Grafikeinstellungen ziemlich gut und für mich völlig ausreichend. Vielleicht kann man bei den verschwommenen Texturen ja noch was machen, dann bräuchte ich mir kein neues System kaufen.
 
Du hast zuwenig vram. Sollte das alles aus dem RAM nachgestreamt werden, würdest du während des Spielens dir nach und nach den RAM vollpacken, weil immer mehr darauf wartet, dargestellt zu werden. Den Overhead erspart sich die Engine. Und das ist auch gut so. Was du siehst, muss im VRAM sein, zumindest bis man es nicht mehr sieht. Das ist ja nicht alles irgendwann geladen und dann "weg" oder so. Da müsste also ständig das dargestellte ausgetauscht werden.
 
Zuletzt bearbeitet:
Grimba schrieb:
Du hast zuwenig vram. Sollte das alles aus dem RAM nachgestreamt werden, würdest du während des Spielens dir nach und nach den RAM vollpacken, weil immer mehr darauf wartet, dargestellt zu werden. Den Overhead erspart sich die Engine. Und das ist auch gut so. Was du siehst, muss im VRAM sein, bis man es nicht mehr sieht. Das ist ja nicht alles irgendwann geladen und dann "weg" oder so. Da müsste also ständig das dargestellte ausgetauscht werden.

Und warum funktioniert es dann bei "epic"-Textureneinstellungen? Ich meine SSD -> RAM und dann während des Spielens RAM -> VRAM -> Darstellung, oder direkt SSD -> VRAM -> Darstellung (während das Spiel läuft). Vielleicht wird das bei den "epic"-Einstellungen so gemacht, weil davon ausgegangen wird, dass der PC "epic" genug ist, um das zu schaffen, selbst wenn er nicht genügend VRAM hat? Aber es wird bei "epic" eben gleichzeitig auch die Auflösung der Texturen erhöht, was das Ganze noch anspruchsvoller macht.
Ich habe gelesen, dass der "gemeinsame GPU-Speicher" genau dafür da ist, dass er quasi als VRAM verwendet werden kann, falls der VRAM der Grafikkarte mal nicht reichen sollte.
 
Ganz einfach:

Dein Monitor hat a x b Pixel, bei FullHD z.B. 1920x1080.

Für jeden dieser Pixel muss für ein komplettes Bild eine Farbe bekannt sein, die er jetzt darstellen soll, das sind deine FPS. Und dein Monitor aktualisiert halt x mal pro Sekunde alle Pixel, das sind sie Hz des Monitors.

Da FPS bekannterweise eine leistungsabhängige Größe sind, liegt also nicht zu jeder Aktualisierung zwingend ein neues Bild vor, FPS und Hz sind also entkoppelt, solange nicht Vsync, Gsync etc. zum Einsatz kommen.

Alles, was die Grafikkarte benötigt, um für alle 1920x1080 Pixel einen neuen Wert (komplettes Bild) parat zu haben, muss im VRAM vorhanden sein.

Entweder ist die nötige Information schon da (genug VRAM) und muss nur erneut abgerufen werden, oder sie wird frisch ausgerechnet oder von woanders nachgeladen. Texturen werden für gewöhnlich fertig geliefert, und alles, was an Effekten dazugerechnet wird, landet auch im VRAM.

Die letzten beiden Fälle sind durch den Rechen- und/oder I/O Overhead langsamer, als wenn alles abrufbar im VRAM wäre. Daher ruckelts halt auf epic, mehr als 4GB werdens halt nicht.

Dreh deine Spielfigur um, und deine Graka muss erstmal sehen, wo sie jetzt die nötigen Daten herkriegt, um das nächste Bild darzustellen. Da nicht für alles immer genug Platz ist, wird also zwangsläufig vorhandenes überschrieben. Ergo: Drehst du dich erneut, muss auch bereits dargestelltes nochmal neu irgendwo bezogen werden. Ob jetzt aus RAM oder neu berechnet. Informationen sind nicht einfach so da...

Und da normaler RAM, zusätzlich zum Overhead, von RAM in VRAM zu kopieren, deutlich langsamer ist, als VRAM an sich, ersteht zwangsläufig ein Flaschenhals.

Insbesondere bei Spielen, die 8GB vorraussetzen für Epic. Also hast du entweder ne schöne Diashow, oder flotte Matsche.

Und ja, es gibt Situationen, in denen werden RAM Bausteine für VRAM verbaut bzw. der verbaute Arbeitsspeicher des Rechners für die integrierte GPU genutzt. Im ersten Fall ist halt der VRAM recht lahm und das lohnt offensichtlich nur bei sehr langsamen GPUs, sonst würde die ständig auf Daten warten, egal wie schnell sie rechnet. Und im zweiten Fall ist der verwendete Betrag Speicher vom RAM fest abgezweigt. Also was immer du gelesen hast, es hilft dir in deiner Situation nicht.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Kraeuterbutter
Danke für die ausführliche Antwort! Ja, eigentlich möchte ich die schöne Diashow - dass ich bei nur 4 GB VRAM Abstriche machen muss, ist mir klar. Momentan habe ich halt die flotte Matsche. Es gibt ja Config-Dateien für die Unreal Engine 4 und "Texture Streaming"-Settings (https://docs.unrealengine.com/en-US/Engine/Content/Types/Textures/Streaming/Config/index.html). Ich weiß nur nicht, welche Einstellungen ich in den .ini-Dateien von Asgard's Wrath genau setzen muss, um die schöne Diashow anstatt der flotten Matsche zu bekommen.
 
Zudem kommt bei deiner GTX970 noch dieses Problem zum Tragen:

https://www.heise.de/newsticker/mel...t-4-GByte-RAM-schnell-angebunden-2528588.html

https://www.computerbase.de/artikel/grafikkarten/geforce-gtx-970-vram-speicher-benchmarks.48120/

D.h. ein Achtel deines Grafikspeichers läuft mit deutlich geringerer Geschwindigkeit als der Rest, was bei der VRAM Nutzung dieses Spiels eben dann auch zwangsläufig zu Problemen führt.

Hier mal Geschwindigkeiten zum Vergleich:
GTX970 GDDR5 RAM, volle Geschwindigkeit 3,5GB ca. 196 GB/s
GTX970 GDDR5 RAM, eingeschränkte Geschwindigkeit 0,5GB ca. 28 GB/s
DDR3 1866 ca. 14,9 GB/s, hängt aber von vielen Faktoren ab, sehr grober Wert nur zur Orientierung.
Die SATA SSD sieht hier eh kein Land mehr mit Brutto max. 6GB/s.

Du siehst also, dass VRAM und RAM in ganz anderen Ligen spielen. Und auch wenn das jetzt schnell aussieht, denk dran, unabhängig jetzt mal vom Kopieroverhead, um einen idealen Wert von 60 FPS passend zur Hz Zahl des Monitors zu bekommen, hast du eben auch nur ein Sechzigstel einer Sekunde pro Bild Zeit, alle Daten parat zu haben, woher auch immer die kommen. Also musst du die Werte eben schon dafür durch 60 rechnen. Das ist natürlich alles grob gerechnet, aber mal zur Vorstellung.

Da die GPU aber sicher auch mit viel Rechenarbeit beschäftigt ist, deren Ergebnisse ja auch im VRAM landen, ist es an dieser Stelle natürlich nicht hilfreich, wenn ständig Texturen neu nachgeladen werden müssen, weil im VRAM nicht genug Platz ist, um die Daten dort dauerhaft vorzuhalten. Und natürlich beeinflussen höher aufgelöste Texturen auch den Darstellungsaufwand für die GPU, weil mehr Farbwerte pro Fläche zu berücksichtigen sind.

Das mit dem Streaming ist ja eine Nette Idee, aber, wie du selber geschrieben hast, das Spiel setzt 6-8GB VRAM voraus. D.h. der Streamer wird alle Mühe haben, für die Situationen die richtige Texturauflösung zu liefern, wenn alles dargestellte darauf abgestimmt ist, etwa das doppelte deines VRAMs zu haben. Vermutlich wirst du da nicht besonders viel reißen können, zumal deine CPU auch deutlich unterhalb der minimalen Systemanforderungen ist. So, wie du es beschreibst, tut der Streamer bereits sein bestes. Bei Epic ist der Streamer halt aus, und es wird immer das schönste auf die Polygone geklatscht, egal wie hoch der Aufwand ist.
 
Zuletzt bearbeitet:
das beste wäre wohl:
die GTX 970 für 70 Euro auf ebay verticken..
und dann 150Euro drauflegen und sich z.b. einen gebrauchte, 8GB 1070 zu holen

ich hab damals bei meiner Classic-VIVE von Anfangs 970 auf 1070 gewechselt, und das hat viele VR-Spiele erst vernünftig spielbar gemacht

also die 100-150Euro (aufpreis) sind es wert
 
  • Gefällt mir
Reaktionen: slogen und Grimba
Grimba schrieb:
Hier mal Geschwindigkeiten zum Vergleich:
GTX970 GDDR5 RAM, volle Geschwindigkeit 3,5GB ca. 196 GB/s
GTX970 GDDR5 RAM, eingeschränkte Geschwindigkeit 0,5GB ca. 28 GB/s
DDR3 1866 ca. 14,9 GB/s, hängt aber von vielen Faktoren ab, sehr grober Wert nur zur Orientierung.
Die SATA SSD sieht hier eh kein Land mehr mit Brutto max. 6GB/s.

Ist ein Argument. Zumal mein RAM auch nicht der schnellste ist mit seinen 800 MHz. Wäre wohl, selbst wenn das mit der Diashow irgendwie klappen würde, eine zu langsame Diashow.

Ich frage noch mal in einem UE4-Forum, ob man mit den Engine-Settings irgendwie so eine Diashow hinbekommt, um zu sehen, ob das noch erträglich ist, ansonsten muss ich mir wohl oder übel eine neue Grafikkarte holen. Danke für die Antworten!
 
Grimba schrieb:
Die SATA SSD sieht hier eh kein Land mehr mit Brutto max. 6GB/s.
6Gbit/s, nicht 6GByte/s! SATA 6Gb/s packt maximal ~550MB/s.

Thilo87 schrieb:
Zumal mein RAM auch nicht der schnellste ist mit seinen 800 MHz.
womit ausgelesen? wird vermutlich 1600er sein. das DDR steht für Double Data Rate.
 
Korrekt, entschuldige meine Ungenauigkeit. Bei den ganzen GB/s und Gb/s kommt man schon mal durcheinander. Ich meine aber tatsächlich das gleiche, ist einfach ein Tippfehler.
 
Zurück
Oben