Allgemein Gaming Grafikkarten Grundlagenartikel Testberichte VR/AR

Nvidia GeForce RTX 2080 Ti und RTX 2080 vorgestellt – was sich hinter Turing wirklich verbirgt

Mesh-Shading: Grundlage für mehr On-Screen-Objekte

Architekturverbesserungen werden häufig in Änderungen, die sich auf das heutige Spieleangebot auswirken und neue, zukunftsweisende Funktionen aufgeteilt, die eine Unterstützung durch zukünftige Titel erfordern. Zumindest zum Zeitpunkt des Launches werden die GeForce RTX-Karten von Nvidia mangels passender Spiele überwiegend nach den ersteren beurteilt werden müssen.

Die heutigen Spiele sind also erst einmal das, was wir wirklich zugrunde legen können. Und obwohl die Profis im Hardwarebereich so ihre ganz eigene Meinung darüber haben, was Echtzeit-Raytracing für ein immersives Spielerlebnis bedeutet, bin auch ich schon lange genug dabei, um zu wissen, dass man Hardware nicht nur aufgrund von Versprechungen über das, was kommen wird, empfehlen kann.

Die Turing-Architektur beinhaltet jedoch einige erweiterte Grafikfunktionen, die durchaus jede Menge Potenzial besitzen, aber noch nicht zugänglich sind. Die Mesh-Shader ergänzen beispielsweise die bestehende DirectX 11/12-Grafikpipeline, in der die Host-Prozessoren für die Berechnung des Detaillierungsgrades, das Aussortieren von Objekten, die nicht in Sicht sind, und die Ausgabe von Draw Calls für jedes Objekt verantwortlich sind. Bis zu einem gewissen Punkt sind auch CPUs dafür noch brauchbar. Aber in komplexen Szenen mit Hunderttausenden von Objekten fällt es ihnen dann schon schwer, noch mit der GPU Schritt zu halten.

Indem sie stattdessen in Zukunft einen Mesh-Shader verwenden, können Spieleentwickler die LOD-Berechnung und das Culling von Objekten auf einen speziellen Task-Shader übertragen, der die Vertex-Shader und Hull-Shader ersetzt. Da der Task-Shader allgemeiner ist als ein Vertex-Shader, ist er in der Lage, sich eine Liste von Objekten zu nehmen und sie durch ein Rechenprogramm laufen zu lassen, das bestimmt, wo sich Objekte befinden, welche Version jedes Objekts basierend auf dem LOD verwendet werden soll und ob ein Objekt ausgewählt werden muss, bevor es in der Pipeline übergeben wird.

Shading mit variabler Rate: es geht auch noch smarter

Zusätzlich zur Optimierung der Art und Weise, wie Turing die Geometrie verarbeitet, unterstützt Nvidia auch einen Mechanismus zur Wahl der Geschwindigkeit, mit der Pixel in verschiedenen Teilen einer Szene gerendert werden, um die Leistung zu verbessern. Natürlich kann die Hardware auch noch jedes einzelne Pixel wie gehabt in einem 1×1-Muster ausgeben. Die Architektur ermöglicht aber auch 2×1 und 1×2 Optionen, zusammen mit 2×2 und 4×4 Blöcken.

Nvidia bietet mehrere Anwendungsfälle an, in denen Shading mit variabler Rate sinnvoll ist (wobei zu viel des Guten ja die Bildqualität negativ beeinflussen könnte). Der erste Fall wäre das inhaltsadaptive Shading, bei dem sich weniger detaillierte Teile einer Szene nicht so sehr ändern und mit geringerer Geschwindigkeit gerendert werden können. Es gibt tatsächlich einen Build von Wolfenstein II mit variabler Shading-Funktion. Darin kann man die Schattierungsratenvisualisierung einschalten, um dann zu sehen, wie komplexe Objekte von dieser Technologie überhaupt nicht betroffen sind, während einfacher strukturierte Bereiche mit einer geringeren Auflösung gerendert werden.

Eine Reihe von Zwischenschritten ermöglicht sogar mehrere unterschiedliche Raten. Wir müssen uns dazu vorstellen, dass Spieleentwickler, die das Shading mit variabler Rate in einer inhaltsadaptiven Weise nutzen wollen, stets die Qualität über die Leistung stellen werden (Hoffentlich!). Dennoch wünsche ich mir, dass dies als umschaltbare Option aktiviert wird, damit einem beide Optionen offenstehen und man für sich selbst vergleichen kann, ob man es nun braucht oder nicht.

Bewegungsadaptives Shading ist eine weitere interessante Anwendung von Nvidias Shading-Technologie, bei der vorbeifliegende Objekte mit einer geringeren Auflösung wahrgenommen werden als das Motiv, auf das wir uns visuell konzentrieren. Basierend auf dem Bewegungsvektor jedes Pixels können Spieleentwickler bestimmen, wie aggressiv sie die Shading-Rate reduzieren und die gleichen Muster anwenden wie im inhaltsadaptiven Beispiel. Dies richtig umzusetzen, erfordert ein genaues Abfolge-Modell, um sicherzustellen, dass stets auch die richtigen Raten verwendet werden, wenn man sich drehen, vorwärts sprinten oder rückwärts verlangsamen möchte.

Nvidia präsentierte uns eine Demo von Wolfenstein II mit inhalts- und bewegungsadaptiver Schattierung. Die Leistungssteigerung, die in diesem Titel auf die variable Schattierung zurückgeführt werden kann, lag in der Größenordnung von ca. 15%, und sei es auch nur deshalb, weil Wolfenstein II bereits mit so hohen Bildraten läuft. Aber auf einer langsameren Karte in einem anspruchsvolleren Spiel sollte es möglich sein, bis zu 20% mehr Leistung auf dem Niveau von 60 FPS zu erreichen. Noch wichtiger ist, dass es keinen erkennbaren Verlust der Bildqualität gab.

Obwohl Nvidia nicht viel darüber gesagt hat, wie diese Hardware-Features von Entwicklern genutzt werden sollen, kann man davon ausgehen, dass die Wolfenstein II-Demo unter Vulkan mit bereits mit implementierbaren Erweiterungen programmiert wurde und dass Nvidia mit Microsoft zusammenarbeitet, um dies auch DirectX integrieren zu können.

Danke für die Spende



Du fandest, der Beitrag war interessant und möchtest uns unterstützen? Klasse!

Hier erfährst Du, wie: Hier spenden.

Hier kannst Du per PayPal spenden.

About the author

Igor Wallossek

Chefredakteur und Namensgeber von igor'sLAB als inhaltlichem Nachfolger von Tom's Hardware Deutschland, deren Lizenz im Juni 2019 zurückgegeben wurde, um den qualitativen Ansprüchen der Webinhalte und Herausforderungen der neuen Medien wie z.B. YouTube mit einem eigenen Kanal besser gerecht werden zu können.

Computer-Nerd seit 1983, Audio-Freak seit 1979 und seit über 50 Jahren so ziemlich offen für alles, was einen Stecker oder einen Akku hat.

Folge Igor auf:
YouTube   Facebook    Instagram Twitter

Werbung

Werbung