Shader-Cache: Definition und wie sie sich auf die Spieleleistung auswirkt | ITIGIC (2024)

GPUs sind Prozessoren wie CPUs, aber sie unterscheiden sich darin, dass ihre Parallelität Thread-orientiert ist. Deshalb wird gesagt, dass ein Grafikprozessor vom TLP-Typ ist, während ein zentraler vom ILP-Typ ist. Hinzu kommt, dass sich die Ausführungsthreads im Graphen zwar nicht an den Prozessen, sondern an den grafischen Primitiven oder den Daten orientieren.

Shader-Cache: Definition und wie sie sich auf die Spieleleistung auswirkt | ITIGIC (1)

Mit anderen Worten, jedes Dreieck, Pixel oder Fragment hat sein eigenes Shader-Programm für jede Stufe der 3D-Pipeline. Die in einer Hochsprache geschrieben ist, zum Beispiel HLSL, wenn wir über DirectX sprechen, oder GLSL, wenn wir über OpenGL oder Vulkan sprechen. Obwohl es auch einige gibt, die nur für bestimmte Systeme gelten, wie z. B. das PSGL von SONY Playstation Konsolen. Nun, diese Programme müssen kompiliert und daher vom Quellcode an die Binärdatei übergeben werden.

Was ist Shader-Cache?

Shader-Cache: Definition und wie sie sich auf die Spieleleistung auswirkt | ITIGIC (2)

Das Problem tritt auf, wenn im Gegensatz zu CPUs, bei denen alle x86 sind, bei GPUs der Satz von Registern und Anweisungen nicht gemeinsam ist, nicht zwischen Marken, sondern auch zwischen Architekturen derselben Marke. Das bedeutet, dass der Code der Shader während des Spielens kompiliert werden muss, was zu Rucklern und Performance-Problemen führt. Daher wird die generierte Binärdatei in einer Datei gespeichert, die beim erneuten Laden des Spiels erneut auf den Videospeicher der Grafikkarte geladen wird, den wir als Shader-Cache oder Shader-Cache kennen.

Wenn wir also unsere Grafikkarte aktualisieren, müssen diese für jedes unserer Spiele neu generiert werden, wenn wir sie von der Festplatte löschen oder die SSD auch. Darüber hinaus ist dies einer der Gründe, warum es nicht gut ist, eine Grafikkarte zu beurteilen, wenn wir zum ersten Mal ein Spiel spielen. Vor allem, wenn wir ihre regelmäßige Leistung messen wollen.

VRAM nimmt auch Platz ein

Shader-Cache: Definition und wie sie sich auf die Spieleleistung auswirkt | ITIGIC (3)

Das GPU Ihrer Grafikkarte greift nur auf das System zu RAM über die PCI-Express-Schnittstelle und unter Verwendung seiner DMA-Einheit, sodass der Shader-Cache zusammen mit den visuellen Informationen geladen wird, die zum Zusammensetzen der Szene von der Speichereinheit in den RAM und vom RAM in den Videospeicher erforderlich sind. Obwohl mit DirectStorage erwartet wird, dass die Grafikhardware direkt auf die SSD zugreifen kann, werden die Zugriffslatenz und das Problem der Abhängigkeit von der SSD reduziert CPU.

Viele Spiele sind gut entwickelt und der Shader-Cache nimmt wenig Platz ein, andere jedoch nicht so sehr und belegen am Ende eine große Menge an Grafikspeicher. Das heißt, wenn der Treiber oder das Spiel selbst ein Limit hat, stellen wir plötzlich fest, dass die neuen Zusammenstellungen die alten ersetzen und die anfänglichen Leistungsprobleme zurückkehren.

In jedem Fall müssen wir bedenken, dass das Rendern des aktuellen Frames bevorzugt wird, wenn das Spiel, das wir spielen, Speicherplatz im Video-RAM benötigt. Daher wird versucht, den vorübergehend im Systemspeicher gespeicherten Shader-Cache abzurufen. Denken Sie auch daran, dass die Dumps in die Speichereinheit kontinuierlich erstellt werden, da der Shader eines grafischen Primitivs einmal generiert wurde, es nicht notwendig ist, dies erneut zu tun.

Raytracing und der Shader-Cache

