News Nvidia Neural Texture Compression: Mehr Textur-Details dank KI

Denkt dran: Die Methode nimmt an bzw. setzt voraus, dass alle Texturen die gleiche Größe haben...
Damit ist das Verfahren nicht für alle Texturen nutzbar - woder wollt ihr, das die Texturen für kleine Kleidungsgegenstände die gleiche Größe haben, wie die eines Baumstamms, oder eines Felsens?
Andersrum müssten die großen Texturen sehr kleinteilig aufgeteilt werden, damit wieder alles die gleiche Größe hat.
Wie kommst du darauf? Jede Textur hat verschiedene MIP-Levels, wodurch sich selbst bei ein und der selben Textur unterschiedliche Grössen ergeben. Und wie bereits hier im Thread erwähnt, werden Texturen typ. in 128 bis 256 Byte Blöcken gelesen ("Texels"). Deswegen sind die bisherigen Kompressionsverfahren wie DXT auch als "Blockwise Compression Algorithms" bekannt. Sie encodieren einzelne Blöcke und nicht die ganze Textur. Das erlaubt zwei Dinge: Man kan einzelne Subelemente einer fast beliebig grossen Textur mit derselben Datenmenge und HW-Infrastruktur laden (z.B. 128, 256 Byte) und aufgrund der geringen Grösse der Blöcke passt das auch gut in die Low Level Caches der GPU rund um die TMUs (L0, L1, Local Data Share, Register).


Bezüglich "gleiche Grösse" beziehst du dich wohl auf folgenden Abschnitt im Paper:
Uniform Resolution
Our method relies on storing all textures within a single compressed material at the same resolution. It is common practice for video game artists to store less visually important textures at smaller resolutions. Our method can assign different levels of importance to textures by weighting its contribution to the loss, but otherwise requires all the single material input textures to be resampled to the same resolution before compression.
Das sind aber nicht verschiedene Texturen im Sinne von Baumstamm, Stein oder Bluse sondern verschiedene Subelemente von ein und derselben Texturkomposition (im Paper: diffuse/albedo, normal map, ARM, displacement map = Gemeinsam ergeben die ein Ziegeldach mit Moos usw.). Hier können Artists heute einen Tradeoff machen: Einige Elemente fallen nicht gross auf, deswegen könnte man z.B. die Displacement Map in der halben Auflösung abspeichern. Das reduziert natürlich die Speichermenge.
 
Klingt für mich nach hartem Bullshit.

Da wir auf absehbare Zeit sicherlich keine höheren Auflösungen als UHD sehen werden, lässt sich das VRAM-Problem einfach durch mehr VRAM lösen.

Das ist "harter Bullshit" und zwar aus zweierlei Dingen:

1: gibt es 8K, danach steht schon 10K und 16K in den Startlöchern.
2: Der VRAM Bedarf nimmt zwar, bei geringeren Auflösungen ab, ist aber nicht der dominante Faktor. Der Detailgrad der Texturen ist es, der den Ausschlag gibt. 8K und 16K Texturen (nicht zu verwechseln mit der 8K und 16K Auflösung) brauchen auch bei Full HD höllisch viel Speicher, liefern aber auch höllische Ergebnisse. Davon, alles, mit sowas auszukleiden, sind wir noch sehr, sehr weit entfernt. In Sachen Texturen kann man wohl auch 1TB+ verballern.

Da hätte man weniger Entwicklungszeit in ein neues (und sicherlich proprietäres) Feature stecken müssen, das man sich von den Kunden fürstlich versilbern lassen wird - RTX 4000 ist ja nicht schon überteuert genug.

Das eine hat mit dem anderen Nichts zu tun, das sind zwei unterschiedliche Abteilungen.

Am Ende wird's dann das Alleinstellungsmerkmal von RTX 5000, um die Spielerschaft zu teuren Upgrades zu zwingen. Top!

Ich hoffe mal, dass es so läuft, wie bei FreeSync. Die freie Open Source Alternative von AMD setzt sich durch.

Vieles spricht dafür, da die Entwickler die Spiele anpassen müssen und das ganze nur auf GeForcekarten nutzbar sein wird.

Stärkeres Speicherinterface würde helfen. RTX 4000 war da ja - außer bei der 4090 - eher rückschrittlich (bspw. 256bit anstelle von 320bit bei der 4080 im Vergleich zur 3080 und 198bit anstelle von 256bit bei 4070/3070).

Das hat nur zwei Nachteile:i
1: kostest es Geld
2: ist das ganze begrenzt, man kann nicht immer größer bauen. Es gibt eine Grenze.

Alleine das zweite ist schon ein guter Grund, das ganze zu verfolgen.

Nvidias neuer Zauberstaub hört sich für mich ohnehin nach zu viel Aufwand für die Spieleentwickler an.

Das ist einfach nur ein Kompressionsalgorithmus, den man einbauen muß, fertig.

