Krik
Fleet Admiral
- Registriert
- Juni 2005
- Beiträge
- 14.774
Sicher, die Stärke der GPU ist wichtig, die Speicheranbindung ist allerdings genauso wichtig.
Ist die GPU zu lahm, wird das Spiel langsam. Ist die Speicheranbindung zu lahm, wird das Spiel ebenfalls langsam.
Heutzutage wird ein spürbarer Anteil der Rechenleistung dafür verwendet, um auszuwählen, was wann geladen und entladen werden muss. ZB bei einer open world, also einer Spielwelt ohne Ladebildschirm, muss das kontinuierlich passieren, weil Grafik-RAM im Normalfall einfach deutlich kleiner ist, als das was an Daten zur Verfügung steht. Es betrifft aber nicht nur Modelldaten sondern auch Texturdaten. Spiele bestehen heute zu ca. 80-90% nur aus Texturdaten. Wenn man sich anschaut, dass AAA-Titel gerne mal 20-30 GB groß sind, dann wird deutlich, wie wichtig das Assetmanagement ist. Bei diesen Datenmengen ist es einfach von Vorteil, diese nicht dauernd vom RAM in den VRAM schieben zu müssen.
Und mal noch ein anderes Beispiel:
FullHD-Auflösung: 1920x1080
Farbtiefe: 32 Bits (= 4 Bytes)
Framerate: 60 fps
Erforderlicher Datendurchsatz für die Erstellung der neuen Frames*1: 1920 * 1080 * 4 * 60 = ~475 MB/s
Erforderlicher Datendurchsatz für das Auslesen der fertigen Frames*2: ~475 MB/s
*2 Diese Frames sind fertig und müssen ausgelesen werden, damit die Daten an den Monitor/TV übertragen werden können.
Aus *1 und *2 ergibt sich, dass für die Ausgabe eines FullHD-Bildes in 32 Bits Farben in 60 für, mindestens eine Datenrate von 2 * 475 = 950 MB/s verfügbar sein muss. Einfach nur für diese einfache Aufgabe.
Wenn man jetzt noch bedenkt, dass oftmals für diverse Effekte Teile eines Bildes mehrfach berechnet werden müssen (insbesondere Spiegelungen sind arg), steigt die benötigte Datenrate enorm an. Nehmen wir mal den Blick durch ein Fenster, der den ganzen Bildschirm ausfüllt. Da wird einmal ein FullhD-Bild mit der Fenstertextur berechnet, auf die dann auch noch Shader und Effekte angewendet werden. Zum zweiten muss noch das Bild hinter dem Fenster berechnet und mit dem Fenster verrechnet werden. Natürlich auch mit diversen Effekten und Shadern. Der schiebt da andauernd Daten durch die Gegend.
Er berechnet hier jetzt schon zwei Bilder, die miteinander verrechnet werden. Jetzt stelle man sich vor, da fährt ein Auto unter dem Fenster vorbei, natürlich mit verchromten Stoßstangen und durchsichtigen Fenstern. Da berechnet er dann zusätzlich wieder Scheiben, den Innenraum, die Scheiben auf der anderen Seite des Fahrzeugs und das, was man dahinter sehen kann. Bei den verchromten Stoßstangen muss eine Spiegelung der Umgebung errechnet werden. Natürlich muss auf alles auch wieder Effekte und Shader angewendet werden.
Die erforderliche Leistung steigt hier quasi exponentiell an. Man hat schon viele Tricks erfinden müssen, um das einigermaßen im Zaum zu halten, sonst gäbe es bei der heutigen Grafikpracht kein flüssiges Bild mehr.
Ist die GPU zu lahm, wird das Spiel langsam. Ist die Speicheranbindung zu lahm, wird das Spiel ebenfalls langsam.
Heutzutage wird ein spürbarer Anteil der Rechenleistung dafür verwendet, um auszuwählen, was wann geladen und entladen werden muss. ZB bei einer open world, also einer Spielwelt ohne Ladebildschirm, muss das kontinuierlich passieren, weil Grafik-RAM im Normalfall einfach deutlich kleiner ist, als das was an Daten zur Verfügung steht. Es betrifft aber nicht nur Modelldaten sondern auch Texturdaten. Spiele bestehen heute zu ca. 80-90% nur aus Texturdaten. Wenn man sich anschaut, dass AAA-Titel gerne mal 20-30 GB groß sind, dann wird deutlich, wie wichtig das Assetmanagement ist. Bei diesen Datenmengen ist es einfach von Vorteil, diese nicht dauernd vom RAM in den VRAM schieben zu müssen.
Und mal noch ein anderes Beispiel:
FullHD-Auflösung: 1920x1080
Farbtiefe: 32 Bits (= 4 Bytes)
Framerate: 60 fps
Erforderlicher Datendurchsatz für die Erstellung der neuen Frames*1: 1920 * 1080 * 4 * 60 = ~475 MB/s
Erforderlicher Datendurchsatz für das Auslesen der fertigen Frames*2: ~475 MB/s
*2 Diese Frames sind fertig und müssen ausgelesen werden, damit die Daten an den Monitor/TV übertragen werden können.
Aus *1 und *2 ergibt sich, dass für die Ausgabe eines FullHD-Bildes in 32 Bits Farben in 60 für, mindestens eine Datenrate von 2 * 475 = 950 MB/s verfügbar sein muss. Einfach nur für diese einfache Aufgabe.
Wenn man jetzt noch bedenkt, dass oftmals für diverse Effekte Teile eines Bildes mehrfach berechnet werden müssen (insbesondere Spiegelungen sind arg), steigt die benötigte Datenrate enorm an. Nehmen wir mal den Blick durch ein Fenster, der den ganzen Bildschirm ausfüllt. Da wird einmal ein FullhD-Bild mit der Fenstertextur berechnet, auf die dann auch noch Shader und Effekte angewendet werden. Zum zweiten muss noch das Bild hinter dem Fenster berechnet und mit dem Fenster verrechnet werden. Natürlich auch mit diversen Effekten und Shadern. Der schiebt da andauernd Daten durch die Gegend.
Er berechnet hier jetzt schon zwei Bilder, die miteinander verrechnet werden. Jetzt stelle man sich vor, da fährt ein Auto unter dem Fenster vorbei, natürlich mit verchromten Stoßstangen und durchsichtigen Fenstern. Da berechnet er dann zusätzlich wieder Scheiben, den Innenraum, die Scheiben auf der anderen Seite des Fahrzeugs und das, was man dahinter sehen kann. Bei den verchromten Stoßstangen muss eine Spiegelung der Umgebung errechnet werden. Natürlich muss auf alles auch wieder Effekte und Shader angewendet werden.
Die erforderliche Leistung steigt hier quasi exponentiell an. Man hat schon viele Tricks erfinden müssen, um das einigermaßen im Zaum zu halten, sonst gäbe es bei der heutigen Grafikpracht kein flüssiges Bild mehr.