RTX Neural Texture Compression nije nadogradnja: Kako AI može da razmeni memoriju tekstura za GPU računanje

Kompresija tekstura obično podrazumeva čuvanje manje verzije podataka teksture i njeno proširivanje u konvencionalni GPU format pre ili tokom upotrebe. NVIDIA RTX Neural Texture Compression menja taj model: deo podataka teksture postaje mala neuronska reprezentacija koju može da dekodira sam GPU.
Zašto normalna kompresija tekstura i dalje koristi mnogo memorije
Moderan materijal zasnovan na fizici retko se sastoji od jedne slike. Jedna površina može da koristi albedo, normalu, hrapavost, metalnost, ambijentalnu okluziju, neprozirnost i druge kanale.
Tradicionalni GPU formati blokovske kompresije kao što su BC1 do BC7 smanjuju troškove, ali GPU i dalje na kraju čuva konvencionalne blokove tekstura za materijal.
Kako se rezolucija tekstura i složenost materijala povećavaju, ti kanali troše prostor na disku, propusni opseg za strimovanje i GPU memoriju.
Šta RTX Neural Texture Compression zapravo čuva
NVIDIA RTXNTC SDK kompresuje kanale koji pripadaju jednom materijalu zajedno. Trenutni SDK podržava do 16 kanala tekstura u jednom NTC setu tekstura.
Umesto da čuva samo konvencionalne kompresovane teksture, proces kompresije proizvodi dve glavne stvari: težine za mali neuronski dekoder i kompaktne latentne podatke o karakteristikama.
Neuronski pipeline tekstura
Zašto kompresija kanala zajedno može da pomogne
Kanali materijala su često povezani. Ogrebotina vidljiva u osnovnoj boji može se pojaviti i u mapi normale ili hrapavosti. Uzorak tkanine može uticati na nekoliko kanala na istoj prostornoj lokaciji.
NVIDIA je dizajnirala NTC da iskoristi te korelacije umesto da kompresuje svaku teksturu nezavisno.
To je jedan od razloga zašto se tehnologija opisuje kao kompresija orijentisana na materijal, a ne samo kao još jedan format slike.
Tri NTC režima izvršavanja su ključ za razumevanje tehnologije
Najvažniji deo RTXNTC nije samo kako se materijal kompresuje. Već kada igra odluči da ga dekompresuje.
Zaključivanje pri učitavanju vs Zaključivanje na uzorku vs Zaključivanje na povratnoj informaciji
| Kada se dešava neuronsko dekodiranje | Ponašanje teksturne memorije u vreme izvršavanja | Glavni kompromis | |
|---|---|---|---|
| Zaključivanje pri učitavanju | |||
| Zaključivanje na uzorku | |||
| Zaključivanje na povratnoj informaciji |
Zaključivanje pri učitavanju: neuronska kompresija kao format za skladištenje
Zaključivanje pri učitavanju je najlakši režim za razumevanje.
Igra čuva materijal u kompaktnom NTC obliku. Kada se resurs učita, GPU rekonstruiše podatke teksture i može ih transkodirati u obične BCn formate tekstura.
Nakon tog koraka, renderovanje može da koristi normalno uzorkovanje tekstura. Važna ušteda je prvenstveno pre dekompresije: veličina upakovane igre, veličina preuzimanja ili propusni opseg strimovanja resursa.
Ali kada se materijal u potpunosti razvije u konvencionalne teksture, njegov zauzeće VRAM-a u vreme izvršavanja ponovo približava konvencionalnoj reprezentaciji.
Zaključivanje na uzorku: zadržite teksturu neuronskom u VRAM-u
Zaključivanje na uzorku je radikalniji režim.
Umesto da se materijal razvije u konvencionalne teksture pre renderovanja, šejder čita kompaktne latentne podatke i pokreće neuronski dekoder kada su mu potrebne vrednosti teksture.
NVIDIA-in sopstveni primer SDK-a upoređuje 12 MB BCn reprezentaciju materijala sa 2,5 MB NTC reprezentacijom kada se koristi Zaključivanje na uzorku.
Ušteda je stvarna jer konvencionalni podaci teksture ne moraju ostati potpuno rezidentni. Ali trošak se premešta negde drugde: piksel ili hit šejder sada obavlja neuronsko zaključivanje.
Zaključivanje na povratnoj informaciji: dekodirajte samo ono što igrač zaista vidi
Zaključivanje na povratnoj informaciji nalazi se između dve krajnosti.
Renderer prati koji se delovi teksture zaista zahtevaju. Umesto da odmah razvije ceo materijal, sistem može da dekodira zahtevane delove u serijama i održava radni keš.
Konceptualno, ovo kombinuje neuronsku kompresiju sa strimovanjem tekstura: sistem plaća trošak dekodiranja samo za regione koji postanu relevantni.
Trenutna implementacija primera je specijalizovanija od ostalih režima i njena ograničenja podrške se razlikuju, pa je treba tretirati kao strategiju integracije, a ne kao univerzalnu zamenu za obično strimovanje tekstura.
Razmena između skladištenja tekstura i računanja
Najlakši način da se razume neuronska kompresija tekstura jeste kao razmena između resursa.
Šta se menja kada skladištenje tekstura postane neuronsko
| Tradicionalna kompresovana tekstura | Neuronska reprezentacija teksture | |
|---|---|---|
| Disk/skladištenje | ||
| VRAM | ||
| Cena uzorkovanja | ||
| Kontrola kvaliteta |
Zašto je specijalizovani matrični hardver važan
Pokretanje neuronske mreže za uzorkovanje tekstura bilo bi preskupo ako bi se svako množenje moralo obrađivati kao običan skalarni rad senčera.
RTXNTC stoga ima koristi od Cooperative Vector i sada DirectX 12 Linear Algebra putanja koje omogućavaju senčerima da koriste GPU hardver za matrično ubrzanje.
Beta verzija v0.10.0 eksplicitno je dodala inferenciju kroz DirectX 12 Linear Algebra API predstavljen sa Shader Model 6.10.
Zašto neuronska kompresija tekstura nije nadogradnja tekstura
Obe tehnike mogu da koriste mašinsko učenje, ali rešavaju različite probleme.
Neuronska kompresija tekstura naspram super rezolucije
| Neuronska kompresija tekstura | Super rezolucija | |
|---|---|---|
| Ulaz | ||
| Cilj | ||
| Kada se izvršava | ||
| Izlaz |
Neuronska kompresija tekstura stoga može da postoji ispod DLSS, FSR, XeSS ili nativnog renderovanja. Ona menja način na koji se podaci o materijalima čuvaju i rekonstruišu, a ne konačnu rezoluciju prikaza.
Kontrola kvaliteta je broj bitova po pikselu
NTC je kompresija sa gubicima. Količina kompresovanih informacija kontroliše se uglavnom putem podešavanja broja bitova po pikselu.
Veći bitrate daje modelu više informacija i generalno poboljšava kvalitet rekonstrukcije. Manji bitrate poboljšava kompresiju, ali povećava rizik od vidljive greške.
Pošto više kanala deli istu reprezentaciju, dodavanje više kanala materijala bez povećanja bitrate-a može smanjiti kvalitet dostupan svakom kanalu.
Zašto su korelisani kanali materijala važni
Neuronska reprezentacija postaje vrednija kada nekoliko materijalnih kanala opisuje povezanu strukturu.
Ako albedo, normala i hrapavost sadrže iste ogrebotine, šavove ili teksturu tkanja, dekoder može da iskoristi deljene prostorne informacije.
Ako su kanali nepovezani šum, postoji manje zajedničke strukture za iskorišćavanje i problem kompresije postaje teži.
Test vrednosti neuronske teksture
Kada je neuronska kompresija tekstura zapravo korisna?
Zašto „8× manje“ zahteva kontekst
NVIDIA RTX Kit opisuje RTX neuronsku kompresiju tekstura kao rešenje koje nudi do 8× poboljšanje disk-memorije uz vizuelnu vernost sličnu tradicionalnoj blokovskoj kompresiji.
Fraza „do“ je važna. Odnos kompresije zavisi od materijala, broja kanala, ciljnog bitrate-a, konfiguracije dekodera i praga kvaliteta.
Isti odnos takođe ne opisuje automatski uštedu VRAM-a. Inferencija pri učitavanju može da počne od kompaktnog fajla i da se ipak proširi u konvencionalne GPU teksture. Inferencija pri uzorkovanju čuva kompaktnu reprezentaciju u GPU memoriji, ali troši više računanja tokom senčenja.
Veličina dekodera je još jedan kompromis između performansi i kvaliteta
NTC runtime koristi mali višeslojni perceptron za dekodiranje vrednosti teksture.
NVIDIA-ina trenutna biblioteka koristi konfigurabilnu arhitekturu dekodera. Veće mreže mogu da poboljšaju kvalitet kompresije, ali koštaju više za izvršavanje; manje mreže mogu da rade brže uz određeni gubitak u kvalitetu rekonstrukcije.
To daje programerima engine-a još jednu dimenziju za podešavanje pored rezolucije teksture i bitrate-a.
Zašto je ovo važno za buduće instalacije igara
Moderne igre sve više isporučuju skupove materijala visoke rezolucije koji utiču na veličinu preuzimanja, kao i na memoriju u vreme izvršavanja.
Neuronska kompresija tekstura stvara novu opciju: isporučiti kompaktnu naučenu reprezentaciju i kasnije odlučiti da li da se ona proširi pri učitavanju, rekonstruiše direktno tokom senčenja ili dekodiraju samo tražene pločice.
To znači da jedna kompresovana reprezentacija sredstva može da učestvuje u nekoliko različitih strategija memorije u vreme izvršavanja.
To takođe menja značenje pojma „memorija teksture“
Sa tradicionalnim renderovanjem, budžet za memoriju tekstura se uglavnom odnosi na formate tekstura, mip nivoe, rezoluciju i rezidentnost.
Sa neuronskim teksturama, programeri mogu takođe da planiraju budžet za latentne podatke, težine dekodera, bafere za inferenciju, transkodirane keševe i računarske resurse potrebne za rekonstrukciju traženih vrednosti.
Tako da sredstvo više nema jedan jednostavan fiksni memorijski identitet.
Podrška različitih proizvođača je slojevitija nego što ime RTX sugeriše
RTXNTC je NVIDIA SDK, a sama kompresija trenutno zahteva NVIDIA GPU prema zahtevima SDK-a.
Dekompresija u vreme izvršavanja je šira. NVIDIA dokumentuje funkcionalne putanje na Shader Model 6 hardveru i beleži validaciju na NVIDIA, AMD i Intel GPU-ovima, dok napredne Cooperative Vector / Linear Algebra putanje zavise od podrške API-ja i drajvera.
Performanse i paritet funkcija stoga ne treba pretpostavljati kod različitih proizvođača samo zato što osnovni dekoder može da se pokrene.
Šta bi promenilo ovaj odgovor?
NTC je još uvek beta. Režimi izvršavanja, arhitekture dekodera, podrška drajvera i putevi integracije mogu se promeniti pre stabilnog izdanja za produkciju.
Najveća dugoročna promena bila bi široko usvajanje standardizovanih neuronskih šejderskih primitiva kroz DirectX i Vulkan. To bi učinilo dekodiranje neuronskih tekstura manje zavisnim od prilagođenih izvršnih putanja specifičnih za proizvođača.
Ograničenja
Ovaj članak opisuje arhitekturu i trenutno javno ponašanje RTXNTC SDK-a. NVIDIA-ine navedene tvrdnje o kompresiji potiču od proizvođača i ne treba ih smatrati garantovanim rezultatima za svaki materijal.
Trenutni SDK je beta softver, a neke pregledne putanje imaju dokumentovana ograničenja drajvera i platforme.
Zaključak
RTX Neural Texture Compression je zanimljiv jer menja jednu veoma staru pretpostavku: detalji teksture ne moraju uvek da postoje u memoriji kao konvencionalni tekseli.
Materijal može umesto toga da se čuva delimično kao kompaktna naučena reprezentacija i rekonstruiše kada je potrebno.
To ne daje besplatan kvalitet niti besplatnu memoriju. Stvara novu razmenu: manje skladištenja, propusnog opsega i potencijalno VRAM-a u zamenu za rad neuronske inferencije.
Prava inovacija nije „AI čini teksture oštrijim“. Već to što deo podataka o materijalima u igri može postati računanje.
Često postavljana pitanja
RTX Neural Texture Compression jednostavnim jezikom
Da li je RTX Neural Texture Compression alat za povećanje rezolucije?
Može li NTC da smanji upotrebu VRAM-a?
Šta neuronska mreža čuva?
Da li NTC dekodira celu teksturu pre renderovanja?
Da li je neuronska kompresija tekstura bez gubitaka?
Da li je RTXNTC spreman za produkciju?
Pojmovnik
Ključni pojmovi neuronskih tekstura
- Neural Texture Compression
- Tehnika koja čuva informacije o teksturi kao kompaktne latentne podatke plus težine neuronskog dekodera umesto samo konvencionalnih blokova teksela.
- Latentni podaci
- Kompaktne naučene karakteristike koje neuronski dekoder koristi za rekonstrukciju vrednosti tekstura.
- Dekoder
- Mala neuronska mreža koja pretvara latentne karakteristike u rekonstruisane kanale teksture.
- Inference on Load
- Režim rada koji dekodira neuronsku teksturu kada se resurs učita, obično u konvencionalne formate tekstura.
- Inference on Sample
- Režim rada koji obavlja neuronsko dekodiranje direktno tokom semplovanja teksture tako da kompresovana reprezentacija može da ostane rezidentna.
- Inference on Feedback
- Strategija rada koja koristi povratne informacije o teksturi da dekodira i kešira samo zahtevane delove.
- Texture Storage–Compute Exchange
- Model Figure Rocks koji opisuje razmenu skladištenja tekstura, propusnog opsega i VRAM-a za dodatni rad GPU neuronske inferencije.
- Neural Texture Value Test
- Radni tok Figure Rocks za odlučivanje da li neuronska kompresija tekstura stvara neto korist za određeni materijal i ciljni GPU.
Primarni izvori
NVIDIA Developer — RTX KitZvanični pregled RTX Neural Texture Compression i NVIDIA pozicioniranja objavljenog smanjenja skladištenja.
NVIDIA RTXNTC — SDK READMEZvanična SDK dokumentacija koja opisuje kompresiju kanala materijala, reprezentaciju dekodera/latenta, režime rada, primere memorije, sistemske zahteve i podršku za Cooperative Vector.
NVIDIA RTXNTC — IzdanjaZvanična istorija izdanja, uključujući v0.10.0 beta i podršku za DirectX 12 Linear Algebra inferenciju.
NVIDIA RTXNTC — Podešavanja kompresije i kvalitet slikeZvanična dokumentacija koja pokriva bitrate, interakcije kanala, merenje kvaliteta i ponašanje kompresije sa gubicima.
NVIDIA — LibNTCZvanična dokumentacija biblioteke za rad koja opisuje konfiguraciju dekodera i kompromis između kvaliteta i performansi različitih veličina neuronskih mreža.
Related Articles
Skladištenje i strimovanje: Smanjite vreme učitavanja bez stvaranja seckanja
Brzo skladištenje pomaže samo kada je ponašanje strimovanja stabilno. Ovaj vodič objašnjava kako IO utiče na seckanje i šta prvo promeniti.
amiibo FAQ: 20 pitanja koja svi postavljaju (i direktni odgovori)
Amiibo FAQ bez suvišnih priča: kompatibilnost, skeniranje, regioni, ponovna izdanja, vrednost i pravila sakupljanja — jasni odgovori kako bi početnici prestali da bacaju novac.

