Warum müssen Schattierungen vorbereitet werden?

2 Antworten

"Schattierungen werden vorbereitet" ist eine falsche Übersetzung aus dem englischen "preparing Shaders" - das Wort "Shader" wird im deutschen Sprachgebrauch in Bezug auf Computer normalerweise nicht übersetzt und haben mit Schatten auch nicht direkt etwas zu tun.

Shader sind besondere Recheneinheiten der Grafikkarte die spezielle, immer wiederkehrende Grafikberechnungen in Echtzeit durchführen. In der Regel sind dies Beleuchtungseffekte, Spiegelungen oder Verformungen (im Spiel Hogwarts Legacy z.B.: sich bewegende Wasseroberflächen, Verzerrungen durch Hitzeflimmern oder Effekte beim Zaubern).

Diese Shader müssen bei jedem Spielspart für diese Effekte programmiert werden. Das kostet etwas Zeit, da sehr komplexe Rechenoperationen durchgeführt werden.

Woher ich das weiß:Studium / Ausbildung

Es müssen nicht nur Schatten, sondern auch vieles andere vorbereitet werden, was aber durchaus schneller geht.

Aber Schatten sind in Spielen eine der aufwändigsten Grafikdarstellungen. Das merkt man zum Beispiel, wenn man die Schatten deaktiviert, hat man auf einmal einige FPS mehr. Einfach ausgedrückt liegt das daran, dass die Schatten im Vorfeld errechnet und generiert werden müssen, weil das mit bisher gängigen Grafikkarten nicht in Echtzeit passieren kann, da es viel zu viel Rechenleistung benötigt. Das bedeutet, dass die Schatten im Vorraus unter anderem von der Grafikkarte in den Speicher geladen werden müssen, um diese dann im Spiel direkt abrufen zu können. Die sind sozusagen schon vorgefertigt und müssen im Spiel dann nur noch aus dem Speicher geladen werden, um das System zu entlasten.

Mittlerweile gibt es aber bereits Grafikkarten, welche die Schatten in Echtzeit berechnen können, das wäre dann das sogenannte Raytracing, welches von der Nvdia RTX-Reihe unterstützt wird. Diese Grafikkarten haben extra Raytracing Prozessoren, die sich alleine um die Licht/Schatten und Reflektionsdarstellung kümmern und diese in Echtzeit berechnen können. Dadurch müssen Schatten nicht mehr im Vorraus geladen werden, sondern können im Spiel in Echtzeit von den Raytracing Kernen berechnet werden. Und da dies ziemlich viel Rechenleistung benötigt, gibt es halt diese Raytracing Prozessoren in der Grafikkarte, die nur dafür zuständig sind. Somit ist der eigentliche Grafikprozessor und die CPU entlastet.

Woher ich das weiß:eigene Erfahrung

HerrGandalf  10.01.2025, 11:32

Dieser Beitrag ist inhaltlich falsch.

Bei dem Wort "Schattierungen" handelt es sich um einen irreführenden Übersetzungsfehler.

Es werden bei Hogwarts Legacy, wie auch in anderen mir bekannten Spielen keine Schattentexturen zur Laufzeit vorberechnet. Schattendarstellung von bewegten Objekten erfolgt zwangsweise immer in Echtzeit.

Raytraycing fähige Grafikkarten (egal ob von AMD, Intel oder nVidia) können die Darstellung von Licht, Schatten und Spiegelungen zusätzlich verbessern - kosten in Spielen wie Hogwarts Legacy dann aber viel Leistung und belasten auch die CPU zusätzlich.

Ob also Raytracing genutzt wird oder nicht, die Shader werden bei jeder Grafikkarte beim Spielspart vorbereitet bzw. Programmiert.