Wie eine SSD die Leistung in Konsolen beim Streaming verbessert

Kürzlich Microsoft hat ein Update zu seinem veröffentlicht Grafische DirectX-API das fügt eine neue Laufzeit namens hinzu Sampler-Feedback , und das wird ein wesentlicher Bestandteil der Art und Weise sein, wie Konsolen der nächsten Generation Nutzen Sie ihre SSDs, um die Leistung beim Streaming zu verbessern . Möchten Sie wissen, wie es funktioniert? In diesem Artikel erklären wir es Ihnen.

Sampler Feedback ist eine neue Direct3D-Funktion, die definiert, wie Textur- und Standortinformationen auf dem Bildschirm erfasst und aufgezeichnet werden. Ohne sie sahen Entwickler diese undurchsichtigen Details bis jetzt mit geringerer Qualität und mehr Aufwand von der Hardware, um die Frames zu generieren, die in Streaming gesendet werden.

Controller

So funktioniert Sampler Feedback

Nehmen Sie die Xbox Serie X. zum Beispiel, wessen SSD ist mäßig schnell mit einer theoretischen Lesegeschwindigkeit von 2.4 GB / s und Dekomprimierungshardware, die diese Rate für Texturen mit einem benutzerdefinierten Algorithmus namens BCPack verdoppeln sollte. Neue Techniken sind erforderlich, um diese Bandbreite effektiv nutzen zu können, und wenn es um das Streaming von der Konsole geht, wird die Leistung der Spiele nicht stark beeinträchtigt.

Sampler Feedback verwendet die Ergebnisse des zuvor gerenderten Frames, um zu bestimmen, welche Texturen im Speicher gelesen werden sollen. Die Idee ist, dass die meisten Texturen, die im Speicher gespeichert sind, dies mit einer sehr geringen Detailqualität tun. Da das Spiel jedoch Texturen mit höherer Auflösung benötigt, werden sie für das nächste Bild geladen. Grundsätzlich ist es speichert einen bereits gerenderten Frame zur späteren Verwendung im Speicher.

Jede Textur besteht aus sogenannten "Mipmaps", einer Kette von zunehmend kleineren Versionen jedes Frames jeder Textur. Entwickler verwenden diese mosaikartigen Texturen, in die große Texturen unterteilt werden kleinere Boxen, die einzeln geladen werden können um den Prozess zu rationalisieren und die Leistung zu verbessern.

Beispielsweise könnte eine 1024 x 1024-Textur aus einem Mosaik von 64 128 x 128 Bildern bestehen. Ihre Mipmap hätte eine 512 x 512 Textur aus 16 128 x 128 Frames und eine noch kleinere 256 x Textur. 256 aus 4 Frames und noch kleineren Texturen für weitere Ansichten.

Integer-Skalierung

Jede dieser Kacheln kann in den Speicher geladen oder einfach für die spätere Verwendung reserviert werden. Wenn ein GPU Beim Rendern einer Szene werden die spezifischen Kacheln in den spezifischen Mipmaps angezeigt, die sie benötigen. Die Sampler Feedback-Erweiterung hilft immer dann, wenn die GPU ein Mosaik laden muss. Sie kann puffern, welchen Frame sie benötigt und mit welchem ​​Detaillierungsgrad. Wenn sich die benötigte Kachel nicht im Speicher befindet, wird eine Version mit niedrigerer Texturauflösung verwendet Speichern Sie die GPU-Arbeit .

Dies bedeutet, dass nach dem Rendern der CPU Wenn Sie viele Informationen darüber haben, welche Kacheln genau benötigt werden, können Sie diese Daten schnell mit den bereits geladenen vergleichen und erhalten eine Liste der Anforderungen, die die GPU stellt, aber nicht hat. Die CPU kann auch die zuletzt benötigten Kacheln verfolgen, die Sie herunterladen können, um Speicherplatz freizugeben.

Wie die Konsolen-SSD ihre Streaming-Leistung verbessert

Es gibt zwei Faktoren, die bestimmen, wie schnell eine SSD arbeiten kann: die Größe der Anforderungen (wie viele Daten eingehen) und die Tiefe der Warteschlange (wie viele Anforderungen sie parallel empfängt). Bei einer SSD sind 4K-Messwerte mit einer Tiefe von 1 oder 2 eine typische „zufällige“ Arbeitslast und im Allgemeinen recht langsam. Im Gegensatz dazu weisen 128-KB-Lesevorgänge in Warteschlangentiefen von 16 eine viel bessere Leistung auf.

Bei 128 x 128 Kacheln und 4 Bytes pro Pixel beträgt die Kachel 64 KB. Es werden immer mehrere Texturen wie Normal und Farbe gleichzeitig benötigt, sodass sie zusammen geladen und entladen werden. Nach der Komprimierung kann die Größe also 64 KB oder mehr betragen. Da die CPU jederzeit weiß, welche Texturen benötigt werden, kann sie diese so schnell in die Warteschlange stellen, wie sie möchte Wenn es um die Texturübertragung geht, wird es stark von der erhöhten Bandbreite profitieren, die eine SSD bietet.

Wenn Sie mit dem Beispiel der Xbox Series X fortfahren und die Texturladegeschwindigkeit nach der Dekomprimierung 3.8 GB / s beträgt, können Sie 64 MB pro Frame mit 60 FPS laden. Dies ist schnell genug, um 1000 Texturen pro Frame zu laden, was einer einzelnen 4096 x 4096-Textur entspricht.

Mit anderen Worten, mit dieser Sampler-Feedback-Technologie werden wir definitiv eine bessere Leistung und eine bessere Qualität der Texturen erzielen, was auch für das Streaming besonders interessant ist, da es eine haben würde Geringere Strafe für GPU und CPU unter Ausnutzung der enormen Bandbreite der SSD.