DirectStorage 1.4 ne čini da vaš SSD dekompresuje igre: Šta Zstd i GPU dekompresija zapravo rade
DirectStorage 1.4 dodaje Zstandard kompresiju, GPU dekompresiju i novu biblioteku Game Asset Conditioning Library, ali SSD je i dalje samo jedan deo pipeline-a za učitavanje. Ovaj vodič objašnjava šta zapravo rade SSD, DirectStorage, CPU, GPU i sam engine igre.

Windows Auto SR nije DLSS: Kako NPU skaliranje funkcioniše bez integracije u igre
Windows Auto SR može da poveća rezoluciju podržanih igara bez DLSS, FSR ili XeSS integracije. Umesto pokretanja modela rekonstrukcije unutar igre na GPU-u, Windows koristi NPU da ponovo izgradi sliku više rezolucije iz rendera niže rezolucije.

Iskorišćenost VRAM-a nije zahtev za VRAM-om: Zašto pun memetar ne govori celu priču
Videti 7,8 GB iskorišćeno na grafičkoj kartici od 8 GB može izgledati kao dokaz da je igri ponestalo VRAM-a. Nije tako jednostavno. Ovaj vodič objašnjava kapacitet VRAM-a, budžete rezidentnosti, radne skupove, deljenu memoriju i kako utvrditi da li pritisak na memoriju zaista izaziva seckanje.
Rešenja za seckanje pri strimovanju sa skladišta: Kada aseti ne mogu da isprate
Zastajkivanje pri strimovanju se dešava kada se učitavaju nove oblasti: ograničenja skladišta, dekompresije ili strimovanja aseta. Koristite ovaj redosled rešenja pre nego što smanjite svako grafičko podešavanje.

DLSS 5 nije samo skaliranje: šta zapravo menja neuronsko renderovanje vođeno 3D-om
DLSS 5 pomera AI u novi deo grafičkog pipeline-a. Umesto samo rekonstruisanja rezolucije ili generisanja dodatnih frejmova, 3D-Vođeno Neuronsko Renderovanje koristi sopstveni frejm gejm endžina kao osnovu i unapređuje osvetljenje i detalje materijala pod kontrolom developera.

Smanjili ste grafička podešavanja, ali FPS se nije poboljšao? Verovatno podešavate pogrešno usko grlo
Smanjujete senke, efekte i rezoluciju, ali FPS se jedva menja. Ovaj vodič objašnjava zašto grafička podešavanja pomažu samo kada smanjuju opterećenje koje zapravo ograničava frejm—i kako prepoznati uska grla procesora, grafičke kartice, memorije, strimovanja i ograničenja frejma.