Texturen werden schon seit langem komprimiert.

Auch wenn du mit deinen Punkten prinzipell recht hast, beurteile ich das für die Gegenwart und eben nicht mit aufgestockten Tensore-Cores, 48 GByte RAM und was die nächsten Gens an GPUs evtl. vielleicht evtl. noch bringen könnten.

Das ganze ist für die Zukunft. Das wird man wohl erst nennenswert mit der GeForce 6000 sehen Aber wenn man Glück hat, dann kann es bei älteren Karten für mehr Details sogen, wenn Nvidia das zuläßt. Es gibt ja Leute, die sich weigern, DLSS zu aktivieren, die haben dann die Tensorkerne noch frei.
 
1: gibt es 8K, danach steht schon 10K und 16K in den Startlöchern.
Es gibt zwar 8k, aber aktuell keine einzige PC Hardware, die auch nur ansatzweise fähig wäre, 8k wirklich darzustellen...
Und 8k mit DLSS ist dann aauch wieder nur 4k... dann kann man sich den ganzen Zores auch sparen.

Bis wir 8k Hardware sehen, werden noch 2-4 GPU Generationen vergehen.
Die ersten "UHD cards" kamen laut Nvidia ja schon mit Kepler raus.... was schon damals ziemlicher BS war.
Aktuell klappt selbst eine 4090 unter 8k zusammen, wie ein Kartenhaus bei Windstärke 10.
 
1: gibt es 8K, danach steht schon 10K und 16K in den Startlöchern.
Ändert nichts daran, dass es zum Spielen völliger unsinn ist. Das menschliche Auge erkennt bei gängigen Monitorgrößen und Abständen spätestens ab 8k einfach keine individuellen Pixel mehr, es sei denn man sucht mit der Lupe. Bei vielen ist dieser Punkt schon bei 4k erreicht. Das gilt selbst für Riesenfernseher jenseits der 70 Zoll, bei denen man aufgrund der Größe einen gewissen Mindestabstand haben muss, um überhaupt den kompletten Bildschirm überblicken zu können.

Es macht also generell keinen Sinn, Spiele in so einer absurd hohen Auflösung zu Rendern. Diese Leistung kann man genau so gut in einen höheren Detailgrad innerhalb der Spiele und eine flüssigere Framerate jenseits der 120 Hz stecken, denn DAS macht wirklich einen Unterschied. Die Leute müssen langsam mal aus diesem längst überholten "höhere Auflösung=bessere Grafik"-Mindset raus. Denn allein durch mehr Pixel ist dort nicht mehr viel zu holen.
 
Ändert nichts daran, dass es zum Spielen völliger unsinn ist. Das menschliche Auge erkennt bei gängigen Monitorgrößen und Abständen spätestens ab 8k einfach keine individuellen Pixel mehr, es sei denn man sucht mit der Lupe. Bei vielen ist dieser Punkt schon bei 4k erreicht. Das gilt selbst für Riesenfernseher jenseits der 70 Zoll, bei denen man aufgrund der Größe einen gewissen Mindestabstand haben muss, um überhaupt den kompletten Bildschirm überblicken zu können.

Es macht also generell keinen Sinn, Spiele in so einer absurd hohen Auflösung zu Rendern. Diese Leistung kann man genau so gut in einen höheren Detailgrad innerhalb der Spiele und eine flüssigere Framerate jenseits der 120 Hz stecken, denn DAS macht wirklich einen Unterschied. Die Leute müssen langsam mal aus diesem längst überholten "höhere Auflösung=bessere Grafik"-Mindset raus. Denn allein durch mehr Pixel ist dort nicht mehr viel zu holen.
Jain. Bei RT werden bei höherer Auflösung mehr Rays verschossen und auch bei der UE5 werden bei höherer Auflösung auch mehr Details abgerufen.
Also doch: Höhere Auflösung=Bessere Grafik.
Unabhängig davon ob jemand bei UHD oder 8K oder 50k keine pixel mehr sieht.
 
AMD GPUOpen
“Wir präsentieren „Neural Texture Block Compression“ at EGSR2024 ( http://www.egsr2024.uk / 3rd July – 5th July 2024) in London.
Niemand lädt gerne riesige Spielepakete herunter. Unsere Methode komprimiert die Textur mithilfe eines neuronalen Netzwerks und reduziert so die Datengröße.
Unveränderte Laufzeitausführung ermöglicht einfache Spieleintegration.”

Quelle:
Eingebundener Inhalt
An dieser Stelle findest du externe Inhalte von Twitter. Zum Schutz deiner persönlichen Daten werden externe Einbindungen erst angezeigt, wenn du dies durch Klick auf "Alle externen Inhalte laden" bestätigst: Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit werden personenbezogene Daten an Drittplattformen übermittelt.
Für mehr Informationen besuche die Datenschutz-Seite.

Somit wird wohl auch AMD bald NTC unterstützen.
 
Zurück