Beim Raytracing ist die am häufigsten gestellte Frage der GPU vom booleschen Typ. Schneidet dieser Strahl dieses Graph-Grundelement? Die Antwort ist nicht immer ja und daher gibt es eine Bedingung, die je nach den Umständen eintreten wird oder nicht. Wenn Sie diesen Shader zum ersten Mal ausführen, müssen Sie daher den Cache-Shader für alle möglichen Ergebnisse kompilieren und generieren.

Shader-Cache auf Konsolen

Shader-Cache: Definition und wie sie sich auf die Spieleleistung auswirkt | ITIGIC (4)

Eine Videospielkonsole wird immer die gleichen Komponenten haben, vom ersten Modell, das die Fabrik verlässt, bis zum letzten. Obwohl mehrere Jahre vergangen sind, werden sich seine Spezifikationen nicht ändern. Heute findet man zum Beispiel ältere Modelle als die älteste Grafikkarte. Eine Möglichkeit, die Hardware-Unveränderlichkeit auszunutzen, besteht darin, sogenannte Shader zu verwenden, die bereits in die Spielinstallation kompiliert sind. Das macht es unnötig, für jedes Spiel einen Shader-Cache zu generieren, ist aber auch ein zweischneidiges Schwert.

Wenn Sie beispielsweise eine leistungsstärkere und abwärtskompatible Konsole erstellen möchten, haben Sie die folgenden Optionen:

  • Exportieren Sie die ISA auf die GPU des neuen Systems, sodass sie als Obermenge der alten funktioniert. Dies ist, was AMD in der PlayStation 5- und Xbox-Serie mit RDNA 2-Architektur getan hat, um Spiele der vorherigen Generation, die für GCN entwickelt wurden, reibungslos auszuführen.
  • Integrieren Sie alle grafischen Schaltungen des vorherigen Systems in das neue System. Dies ist etwas, was Nintendo auf seinen Konsolen bis 3DS und SONY mit seiner zweiten PlayStation und einigen Modellen der dritten getan hat.

Auf der Emulatorebene werden in vielen Fällen die bereits kompilierten Shader genommen und der umgekehrte Prozess durchgeführt, indem ein Zwischencode generiert wird, der einen Shader-Cache generieren kann, der für die Arbeit mit Ihrer Grafikkarte generiert wird. Es ist jedoch keine exakte Wissenschaft und Sie können beim Ausführen der Spiele auf bestimmte grafische Störungen stoßen.

Optimierungen für GPU-Hersteller

Shader-Cache: Definition und wie sie sich auf die Spieleleistung auswirkt | ITIGIC (5)

Beide NVIDIA und AMD enthalten normalerweise Optimierungen in den neuesten Treibern für die schneidigstenRand Spiele. Dazu gehören nicht nur die optimalen Einstellungen für mehr Leistung, sondern auch der bereits optimierte Shader-Cache für jedes Spiel und bessere Specs als das Basisspiel. Und es ist so, dass beide Hersteller daran interessiert sind, dass ihre fortschrittlichste Grafikkarte die maximal mögliche Leistung im leistungsstärksten Spiel von allem, das es heute gibt, hat.

Diese überlassen also Geld den verschiedenen Entwicklungsstudios, die die Shader-Programme für bestimmte Grafikarchitekturen optimieren und einen Shader-Cache generieren, der besser funktioniert als der, der mit dem Basisspiel geliefert wird. Dies geschieht, um den Kauf neuer Modelle zu fördern und eine Programmveralterung zu schaffen, die für einen Konsumfluss erforderlich ist, der die Branche aufrechterhält. Aus diesem Grund haben viele Spiele mit kaum visuellen Änderungen gegenüber ihren vorherigen Raten eine schlechtere Leistung.

Shader-Cache: Definition und wie sie sich auf die Spieleleistung auswirkt | ITIGIC (2024)

References

Top Articles
Latest Posts
Article information

Author: Terence Hammes MD

Last Updated:

Views: 5858

Rating: 4.9 / 5 (49 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Terence Hammes MD

Birthday: 1992-04-11

Address: Suite 408 9446 Mercy Mews, West Roxie, CT 04904

Phone: +50312511349175

Job: Product Consulting Liaison

Hobby: Jogging, Motor sports, Nordic skating, Jigsaw puzzles, Bird watching, Nordic skating, Sculpting

Introduction: My name is Terence Hammes MD, I am a inexpensive, energetic, jolly, faithful, cheerful, proud, rich person who loves writing and wants to share my knowledge and understanding with you.