[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"portal-settings:figure:ru":3,"public-menus:all":45,"post:rtx-neural-texture-compression-is-not-upscaling-how-ai-can-trade-texture-memory-for-gpu-compute:ru":531,"related:post:rtx-neural-texture-compression-is-not-upscaling-how-ai-can-trade-texture-memory-for-gpu-compute:ru:1":2224},{"statusCode":4,"data":5,"message":44},200,{"tenantId":6,"lang":7,"defaultLang":8,"siteUrl":9,"contactEmail":10,"brandName":11,"logoUrl":12,"siteName":11,"siteDescription":13,"ogImage":14,"robotsIndex":15,"socialLinks":14,"reservedSlugs":14,"seoPolicy":16},"figure","ru","en","https:\u002F\u002Ffigure.rocks","info@stajic.de","Figure Rocks","\u002Ffavicon-32x32.png","",null,true,{"branding":17,"relatedContent":18,"crossDomainLinks":19},{"logoUrl":12},{"enabled":15},[20,23,26,29,32,35,38,41],{"url":21,"label":22,"isActive":15,"showInFooter":15,"includeInSameAs":15},"https:\u002F\u002Floving.rocks","loving.rocks",{"url":24,"label":25,"isActive":15,"showInFooter":15,"includeInSameAs":15},"https:\u002F\u002Fstajic.de","stajic.de",{"url":27,"label":28,"isActive":15,"showInFooter":15,"includeInSameAs":15},"https:\u002F\u002Fbazify.com","bazify.com",{"url":30,"label":31,"isActive":15,"showInFooter":15,"includeInSameAs":15},"https:\u002F\u002Fbazify.de","bazify.de",{"url":33,"label":34,"isActive":15,"showInFooter":15,"includeInSameAs":15},"https:\u002F\u002F2mesta.com","2mesta.com",{"url":36,"label":37,"isActive":15,"showInFooter":15,"includeInSameAs":15},"https:\u002F\u002F2mesta.de","2mesta.de",{"url":39,"label":40,"isActive":15,"showInFooter":15,"includeInSameAs":15},"https:\u002F\u002Fbazify.at","bazify.at",{"url":42,"label":43,"isActive":15,"showInFooter":15,"includeInSameAs":15},"https:\u002F\u002Fweb-hoch3.de","web-hoch3.de","Portal settings resolved",[46],{"id":47,"name":48,"location":49,"isActive":15,"isDefault":15,"items":50},2,"Main Menu","sidebar",[51,65,189,282,358,424],{"id":52,"title":53,"url":61,"target":62,"icon":63,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":64},"1",{"de":54,"en":55,"es":56,"fr":57,"it":55,"ru":58,"sr":59,"zh":60},"Startseite","Home","Inicio","Accueil","Главная","Početna","首页","\u002F","_self","i-lucide-home",[],{"id":66,"title":67,"url":76,"target":62,"icon":77,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":78},"3",{"de":68,"en":69,"es":70,"fr":71,"it":72,"ru":73,"sr":74,"zh":75},"Spiele","Games","Juegos","Jeux","Giochi","Игры","Igre","游戏","\u002Fgames","i-lucide-gamepad-2",[79,92,107,121,135,148,162,176],{"id":80,"title":81,"url":76,"target":62,"icon":90,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":91},"3-1",{"de":82,"en":83,"es":84,"fr":85,"it":86,"ru":87,"sr":88,"zh":89},"Spiele-Hub","Games Hub","Centro de juegos","Hub de jeux","Hub Giochi","Игровой центр","Centar za igre","游戏中心","i-lucide-layout-grid",[],{"id":93,"title":94,"url":103,"target":62,"icon":104,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":106},"1-1",{"de":95,"en":96,"es":97,"fr":98,"it":99,"ru":100,"sr":101,"zh":102},"Neu & Angesagt","New & Trending","Novedades & Tendencias","Nouveautés & Tendances","Novità & Tendenze","Новинки & тренды","Novo & Popularno","新品 & 热门","\u002Fnews\u002Fgaming-news","i-lucide-sparkles","custom",[],{"id":108,"title":109,"url":118,"target":62,"icon":119,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":120},"1-2",{"de":110,"en":111,"es":112,"fr":113,"it":114,"ru":115,"sr":116,"zh":117},"Angebote","Deals","Ofertas","Offres","Offerte","Акции","Ponude","优惠","\u002Fdeals","i-lucide-badge-percent",[],{"id":122,"title":123,"url":132,"target":62,"icon":133,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":134},"1-3",{"de":124,"en":125,"es":126,"fr":127,"it":128,"ru":129,"sr":130,"zh":131},"Release-Kalender","Release Calendar","Calendario de lanzamientos","Calendrier des sorties","Calendario delle uscite","Календарь релизов","Kalendar izdanja","发布日历","\u002Freleases","i-lucide-calendar-days",[],{"id":136,"title":137,"url":145,"target":62,"icon":146,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":147},"3-2",{"de":138,"en":139,"es":140,"fr":141,"it":142,"sr":143,"zh":144},"amiibo-kompatible Spiele","amiibo-Compatible Games","Juegos compatibles con Amiibo","Jeux compatibles Amiibo","Giochi compatibili con amiibo","Amiibo kompatibilne igre","Amiibo 兼容游戏","\u002Freference\u002Fcompatibility","i-lucide-check-circle-2",[],{"id":149,"title":150,"url":159,"target":62,"icon":160,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":161},"3-3",{"de":151,"en":152,"es":153,"fr":154,"it":155,"ru":156,"sr":157,"zh":158},"Wie amiibo funktionieren","How amiibo work","Cómo funcionan los Amiibo","Comment fonctionnent les Amiibo","Come funzionano gli Amiibo","Как работают Amiibo","Kako Amiibo rade","Amiibo 如何运作","\u002Fgames\u002Fhow-amiibo-unlocks-work","i-lucide-puzzle",[],{"id":163,"title":164,"url":173,"target":62,"icon":174,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":175},"3-4",{"de":165,"en":166,"es":167,"fr":168,"it":169,"ru":170,"sr":171,"zh":172},"Beste Amiibo pro Spiel","Best amiibo per Game","Mejores Amiibo por juego","Meilleurs Amiibo par jeu","Migliori Amiibo per gioco","Лучшие Amiibo по играм","Najbolji Amiibo po igri","各游戏最佳 Amiibo","\u002Fgames\u002Fbest-amiibo-per-game","i-lucide-award",[],{"id":177,"title":178,"url":186,"target":62,"icon":187,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":188},"3-5",{"de":179,"en":180,"es":181,"fr":182,"it":183,"ru":184,"sr":185},"Freischaltbares & Belohnungen","Unlockables & Rewards","Desbloqueables & Recompensas","Déblocables & Récompenses","Sbloccabili & Ricompense","Разблокировки & награды","Otključavanja & nagrade","\u002Fgames\u002Funlocks-and-benefits","i-lucide-gift",[],{"id":190,"title":191,"url":199,"target":62,"icon":200,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":201},"4",{"de":192,"en":193,"es":194,"it":195,"ru":196,"sr":197,"zh":198},"Sammeln","Collecting","Coleccionismo","Collezionismo","Коллекционирование","Kolekcionarstvo","收藏","\u002Fcollecting","i-lucide-gem",[202,213,227,240,254,268],{"id":203,"title":204,"url":211,"target":62,"icon":90,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":212},"4-1",{"de":205,"en":206,"fr":207,"it":208,"ru":209,"zh":210},"Sammel-Hub","Collecting Hub","Hub de collecte","Hub di raccolta","Центр сбора","收藏中心","\u002Famiibo\u002Fcollecting",[],{"id":214,"title":215,"url":224,"target":62,"icon":225,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":226},"4-2",{"de":216,"en":217,"es":218,"fr":219,"it":220,"ru":221,"sr":222,"zh":223},"Kaufberatung","Buying Guide","Guía de compra","Guide d'achat","Guida all'acquisto","Гид покупателя","Vodič za kupovinu","购买指南","\u002Famiibo-library\u002Famiibo-buying-smart","i-lucide-shopping-bag",[],{"id":228,"title":229,"url":237,"target":62,"icon":238,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":239},"4-3",{"de":230,"en":230,"es":231,"fr":232,"it":233,"ru":234,"sr":235,"zh":236},"Fake vs Real","Falso vs. Real","Faux vs Vrai","Falso vs Vero","Фейк vs Оригинал","Lažno vs Pravo","真假对比","\u002Famiibo-library\u002Famiibo-buying-smart\u002Favoid-fake-listings","i-lucide-scan",[],{"id":241,"title":242,"url":251,"target":62,"icon":252,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":253},"4-4",{"de":243,"en":244,"es":245,"fr":246,"it":247,"ru":248,"sr":249,"zh":250},"Aufbewahrung & Präsentation","Storage & Display","Almacenamiento & exhibición","Rangement & Présentation","Contenitori & Esposizione","Хранение & витрины","Odlaganje & izlaganje","存储 & 展示","\u002Famiibo-library\u002Famiibo-care-and-storage","i-lucide-box",[],{"id":255,"title":256,"url":265,"target":62,"icon":266,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":267},"4-5",{"de":257,"en":258,"es":259,"fr":260,"it":261,"ru":262,"sr":263,"zh":264},"Preisübersicht","Price Guide","Guía de precios","Guide des prix","Guida ai prezzi","Гид по ценам","Cenovnik","价格指南","\u002Fcollections\u002Fprice-guide","i-lucide-bar-chart-3",[],{"id":269,"title":270,"url":279,"target":62,"icon":280,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":281},"4-6",{"de":271,"en":272,"es":273,"fr":274,"it":275,"ru":276,"sr":277,"zh":278},"Raritäten","Rare Finds","Hallazgos únicos","Trouvailles rares","Pezzi rari","Редкие находки","Retki nalazi","稀有发现","\u002Fcollections\u002Frare-and-notable","i-lucide-trophy",[],{"id":283,"title":284,"url":292,"target":62,"icon":293,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":294},"5",{"de":285,"en":286,"es":287,"fr":286,"it":288,"ru":289,"sr":290,"zh":291},"Technik","Tech","Tecnología","Tecnologia","Технологии","Tehnologija","科技","\u002Ftech","i-lucide-cpu",[295,306,318,331,344],{"id":296,"title":297,"url":292,"target":62,"icon":90,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":305},"5-1",{"de":298,"en":298,"es":299,"fr":300,"it":301,"ru":302,"sr":303,"zh":304},"Tech Hub","Centro tecnológico","Hub Tech","Hub Tecnologico","Технохаб","Tehnološki centar","科技中心",[],{"id":307,"title":308,"url":315,"target":62,"icon":316,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":317},"5-2",{"de":309,"en":310,"fr":311,"it":312,"ru":313,"zh":314},"Audio- & Mikrofonqualität","Audio & Mic Quality","Qualité audio & micro","Qualità audio & mic","Качество звука & микрофона","音频 & 麦克风质量","\u002Fgear\u002Faudio","i-lucide-mic",[],{"id":319,"title":320,"url":328,"target":62,"icon":329,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":330},"5-3",{"de":321,"en":322,"es":323,"fr":324,"it":325,"sr":326,"zh":327},"Controller & Zubehör","Controllers & Accessories","Mandos & accesorios","Manettes & accessoires","Controller & Accessori","Kontroleri & dodatna oprema","控制器 & 配件","\u002Fgear\u002Fcontrols","i-lucide-joystick",[],{"id":332,"title":333,"url":341,"target":62,"icon":342,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":343},"5-4",{"de":334,"en":335,"es":336,"fr":337,"it":338,"ru":339,"sr":340},"Displays & Aufnahme","Displays & Capture","Pantallas & Captura","Écrans & Capture","Display & Acquisizione","Дисплеи & Захват","Ekrani & snimanje","\u002Fgear\u002Fdisplays","i-lucide-monitor",[],{"id":345,"title":346,"url":355,"target":62,"icon":356,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":357},"5-5",{"de":347,"en":348,"es":349,"fr":350,"it":351,"ru":352,"sr":353,"zh":354},"Netzwerkstabilität","Network Stability","Estabilidad de la red","Stabilité du réseau","Stabilità della rete","Стабильность сети","Stabilnost mreže","网络稳定性","\u002Fplaybooks\u002Fnetwork-stability","i-lucide-wifi",[],{"id":359,"title":360,"url":368,"target":62,"icon":369,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":370},"6",{"de":361,"en":361,"es":362,"fr":363,"it":364,"ru":365,"sr":366,"zh":367},"Shop","Tienda","Boutique","Negozio","Магазин","Prodavnica","商店","\u002Fshop","i-lucide-shopping-cart",[371,383,391,399,412],{"id":372,"title":373,"url":368,"target":62,"icon":381,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":382},"6-1",{"de":374,"en":375,"es":376,"fr":377,"ru":378,"sr":379,"zh":380},"Shop-Hub","Shop Hub","Centro de compras","Espace Boutique","Центр магазина","Centar za kupovinu","购物中心","i-lucide-store",[],{"id":384,"title":385,"url":388,"target":62,"icon":389,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":390},"6-2",{"de":386,"en":386,"es":387,"fr":387,"it":387,"sr":387,"zh":387},"amiibo","Amiibo","\u002Famiibo-shop","i-lucide-scan-line",[],{"id":392,"title":393,"url":396,"target":62,"icon":397,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":398},"6-3",{"de":394,"en":394,"es":394,"fr":394,"it":394,"ru":394,"sr":394,"zh":395},"LEGO","乐高","\u002Flego-shop","i-lucide-blocks",[],{"id":400,"title":401,"url":409,"target":62,"icon":410,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":411},"6-4",{"de":402,"en":403,"es":404,"fr":405,"it":406,"sr":407,"zh":408},"Figuren & Sammlerstücke","Figures & Collectibles","Figuras & Coleccionables","Figurines & Objets de collection","Figure & Collezionismo","Figure & kolekcionarstvo","手办 & 收藏品","\u002Fshop\u002Ffigures","i-lucide-package",[],{"id":413,"title":414,"url":421,"target":62,"icon":422,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":423},"6-5",{"de":415,"en":415,"fr":416,"it":417,"ru":418,"sr":419,"zh":420},"Gaming Gear","Équipement gaming","Accessori gaming","Игровое снаряжение","Gejming oprema","游戏装备","\u002Fgaming-gear-shop","i-lucide-headphones",[],{"id":425,"title":426,"url":427,"target":62,"icon":389,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":428},"2",{"de":386,"en":386,"es":386,"fr":386,"it":386,"ru":386,"sr":386,"zh":386},"\u002Famiibo",[429,440,447,461,475,489,503,517],{"id":430,"title":431,"url":427,"target":62,"icon":90,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":439},"2-1",{"de":432,"en":433,"es":434,"fr":435,"it":435,"ru":436,"sr":437,"zh":438},"amiibo-Hub","amiibo Hub","Centro amiibo","Hub amiibo","Хаб amiibo","amiibo centar","amiibo 中心",[],{"id":441,"title":442,"url":444,"target":62,"icon":445,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":446},"1772724791061",{"de":443,"en":443},"Franchise","\u002Famiibo\u002Ffranchise","i-lucide-star",[],{"id":448,"title":449,"url":458,"target":62,"icon":459,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":460},"2-3",{"de":450,"en":451,"es":452,"fr":453,"it":454,"ru":455,"sr":456,"zh":457},"Region & Verpackung (EU\u002FUS\u002FJP)","Region & Packaging (EU\u002FUS\u002FJP)","Región y embalaje (UE\u002FEE. UU.\u002FJP)","Région & Emballage (UE\u002FUS\u002FJP)","Regione & Confezione (EU\u002FUS\u002FJP)","Регион & упаковка (EU\u002FUS\u002FJP)","Region & pakovanje (EU\u002FUS\u002FJP)","地区 & 包装 (EU\u002FUS\u002FJP)","\u002Famiibo-library\u002Famiibo-editions-and-regions","i-lucide-globe",[],{"id":462,"title":463,"url":472,"target":62,"icon":473,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":474},"2-4",{"de":464,"en":465,"es":466,"fr":467,"it":468,"ru":469,"sr":470,"zh":471},"Schnellidentifikations-Checkliste","Fast Identification Checklist","Lista de identificación rápida","Liste d'identification rapide","Checklist identificazione rapida","Чек-лист быстрой идентификации","Kontrolna lista za brzu identifikaciju","快速识别清单","\u002Famiibo\u002Fidentify-checklist","i-lucide-list-checks",[],{"id":476,"title":477,"url":486,"target":62,"icon":487,"isActive":15,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":488},"2-6",{"de":478,"en":479,"es":480,"fr":481,"it":482,"ru":483,"sr":484,"zh":485},"Tipps für Sealed-Sammlungen","Sealed Collection Tips","Consejos de colección sellada","Conseils collection scellée","Consigli collezione sigillata","Советы по коллекции Sealed","Saveti za zapečaćene kolekcije","密封收藏贴士","\u002Famiibo\u002Fsealed-tips","i-lucide-shield-check",[],{"id":490,"title":491,"url":500,"target":62,"icon":501,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":502},"2-5",{"de":492,"en":493,"es":494,"fr":495,"it":496,"ru":497,"sr":498,"zh":499},"Zustand & Bewertung","Condition & Grading","Estado & Graduación","État & Évaluation","Condizioni & Valutazione","Состояние & Оценка","Stanje & ocenjivanje","品相与分级","\u002Famiibo-library\u002Famiibo-condition-and-grading","i-lucide-badge-check",[],{"id":504,"title":505,"url":514,"target":62,"icon":515,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":516},"2-2",{"de":506,"en":507,"es":508,"fr":509,"it":510,"ru":511,"sr":512,"zh":513},"Ausgaben & Nachdrucke","Editions & Reprints","Ediciones & Reimpresiones","Éditions & Réimpressions","Edizioni & ristampe","Издания & переиздания","Izdanja & reizdanja","版本 & 重印","\u002Famiibo\u002Fcollecting\u002F","i-lucide-layers",[],{"id":518,"title":519,"url":528,"target":62,"icon":529,"isActive":15,"type":105,"productId":14,"categoryId":14,"shopCategoryId":14,"articleId":14,"pageId":14,"portfolioId":14,"children":530},"2-7",{"de":520,"en":521,"es":522,"fr":523,"it":524,"ru":525,"sr":526,"zh":527},"Nachdruck-Timeline","Reprint Timeline","Cronología de reimpresión","Chronologie des réimpressions","Cronologia ristampe","Хронология переизданий","Hronologija reprinta","重印时间轴","\u002Freference\u002Ftimelines\u002Famiibo-reprint-timeline","i-lucide-timer",[],{"statusCode":4,"data":532,"message":2223},{"id":533,"title":534,"slug":535,"content":536,"contentJson":537,"excerpt":1250,"featuredImage":1251,"featuredImageAlt":1252,"featuredImageCaption":14,"featuredImageTitle":14,"featuredImageCopyright":14,"featuredImageAuthor":14,"featuredImageSourceUrl":14,"featuredImageLicense":14,"featuredImageIsAiGenerated":1253,"status":1254,"publishedAt":1255,"createdAt":1256,"updatedAt":1257,"seoLocalePaths":1258,"categories":1267,"author":1288,"translations":1292},"448","Сжатие текстур с помощью нейросетей RTX — это не апскейлинг: как ИИ позволяет обменивать память для текстур на вычислительные ресурсы GPU","rtx-neural-texture-compression-is-not-upscaling-how-ai-can-trade-texture-memory-for-gpu-compute","\u003Cp>Обычно под сжатием текстур понимают хранение уменьшенной версии текстурных данных и её развёртывание в обычный формат GPU до или во время использования. NVIDIA RTX Neural Texture Compression меняет эту модель: часть текстурных данных становится небольшим нейросетевым представлением, которое может декодироваться самим GPU.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--info my-6 rounded-xl border p-5 border-blue-300 bg-blue-50 dark:border-blue-900 dark:bg-blue-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Прямой ответ\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">\u003Cstrong>RTX Neural Texture Compression — это не апскейлинг текстур.\u003C\u002Fstrong> Он сжимает несколько текстур материала в веса нейронной сети плюс компактные латентные данные, а затем восстанавливает запрошенные значения текстур с помощью небольшой нейронной сети. В зависимости от режима интеграции игра может обменять объём хранения и использование VRAM на дополнительную работу вывода GPU.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-callout editorjs-callout--note my-6 rounded-xl border p-5 border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900\u002F40\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Текущий статус\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">RTX Neural Texture Compression всё ещё остаётся \u003Cstrong>бета-SDK\u003C\u002Fstrong>. Текущая бета-версия v0.10.0 добавила поддержку вывода DirectX 12 Linear Algebra, напрямую связывая NTC с новой инфраструктурой нейронных шейдеров, обсуждаемой в другом месте на Figure Rocks.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Cnav class=\"editorjs-toc\" data-editorjs-toc=\"true\" aria-label=\"Содержание\">\u003Cstrong class=\"editorjs-toc__title\">Содержание\u003C\u002Fstrong>\u003Col class=\"editorjs-toc__list editorjs-toc__list--depth-0\">\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-5\" class=\"editorjs-toc__link\">Почему обычное сжатие текстур всё ещё требует много памяти\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-9\" class=\"editorjs-toc__link\">Что на самом деле хранит RTX Neural Texture Compression\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-13\" class=\"editorjs-toc__link\">Почему совместное сжатие каналов может помочь\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-17\" class=\"editorjs-toc__link\">Три режима выполнения NTC — ключ к пониманию технологии\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-20\" class=\"editorjs-toc__link\">Вывод при загрузке: нейронное сжатие как формат хранения\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-25\" class=\"editorjs-toc__link\">Вывод при сэмплировании: сохранение текстуры нейронной в VRAM\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-32\" class=\"editorjs-toc__link\">Вывод по обратной связи: декодировать только то, что игрок действительно видит\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-37\" class=\"editorjs-toc__link\">Обмен между хранением текстур и вычислениями\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-40\" class=\"editorjs-toc__link\">Почему важны специализированные матричные аппаратные средства\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-45\" class=\"editorjs-toc__link\">Почему нейронное сжатие текстур — это не апскейлинг текстур\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-49\" class=\"editorjs-toc__link\">Ручка качества — это биты на пиксель\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-54\" class=\"editorjs-toc__link\">Почему важны коррелированные каналы материалов\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-58\" class=\"editorjs-toc__link\">Тест ценности нейронных текстур\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-60\" class=\"editorjs-toc__link\">Почему «в 8 раз меньше» требует контекста\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-64\" class=\"editorjs-toc__link\">Размер декодера — ещё один компромисс между производительностью и качеством\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-68\" class=\"editorjs-toc__link\">Почему это важно для будущих установок игр\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-72\" class=\"editorjs-toc__link\">Это также меняет значение термина «память текстур»\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-76\" class=\"editorjs-toc__link\">Кроссплатформенная поддержка сложнее, чем предполагает название RTX\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-80\" class=\"editorjs-toc__link\">Что могло бы изменить этот ответ?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-83\" class=\"editorjs-toc__link\">Ограничения\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-86\" class=\"editorjs-toc__link\">Заключение\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-91\" class=\"editorjs-toc__link\">Часто задаваемые вопросы\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-93\" class=\"editorjs-toc__link\">Глоссарий\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-95\" class=\"editorjs-toc__link\">Первоисточники\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fnav>\n\u003Ch2 id=\"section-5\">Почему обычное сжатие текстур всё ещё требует много памяти\u003C\u002Fh2>\n\u003Cp>Современный физически корректный материал редко состоит из одного изображения. Одна поверхность может использовать альбедо, нормали, шероховатость, металличность, ambient occlusion, прозрачность и другие каналы.\u003C\u002Fp>\n\u003Cp>Традиционные форматы блочного сжатия GPU, такие как BC1–BC7, снижают затраты, но GPU всё равно хранит обычные текстурные блоки для материала.\u003C\u002Fp>\n\u003Cp>По мере увеличения разрешения текстур и сложности материалов эти каналы потребляют дисковое пространство, пропускную способность потоковой передачи и память GPU.\u003C\u002Fp>\n\u003Ch2 id=\"section-9\">Что на самом деле хранит RTX Neural Texture Compression\u003C\u002Fh2>\n\u003Cp>SDK RTXNTC от NVIDIA сжимает каналы, принадлежащие одному материалу, вместе. Текущий SDK поддерживает до 16 текстурных каналов в одном наборе текстур NTC.\u003C\u002Fp>\n\u003Cp>Вместо хранения только обычных сжатых текселей процесс сжатия создаёт две основные вещи: веса для небольшого нейронного декодера и компактные латентные признаки.\u003C\u002Fp>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Конвейер нейронных текстур\u003C\u002Fh3>\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">1. Исходные текстуры материала\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Альбедо, нормали, шероховатость, металличность и другие каналы материала предоставляются вместе.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. Офлайн-сжатие\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">SDK изучает компактное представление материала.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. Нейронные веса\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Небольшая сеть-декодер хранит часть того, что необходимо для восстановления материала.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">4\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">4. Латентные данные\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Компактные тензоры признаков хранят информацию, специфичную для материала.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">5\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">5. Вывод на GPU\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Во время выполнения декодер объединяет латентные данные и нейронные веса для восстановления значений текстур.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-13\">Почему совместное сжатие каналов может помочь\u003C\u002Fh2>\n\u003Cp>Каналы материала часто связаны. Царапина, видимая в базовом цвете, может также появляться в карте нормалей или шероховатости. Узор ткани может влиять на несколько каналов в одном и том же пространственном месте.\u003C\u002Fp>\n\u003Cp>NVIDIA разработала NTC, чтобы использовать эти корреляции вместо независимого сжатия каждой текстуры.\u003C\u002Fp>\n\u003Cp>Это одна из причин, по которой технологию описывают как сжатие, ориентированное на материал, а не просто как ещё один формат изображения.\u003C\u002Fp>\n\u003Ch2 id=\"section-17\">Три режима выполнения NTC — ключ к пониманию технологии\u003C\u002Fh2>\n\u003Cp>Самая важная часть RTXNTC — не только то, как сжимается материал. Важно то, когда игра решает его распаковать.\u003C\u002Fp>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Вывод при загрузке vs Вывод при сэмплировании vs Вывод по обратной связи\u003C\u002Fh3>\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left dark:border-gray-700 dark:bg-gray-900\">\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Когда происходит нейронное декодирование\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Поведение текстурной памяти во время выполнения\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Основной компромисс\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Вывод при загрузке\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Вывод при сэмплировании\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Вывод по обратной связи\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-20\">Вывод при загрузке: нейронное сжатие как формат хранения\u003C\u002Fh2>\n\u003Cp>Вывод при загрузке — самый простой для понимания режим.\u003C\u002Fp>\n\u003Cp>Игра хранит материал в компактной форме NTC. Когда ресурс загружается, GPU восстанавливает данные текстуры и может перекодировать их в обычные форматы текстур BCn.\u003C\u002Fp>\n\u003Cp>После этого шага рендеринг может использовать обычную выборку текстур. Основная экономия происходит главным образом до декомпрессии: размер упакованной игры, размер загрузки или пропускная способность потоковой передачи ресурсов.\u003C\u002Fp>\n\u003Cp>Но как только материал полностью разворачивается в обычные текстуры, его потребление VRAM во время выполнения снова приближается к обычному представлению.\u003C\u002Fp>\n\u003Ch2 id=\"section-25\">Вывод при сэмплировании: сохранение текстуры нейронной в VRAM\u003C\u002Fh2>\n\u003Cp>Вывод при сэмплировании — более радикальный режим.\u003C\u002Fp>\n\u003Cp>Вместо разворачивания материала в обычные текстуры перед рендерингом шейдер читает компактные латентные данные и запускает нейронный декодер, когда ему нужны значения текстуры.\u003C\u002Fp>\n\u003Cp>Пример из собственного SDK NVIDIA сравнивает представление материала BCn размером 12 МБ с представлением NTC размером 2,5 МБ при использовании вывода при сэмплировании.\u003C\u002Fp>\n\u003Cp>Экономия реальна, потому что обычные данные текстуры не должны оставаться полностью резидентными. Но затраты перемещаются в другое место: пиксельный шейдер или шейдер попаданий теперь выполняет нейронный вывод.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Сжатие не устраняет работу\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Вывод при сэмплировании обменивает \u003Cstrong>память и пропускную способность\u003C\u002Fstrong> на \u003Cstrong>вычисления GPU\u003C\u002Fstrong>. Правильный вопрос не «Насколько меньше текстура?», а «Оправдывает ли экономия памяти дополнительные затраты на вывод в этой рабочей нагрузке?»\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Ffigure.rocks\u002Fru\u002Fblog\u002Fvram-usage-is-not-vram-requirement-why-a-full-memory-meter-does-not-tell-the-whole-story\" class=\"flex flex-col sm:flex-row gap-4 rounded-xl border border-gray-200 dark:border-gray-700 p-4 transition hover:border-primary-500\">\u003Cdiv class=\"min-w-0 flex-1\">\u003Cstrong class=\"block text-lg text-gray-900 dark:text-gray-100\">Использование VRAM — это не требование к VRAM: почему заполненный индикатор памяти не рассказывает всей истории\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">Почему объём VRAM, бюджеты, резидентность и фактическое давление на память — это разные вещи.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Читать руководство по VRAM →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Ch2 id=\"section-32\">Вывод по обратной связи: декодировать только то, что игрок действительно видит\u003C\u002Fh2>\n\u003Cp>Вывод по обратной связи находится между двумя крайностями.\u003C\u002Fp>\n\u003Cp>Рендерер отслеживает, какие тайлы текстуры фактически запрашиваются. Вместо немедленного разворачивания всего материала система может декодировать запрошенные тайлы пакетами и поддерживать рабочий кэш.\u003C\u002Fp>\n\u003Cp>Концептуально это сочетает нейронное сжатие с потоковой передачей текстур: система платит за декодирование только для тех областей, которые становятся релевантными.\u003C\u002Fp>\n\u003Cp>Текущая реализация примера более специализирована, чем другие режимы, и её ограничения по поддержке отличаются, поэтому её следует рассматривать как стратегию интеграции, а не как универсальную замену обычной потоковой передачи текстур.\u003C\u002Fp>\n\u003Ch2 id=\"section-37\">Обмен между хранением текстур и вычислениями\u003C\u002Fh2>\n\u003Cp>Самый простой способ понять нейронное сжатие текстур — рассматривать его как обмен между ресурсами.\u003C\u002Fp>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Что меняется, когда хранение текстур становится нейронным\u003C\u002Fh3>\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left dark:border-gray-700 dark:bg-gray-900\">\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Традиционная сжатая текстура\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Нейронное представление текстуры\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Диск\u002Fхранилище\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">VRAM\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Стоимость выборки\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Контроль качества\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-40\">Почему важны специализированные матричные аппаратные средства\u003C\u002Fh2>\n\u003Cp>Запуск нейронной сети для выборки текстур был бы слишком дорогим, если бы каждое умножение приходилось обрабатывать как обычную скалярную работу шейдера.\u003C\u002Fp>\n\u003Cp>Поэтому RTXNTC выигрывает от Cooperative Vector и теперь путей DirectX 12 Linear Algebra, которые позволяют шейдерам использовать аппаратное ускорение матричных операций на GPU.\u003C\u002Fp>\n\u003Cp>Бета-версия v0.10.0 явно добавила вывод через API DirectX 12 Linear Algebra, представленный с Shader Model 6.10.\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Ffigure.rocks\u002Fru\u002Fblog\u002Fdirectx-is-becoming-an-ml-platform-what-linear-algebra-and-neural-shaders-mean-for-future-games\" class=\"flex flex-col sm:flex-row gap-4 rounded-xl border border-gray-200 dark:border-gray-700 p-4 transition hover:border-primary-500\">\u003Cdiv class=\"min-w-0 flex-1\">\u003Cstrong class=\"block text-lg text-gray-900 dark:text-gray-100\">DirectX становится ML-платформой: что линейная алгебра и нейронные шейдеры означают для будущих игр\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">Как DirectX переносит матричные и нейронные операции непосредственно в HLSL и графический конвейер.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Читать руководство по нейронным шейдерам DirectX →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Ch2 id=\"section-45\">Почему нейронное сжатие текстур — это не апскейлинг текстур\u003C\u002Fh2>\n\u003Cp>Обе техники могут использовать машинное обучение, но они решают разные задачи.\u003C\u002Fp>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Нейронное сжатие текстур против суперразрешения\u003C\u002Fh3>\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left dark:border-gray-700 dark:bg-gray-900\">\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Нейронное сжатие текстур\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Суперразрешение\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Вход\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Цель\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Когда выполняется\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Выход\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Cp>Таким образом, нейронное сжатие текстур может существовать под DLSS, FSR, XeSS или нативным рендерингом. Оно меняет способ хранения и восстановления данных материалов, а не итоговое разрешение дисплея.\u003C\u002Fp>\n\u003Ch2 id=\"section-49\">Ручка качества — это биты на пиксель\u003C\u002Fh2>\n\u003Cp>NTC — это сжатие с потерями. Объём сжатой информации в основном контролируется настройкой битов на пиксель.\u003C\u002Fp>\n\u003Cp>Более высокий битрейт даёт модели больше информации и обычно улучшает качество восстановления. Более низкий битрейт улучшает сжатие, но увеличивает риск видимых ошибок.\u003C\u002Fp>\n\u003Cp>Поскольку несколько каналов используют одно и то же представление, добавление новых каналов материала без увеличения битрейта может снизить качество, доступное каждому каналу.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--note my-6 rounded-xl border p-5 border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900\u002F40\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Нейронное не означает без потерь\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">В документации SDK прямо отмечается, что ошибка сжатия — это нормально. Практическая цель — \u003Cstrong>приемлемая визуальная ошибка при полезных затратах на хранение и во время выполнения\u003C\u002Fstrong>.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-54\">Почему важны коррелированные каналы материалов\u003C\u002Fh2>\n\u003Cp>Нейронное представление становится более ценным, когда несколько материальных каналов описывают связанную структуру.\u003C\u002Fp>\n\u003Cp>Если альбедо, нормали и шероховатость содержат одинаковые царапины, швы или переплетение ткани, декодер может использовать общую пространственную информацию.\u003C\u002Fp>\n\u003Cp>Если каналы представляют собой несвязанный шум, общей структуры для использования меньше, и задача сжатия становится сложнее.\u003C\u002Fp>\n\u003Ch2 id=\"section-58\">Тест ценности нейронных текстур\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Когда нейронное сжатие текстур действительно полезно?\u003C\u002Fh3>\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">1. Измерьте стоимость обычных текстур\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Сколько дискового пространства, пропускной способности потоковой передачи и видеопамяти потребляют существующие материальные текстуры?\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. Выберите режим выполнения\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Вам нужна только экономия места на диске, постоянная экономия видеопамяти или потоковая реконструкция тайлов?\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. Задайте приемлемый целевой уровень качества\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Сравнивайте реконструированные каналы с исходным материалом, а не только с финальным изображением.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">4\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">4. Измерьте стоимость вывода\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Зафиксируйте дополнительное время работы шейдера или декомпрессии на реальном целевом GPU.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">5\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">5. Измерьте экономию памяти\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Проверяйте реальный рабочий набор во время выполнения, а не только размер сжатого файла.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">6\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">6. Протестируйте сложные материалы\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Тонкие нормали, резкие маски, прозрачность, текст и несвязанные каналы могут выявить ошибки сжатия.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">7\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">7. Решайте по чистой выгоде\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Используйте NTC только там, где сэкономленная память или пропускная способность оправдывают дополнительные затраты на вывод и сложность интеграции.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-60\">Почему «в 8 раз меньше» требует контекста\u003C\u002Fh2>\n\u003Cp>NVIDIA RTX Kit описывает RTX Neural Texture Compression как обеспечивающее до 8-кратного улучшения дискового пространства при визуальной точности, близкой к традиционному блочному сжатию.\u003C\u002Fp>\n\u003Cp>Фраза «до» имеет значение. Степень сжатия зависит от материала, количества каналов, целевого битрейта, конфигурации декодера и порога качества.\u003C\u002Fp>\n\u003Cp>Тот же коэффициент также не описывает автоматически экономию видеопамяти. Вывод при загрузке может начинаться с компактного файла и всё равно разворачиваться в обычные GPU-текстуры. Вывод при выборке сохраняет компактное представление в памяти GPU, но расходует больше вычислений во время шейдинга.\u003C\u002Fp>\n\u003Ch2 id=\"section-64\">Размер декодера — ещё один компромисс между производительностью и качеством\u003C\u002Fh2>\n\u003Cp>Среда выполнения NTC использует небольшой многослойный перцептрон для декодирования значений текстуры.\u003C\u002Fp>\n\u003Cp>Текущая библиотека NVIDIA использует настраиваемую архитектуру декодера. Более крупные сети могут улучшить качество сжатия, но требуют больше затрат на выполнение; меньшие сети могут работать быстрее с некоторой потерей качества реконструкции.\u003C\u002Fp>\n\u003Cp>Это даёт разработчикам движков ещё одно измерение для настройки помимо разрешения текстур и битрейта.\u003C\u002Fp>\n\u003Ch2 id=\"section-68\">Почему это важно для будущих установок игр\u003C\u002Fh2>\n\u003Cp>Современные игры всё чаще поставляются с наборами материалов высокого разрешения, которые влияют как на размер загрузки, так и на память во время выполнения.\u003C\u002Fp>\n\u003Cp>Нейронное сжатие текстур создаёт новую возможность: поставлять компактное обученное представление и позже решать, разворачивать ли его при загрузке, реконструировать ли напрямую во время шейдинга или декодировать только запрошенные тайлы.\u003C\u002Fp>\n\u003Cp>Это означает, что одно сжатое представление ресурса может участвовать в нескольких различных стратегиях использования памяти во время выполнения.\u003C\u002Fp>\n\u003Ch2 id=\"section-72\">Это также меняет значение термина «память текстур»\u003C\u002Fh2>\n\u003Cp>При традиционном рендеринге бюджет памяти под текстуры в основном определяется форматами текстур, уровнями mip, разрешением и резидентностью.\u003C\u002Fp>\n\u003Cp>С нейронными текстурами разработчикам также приходится учитывать латентные данные, веса декодера, буферы вывода, кэши транскодирования и вычисления, необходимые для восстановления запрошенных значений.\u003C\u002Fp>\n\u003Cp>Таким образом, у актива больше нет одной простой фиксированной идентичности в памяти.\u003C\u002Fp>\n\u003Ch2 id=\"section-76\">Кроссплатформенная поддержка сложнее, чем предполагает название RTX\u003C\u002Fh2>\n\u003Cp>RTXNTC — это SDK от NVIDIA, и само сжатие в настоящее время требует GPU NVIDIA в соответствии с требованиями SDK.\u003C\u002Fp>\n\u003Cp>Декомпрессия во время выполнения шире. NVIDIA документирует функциональные пути на оборудовании Shader Model 6 и отмечает валидацию на GPU NVIDIA, AMD и Intel, тогда как продвинутые пути Cooperative Vector \u002F Linear Algebra зависят от поддержки API и драйвера.\u003C\u002Fp>\n\u003Cp>Поэтому не следует предполагать равенство производительности и функциональности между производителями только потому, что базовый декодер может работать.\u003C\u002Fp>\n\u003Ch2 id=\"section-80\">Что могло бы изменить этот ответ?\u003C\u002Fh2>\n\u003Cp>NTC всё ещё находится в стадии бета-тестирования. Режимы выполнения, архитектуры декодеров, поддержка драйверов и пути интеграции могут измениться до стабильного производственного релиза.\u003C\u002Fp>\n\u003Cp>Самым большим долгосрочным изменением стало бы широкое внедрение стандартизированных нейронных шейдерных примитивов в DirectX и Vulkan. Это сделало бы декодирование нейронных текстур менее зависимым от пользовательских путей выполнения, специфичных для конкретного производителя.\u003C\u002Fp>\n\u003Ch2 id=\"section-83\">Ограничения\u003C\u002Fh2>\n\u003Cp>В этой статье описывается архитектура и текущее публичное поведение RTXNTC SDK. Приведённые NVIDIA заявления о сжатии предоставлены производителем и не должны рассматриваться как гарантированные результаты для каждого материала.\u003C\u002Fp>\n\u003Cp>Текущий SDK является бета-версией программного обеспечения, и некоторые предварительные пути имеют документированные ограничения драйверов и платформ.\u003C\u002Fp>\n\u003Ch2 id=\"section-86\">Заключение\u003C\u002Fh2>\n\u003Cp>RTX Neural Texture Compression интересна тем, что меняет очень старое предположение: детализация текстур не всегда должна существовать в памяти в виде обычных текселей.\u003C\u002Fp>\n\u003Cp>Вместо этого материал может храниться частично в виде компактного обученного представления и восстанавливаться при необходимости.\u003C\u002Fp>\n\u003Cp>Это не даёт бесплатного качества или бесплатной памяти. Это создаёт новый обмен: меньше хранения, пропускной способности и потенциально VRAM в обмен на работу нейронного вывода.\u003C\u002Fp>\n\u003Cp>Настоящая инновация не в том, что «ИИ делает текстуры чётче». А в том, что часть данных материалов игры может стать вычислением.\u003C\u002Fp>\n\u003Ch2 id=\"section-91\">Часто задаваемые вопросы\u003C\u002Fh2>\n\u003Csection class=\"editorjs-faq my-6 rounded-xl border border-gray-200 p-5 dark:border-gray-700\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">RTX Neural Texture Compression простыми словами\u003C\u002Fh3>\u003Cdiv id=\"faq1\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Является ли RTX Neural Texture Compression апскейлером?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Нет. Он сжимает и восстанавливает данные текстур материалов. Технологии суперразрешения восстанавливают финальное отрендеренное изображение в более высоком разрешении дисплея.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq2\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Может ли NTC снизить потребление видеопамяти?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Да, особенно при Inference on Sample, поскольку компактное нейронное представление может оставаться в памяти GPU вместо полностью развёрнутых обычных текстур. Inference on Load в основном сохраняет экономию места до развёртывания.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq3\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Что хранит нейронная сеть?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Сжатый материал содержит компактные латентные признаки плюс веса небольшой сети-декодера, которая восстанавливает значения текстуры.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq4\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Декодирует ли NTC всю текстуру перед рендерингом?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Не обязательно. Inference on Load делает это, Inference on Sample восстанавливает значения во время выборки в шейдере, а Inference on Feedback может декодировать запрошенные тайлы текстуры.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq5\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Является ли нейронное сжатие текстур сжатием без потерь?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Нет. RTXNTC — это сжатие с потерями, и качество зависит от битрейта, количества каналов, конфигурации декодера и самого материала.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq6\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Готов ли RTXNTC к использованию в продакшене?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Текущий публичный SDK всё ещё помечен как бета, поэтому API, поддержка и характеристики производительности могут продолжать меняться.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-93\">Глоссарий\u003C\u002Fh2>\n\u003Csection class=\"editorjs-glossary my-6 rounded-xl border border-gray-200 dark:border-gray-700 p-5\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Ключевые термины нейронных текстур\u003C\u002Fh3>\u003Cdl>\u003Cdiv id=\"neural-texture-compression\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Neural Texture Compression\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Техника, которая хранит информацию о текстуре в виде компактных латентных данных плюс весов нейронного декодера вместо только обычных блоков текселей.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"latent-data\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Латентные данные\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Компактные обученные признаки, которые нейронный декодер использует для восстановления значений текстуры.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"decoder\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Декодер\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Небольшая нейронная сеть, которая преобразует латентные признаки в восстановленные каналы текстуры.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"inference-on-load\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Inference on Load\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Режим времени выполнения, который декодирует нейронную текстуру при загрузке ассета, обычно в обычные форматы текстур.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"inference-on-sample\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Inference on Sample\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Режим времени выполнения, который выполняет нейронное декодирование непосредственно во время выборки текстуры, чтобы сжатое представление могло оставаться в памяти.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"inference-on-feedback\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Inference on Feedback\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Стратегия времени выполнения, которая использует обратную связь по текстурам для декодирования и кэширования только запрошенных тайлов.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"texture-storage-compute-exchange\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Texture Storage–Compute Exchange\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Модель Figure Rocks, описывающая обмен хранилища текстур, пропускной способности и видеопамяти на дополнительную работу GPU по нейронному выводу.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"neural-texture-value-test\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Neural Texture Value Test\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Рабочий процесс Figure Rocks для определения того, даёт ли нейронное сжатие текстур чистую выгоду для конкретного материала и целевого GPU.\u003C\u002Fdd>\u003C\u002Fdiv>\u003C\u002Fdl>\u003C\u002Fsection>\n\u003Ch2 id=\"section-95\">Первоисточники\u003C\u002Fh2>\n\u003Ca href=\"https:\u002F\u002Fdeveloper.nvidia.com\u002Frtx-kit\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">NVIDIA Developer — RTX Kit\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Официальный обзор RTX Neural Texture Compression и опубликованное NVIDIA позиционирование по сокращению объёма хранилища.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FNVIDIA-RTX\u002FRTXNTC\u002Fblob\u002Fmain\u002FREADME.md\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">NVIDIA RTXNTC — SDK README\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Официальная документация SDK, описывающая сжатие каналов материалов, представление декодера\u002Fлатентных данных, режимы времени выполнения, примеры использования памяти, системные требования и поддержку Cooperative Vector.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FNVIDIA-RTX\u002FRTXNTC\u002Freleases\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">NVIDIA RTXNTC — Releases\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Официальная история релизов, включая бета-версию v0.10.0 и поддержку вывода DirectX 12 Linear Algebra.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FNVIDIA-RTX\u002FRTXNTC\u002Fblob\u002Fmain\u002Fdocs\u002FSettingsAndQuality.md\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">NVIDIA RTXNTC — Compression Settings and Image Quality\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Официальная документация, охватывающая битрейт, взаимодействие каналов, измерение качества и поведение сжатия с потерями.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FNVIDIA-RTX\u002FRTXNTC-Library\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">NVIDIA — LibNTC\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Официальная документация библиотеки времени выполнения, описывающая конфигурацию декодера и компромисс между качеством и производительностью для нейронных сетей разного размера.\u003C\u002Fp>\u003C\u002Fa>",{"time":538,"blocks":539,"version":1249},1790379127752,[540,546,554,561,568,574,579,584,589,594,599,604,627,632,637,642,647,652,657,687,692,697,702,707,712,717,722,727,732,737,743,752,757,762,767,772,777,782,787,816,821,826,831,836,844,849,854,882,887,892,897,902,907,913,918,923,928,933,938,965,970,975,980,985,990,995,1000,1005,1010,1015,1020,1025,1030,1035,1040,1045,1050,1055,1060,1065,1070,1075,1080,1085,1090,1095,1100,1105,1110,1115,1120,1125,1155,1160,1198,1203,1213,1222,1231,1240],{"id":541,"data":542,"type":544,"tunes":545},"intro",{"text":543},"Обычно под сжатием текстур понимают хранение уменьшенной версии текстурных данных и её развёртывание в обычный формат GPU до или во время использования. NVIDIA RTX Neural Texture Compression меняет эту модель: часть текстурных данных становится небольшим нейросетевым представлением, которое может декодироваться самим GPU.","paragraph",{},{"id":547,"data":548,"type":552,"tunes":553},"direct",{"body":549,"title":550,"variant":551},"\u003Cstrong>RTX Neural Texture Compression — это не апскейлинг текстур.\u003C\u002Fstrong> Он сжимает несколько текстур материала в веса нейронной сети плюс компактные латентные данные, а затем восстанавливает запрошенные значения текстур с помощью небольшой нейронной сети. В зависимости от режима интеграции игра может обменять объём хранения и использование VRAM на дополнительную работу вывода GPU.","Прямой ответ","info","callout",{},{"id":555,"data":556,"type":552,"tunes":560},"status",{"body":557,"title":558,"variant":559},"RTX Neural Texture Compression всё ещё остаётся \u003Cstrong>бета-SDK\u003C\u002Fstrong>. Текущая бета-версия v0.10.0 добавила поддержку вывода DirectX 12 Linear Algebra, напрямую связывая NTC с новой инфраструктурой нейронных шейдеров, обсуждаемой в другом месте на Figure Rocks.","Текущий статус","note",{},{"id":562,"data":563,"type":566,"tunes":567},"toc",{"title":564,"maxLevel":565,"minLevel":47},"Содержание",3,"tableOfContents",{},{"id":569,"data":570,"type":572,"tunes":573},"h-normal",{"text":571,"level":47},"Почему обычное сжатие текстур всё ещё требует много памяти","header",{},{"id":575,"data":576,"type":544,"tunes":578},"p-normal-1",{"text":577},"Современный физически корректный материал редко состоит из одного изображения. Одна поверхность может использовать альбедо, нормали, шероховатость, металличность, ambient occlusion, прозрачность и другие каналы.",{},{"id":580,"data":581,"type":544,"tunes":583},"p-normal-2",{"text":582},"Традиционные форматы блочного сжатия GPU, такие как BC1–BC7, снижают затраты, но GPU всё равно хранит обычные текстурные блоки для материала.",{},{"id":585,"data":586,"type":544,"tunes":588},"p-normal-3",{"text":587},"По мере увеличения разрешения текстур и сложности материалов эти каналы потребляют дисковое пространство, пропускную способность потоковой передачи и память GPU.",{},{"id":590,"data":591,"type":572,"tunes":593},"h-store",{"text":592,"level":47},"Что на самом деле хранит RTX Neural Texture Compression",{},{"id":595,"data":596,"type":544,"tunes":598},"p-store-1",{"text":597},"SDK RTXNTC от NVIDIA сжимает каналы, принадлежащие одному материалу, вместе. Текущий SDK поддерживает до 16 текстурных каналов в одном наборе текстур NTC.",{},{"id":600,"data":601,"type":544,"tunes":603},"p-store-2",{"text":602},"Вместо хранения только обычных сжатых текселей процесс сжатия создаёт две основные вещи: веса для небольшого нейронного декодера и компактные латентные признаки.",{},{"id":605,"data":606,"type":625,"tunes":626},"pipeline",{"steps":607,"title":623,"orientation":624},[608,611,614,617,620],{"label":609,"description":610},"1. Исходные текстуры материала","Альбедо, нормали, шероховатость, металличность и другие каналы материала предоставляются вместе.",{"label":612,"description":613},"2. Офлайн-сжатие","SDK изучает компактное представление материала.",{"label":615,"description":616},"3. Нейронные веса","Небольшая сеть-декодер хранит часть того, что необходимо для восстановления материала.",{"label":618,"description":619},"4. Латентные данные","Компактные тензоры признаков хранят информацию, специфичную для материала.",{"label":621,"description":622},"5. Вывод на GPU","Во время выполнения декодер объединяет латентные данные и нейронные веса для восстановления значений текстур.","Конвейер нейронных текстур","auto","processFlow",{},{"id":628,"data":629,"type":572,"tunes":631},"h-correlation",{"text":630,"level":47},"Почему совместное сжатие каналов может помочь",{},{"id":633,"data":634,"type":544,"tunes":636},"p-cor-1",{"text":635},"Каналы материала часто связаны. Царапина, видимая в базовом цвете, может также появляться в карте нормалей или шероховатости. Узор ткани может влиять на несколько каналов в одном и том же пространственном месте.",{},{"id":638,"data":639,"type":544,"tunes":641},"p-cor-2",{"text":640},"NVIDIA разработала NTC, чтобы использовать эти корреляции вместо независимого сжатия каждой текстуры.",{},{"id":643,"data":644,"type":544,"tunes":646},"p-cor-3",{"text":645},"Это одна из причин, по которой технологию описывают как сжатие, ориентированное на материал, а не просто как ещё один формат изображения.",{},{"id":648,"data":649,"type":572,"tunes":651},"h-modes",{"text":650,"level":47},"Три режима выполнения NTC — ключ к пониманию технологии",{},{"id":653,"data":654,"type":544,"tunes":656},"p-modes-1",{"text":655},"Самая важная часть RTXNTC — не только то, как сжимается материал. Важно то, когда игра решает его распаковать.",{},{"id":658,"data":659,"type":685,"tunes":686},"modes-table",{"rows":660,"title":673,"layout":674,"columns":675},[661,665,669],{"id":662,"label":663,"values":664},"load","Вывод при загрузке",[13,13,13],{"id":666,"label":667,"values":668},"sample","Вывод при сэмплировании",[13,13,13],{"id":670,"label":671,"values":672},"feedback","Вывод по обратной связи",[13,13,13],"Вывод при загрузке vs Вывод при сэмплировании vs Вывод по обратной связи","table",[676,679,682],{"id":677,"label":678},"when","Когда происходит нейронное декодирование",{"id":680,"label":681},"memory","Поведение текстурной памяти во время выполнения",{"id":683,"label":684},"tradeoff","Основной компромисс","comparison",{},{"id":688,"data":689,"type":572,"tunes":691},"h-load",{"text":690,"level":47},"Вывод при загрузке: нейронное сжатие как формат хранения",{},{"id":693,"data":694,"type":544,"tunes":696},"p-load-1",{"text":695},"Вывод при загрузке — самый простой для понимания режим.",{},{"id":698,"data":699,"type":544,"tunes":701},"p-load-2",{"text":700},"Игра хранит материал в компактной форме NTC. Когда ресурс загружается, GPU восстанавливает данные текстуры и может перекодировать их в обычные форматы текстур BCn.",{},{"id":703,"data":704,"type":544,"tunes":706},"p-load-3",{"text":705},"После этого шага рендеринг может использовать обычную выборку текстур. Основная экономия происходит главным образом до декомпрессии: размер упакованной игры, размер загрузки или пропускная способность потоковой передачи ресурсов.",{},{"id":708,"data":709,"type":544,"tunes":711},"p-load-4",{"text":710},"Но как только материал полностью разворачивается в обычные текстуры, его потребление VRAM во время выполнения снова приближается к обычному представлению.",{},{"id":713,"data":714,"type":572,"tunes":716},"h-sample",{"text":715,"level":47},"Вывод при сэмплировании: сохранение текстуры нейронной в VRAM",{},{"id":718,"data":719,"type":544,"tunes":721},"p-sample-1",{"text":720},"Вывод при сэмплировании — более радикальный режим.",{},{"id":723,"data":724,"type":544,"tunes":726},"p-sample-2",{"text":725},"Вместо разворачивания материала в обычные текстуры перед рендерингом шейдер читает компактные латентные данные и запускает нейронный декодер, когда ему нужны значения текстуры.",{},{"id":728,"data":729,"type":544,"tunes":731},"p-sample-3",{"text":730},"Пример из собственного SDK NVIDIA сравнивает представление материала BCn размером 12 МБ с представлением NTC размером 2,5 МБ при использовании вывода при сэмплировании.",{},{"id":733,"data":734,"type":544,"tunes":736},"p-sample-4",{"text":735},"Экономия реальна, потому что обычные данные текстуры не должны оставаться полностью резидентными. Но затраты перемещаются в другое место: пиксельный шейдер или шейдер попаданий теперь выполняет нейронный вывод.",{},{"id":683,"data":738,"type":552,"tunes":742},{"body":739,"title":740,"variant":741},"Вывод при сэмплировании обменивает \u003Cstrong>память и пропускную способность\u003C\u002Fstrong> на \u003Cstrong>вычисления GPU\u003C\u002Fstrong>. Правильный вопрос не «Насколько меньше текстура?», а «Оправдывает ли экономия памяти дополнительные затраты на вывод в этой рабочей нагрузке?»","Сжатие не устраняет работу","warning",{},{"id":744,"data":745,"type":750,"tunes":751},"ref-vram",{"url":746,"title":747,"excerpt":748,"ctaLabel":749},"https:\u002F\u002Ffigure.rocks\u002Fru\u002Fblog\u002Fvram-usage-is-not-vram-requirement-why-a-full-memory-meter-does-not-tell-the-whole-story","Использование VRAM — это не требование к VRAM: почему заполненный индикатор памяти не рассказывает всей истории","Почему объём VRAM, бюджеты, резидентность и фактическое давление на память — это разные вещи.","Читать руководство по VRAM","referralArticle",{},{"id":753,"data":754,"type":572,"tunes":756},"h-feedback",{"text":755,"level":47},"Вывод по обратной связи: декодировать только то, что игрок действительно видит",{},{"id":758,"data":759,"type":544,"tunes":761},"p-feed-1",{"text":760},"Вывод по обратной связи находится между двумя крайностями.",{},{"id":763,"data":764,"type":544,"tunes":766},"p-feed-2",{"text":765},"Рендерер отслеживает, какие тайлы текстуры фактически запрашиваются. Вместо немедленного разворачивания всего материала система может декодировать запрошенные тайлы пакетами и поддерживать рабочий кэш.",{},{"id":768,"data":769,"type":544,"tunes":771},"p-feed-3",{"text":770},"Концептуально это сочетает нейронное сжатие с потоковой передачей текстур: система платит за декодирование только для тех областей, которые становятся релевантными.",{},{"id":773,"data":774,"type":544,"tunes":776},"p-feed-4",{"text":775},"Текущая реализация примера более специализирована, чем другие режимы, и её ограничения по поддержке отличаются, поэтому её следует рассматривать как стратегию интеграции, а не как универсальную замену обычной потоковой передачи текстур.",{},{"id":778,"data":779,"type":572,"tunes":781},"h-exchange",{"text":780,"level":47},"Обмен между хранением текстур и вычислениями",{},{"id":783,"data":784,"type":544,"tunes":786},"p-exchange-1",{"text":785},"Самый простой способ понять нейронное сжатие текстур — рассматривать его как обмен между ресурсами.",{},{"id":788,"data":789,"type":685,"tunes":815},"exchange-table",{"rows":790,"title":807,"layout":674,"columns":808},[791,795,799,803],{"id":792,"label":793,"values":794},"storage","Диск\u002Fхранилище",[13,13],{"id":796,"label":797,"values":798},"vram","VRAM",[13,13],{"id":800,"label":801,"values":802},"sampling","Стоимость выборки",[13,13],{"id":804,"label":805,"values":806},"quality","Контроль качества",[13,13],"Что меняется, когда хранение текстур становится нейронным",[809,812],{"id":810,"label":811},"traditional","Традиционная сжатая текстура",{"id":813,"label":814},"neural","Нейронное представление текстуры",{},{"id":817,"data":818,"type":572,"tunes":820},"h-matrix",{"text":819,"level":47},"Почему важны специализированные матричные аппаратные средства",{},{"id":822,"data":823,"type":544,"tunes":825},"p-matrix-1",{"text":824},"Запуск нейронной сети для выборки текстур был бы слишком дорогим, если бы каждое умножение приходилось обрабатывать как обычную скалярную работу шейдера.",{},{"id":827,"data":828,"type":544,"tunes":830},"p-matrix-2",{"text":829},"Поэтому RTXNTC выигрывает от Cooperative Vector и теперь путей DirectX 12 Linear Algebra, которые позволяют шейдерам использовать аппаратное ускорение матричных операций на GPU.",{},{"id":832,"data":833,"type":544,"tunes":835},"p-matrix-3",{"text":834},"Бета-версия v0.10.0 явно добавила вывод через API DirectX 12 Linear Algebra, представленный с Shader Model 6.10.",{},{"id":837,"data":838,"type":750,"tunes":843},"ref-directx",{"url":839,"title":840,"excerpt":841,"ctaLabel":842},"https:\u002F\u002Ffigure.rocks\u002Fru\u002Fblog\u002Fdirectx-is-becoming-an-ml-platform-what-linear-algebra-and-neural-shaders-mean-for-future-games","DirectX становится ML-платформой: что линейная алгебра и нейронные шейдеры означают для будущих игр","Как DirectX переносит матричные и нейронные операции непосредственно в HLSL и графический конвейер.","Читать руководство по нейронным шейдерам DirectX",{},{"id":845,"data":846,"type":572,"tunes":848},"h-not-upscale",{"text":847,"level":47},"Почему нейронное сжатие текстур — это не апскейлинг текстур",{},{"id":850,"data":851,"type":544,"tunes":853},"p-notup-1",{"text":852},"Обе техники могут использовать машинное обучение, но они решают разные задачи.",{},{"id":855,"data":856,"type":685,"tunes":881},"ntc-vs-sr",{"rows":857,"title":873,"layout":674,"columns":874},[858,862,866,869],{"id":859,"label":860,"values":861},"input","Вход",[13,13],{"id":863,"label":864,"values":865},"goal","Цель",[13,13],{"id":677,"label":867,"values":868},"Когда выполняется",[13,13],{"id":870,"label":871,"values":872},"output","Выход",[13,13],"Нейронное сжатие текстур против суперразрешения",[875,878],{"id":876,"label":877},"ntc","Нейронное сжатие текстур",{"id":879,"label":880},"sr","Суперразрешение",{},{"id":883,"data":884,"type":544,"tunes":886},"p-notup-2",{"text":885},"Таким образом, нейронное сжатие текстур может существовать под DLSS, FSR, XeSS или нативным рендерингом. Оно меняет способ хранения и восстановления данных материалов, а не итоговое разрешение дисплея.",{},{"id":888,"data":889,"type":572,"tunes":891},"h-bpp",{"text":890,"level":47},"Ручка качества — это биты на пиксель",{},{"id":893,"data":894,"type":544,"tunes":896},"p-bpp-1",{"text":895},"NTC — это сжатие с потерями. Объём сжатой информации в основном контролируется настройкой битов на пиксель.",{},{"id":898,"data":899,"type":544,"tunes":901},"p-bpp-2",{"text":900},"Более высокий битрейт даёт модели больше информации и обычно улучшает качество восстановления. Более низкий битрейт улучшает сжатие, но увеличивает риск видимых ошибок.",{},{"id":903,"data":904,"type":544,"tunes":906},"p-bpp-3",{"text":905},"Поскольку несколько каналов используют одно и то же представление, добавление новых каналов материала без увеличения битрейта может снизить качество, доступное каждому каналу.",{},{"id":908,"data":909,"type":552,"tunes":912},"lossy-note",{"body":910,"title":911,"variant":559},"В документации SDK прямо отмечается, что ошибка сжатия — это нормально. Практическая цель — \u003Cstrong>приемлемая визуальная ошибка при полезных затратах на хранение и во время выполнения\u003C\u002Fstrong>.","Нейронное не означает без потерь",{},{"id":914,"data":915,"type":572,"tunes":917},"h-channels",{"text":916,"level":47},"Почему важны коррелированные каналы материалов",{},{"id":919,"data":920,"type":544,"tunes":922},"p-channels-1",{"text":921},"Нейронное представление становится более ценным, когда несколько материальных каналов описывают связанную структуру.",{},{"id":924,"data":925,"type":544,"tunes":927},"p-channels-2",{"text":926},"Если альбедо, нормали и шероховатость содержат одинаковые царапины, швы или переплетение ткани, декодер может использовать общую пространственную информацию.",{},{"id":929,"data":930,"type":544,"tunes":932},"p-channels-3",{"text":931},"Если каналы представляют собой несвязанный шум, общей структуры для использования меньше, и задача сжатия становится сложнее.",{},{"id":934,"data":935,"type":572,"tunes":937},"h-test",{"text":936,"level":47},"Тест ценности нейронных текстур",{},{"id":939,"data":940,"type":625,"tunes":964},"value-test",{"steps":941,"title":963,"orientation":624},[942,945,948,951,954,957,960],{"label":943,"description":944},"1. Измерьте стоимость обычных текстур","Сколько дискового пространства, пропускной способности потоковой передачи и видеопамяти потребляют существующие материальные текстуры?",{"label":946,"description":947},"2. Выберите режим выполнения","Вам нужна только экономия места на диске, постоянная экономия видеопамяти или потоковая реконструкция тайлов?",{"label":949,"description":950},"3. Задайте приемлемый целевой уровень качества","Сравнивайте реконструированные каналы с исходным материалом, а не только с финальным изображением.",{"label":952,"description":953},"4. Измерьте стоимость вывода","Зафиксируйте дополнительное время работы шейдера или декомпрессии на реальном целевом GPU.",{"label":955,"description":956},"5. Измерьте экономию памяти","Проверяйте реальный рабочий набор во время выполнения, а не только размер сжатого файла.",{"label":958,"description":959},"6. Протестируйте сложные материалы","Тонкие нормали, резкие маски, прозрачность, текст и несвязанные каналы могут выявить ошибки сжатия.",{"label":961,"description":962},"7. Решайте по чистой выгоде","Используйте NTC только там, где сэкономленная память или пропускная способность оправдывают дополнительные затраты на вывод и сложность интеграции.","Когда нейронное сжатие текстур действительно полезно?",{},{"id":966,"data":967,"type":572,"tunes":969},"h-8x",{"text":968,"level":47},"Почему «в 8 раз меньше» требует контекста",{},{"id":971,"data":972,"type":544,"tunes":974},"p-8x-1",{"text":973},"NVIDIA RTX Kit описывает RTX Neural Texture Compression как обеспечивающее до 8-кратного улучшения дискового пространства при визуальной точности, близкой к традиционному блочному сжатию.",{},{"id":976,"data":977,"type":544,"tunes":979},"p-8x-2",{"text":978},"Фраза «до» имеет значение. Степень сжатия зависит от материала, количества каналов, целевого битрейта, конфигурации декодера и порога качества.",{},{"id":981,"data":982,"type":544,"tunes":984},"p-8x-3",{"text":983},"Тот же коэффициент также не описывает автоматически экономию видеопамяти. Вывод при загрузке может начинаться с компактного файла и всё равно разворачиваться в обычные GPU-текстуры. Вывод при выборке сохраняет компактное представление в памяти GPU, но расходует больше вычислений во время шейдинга.",{},{"id":986,"data":987,"type":572,"tunes":989},"h-decoder",{"text":988,"level":47},"Размер декодера — ещё один компромисс между производительностью и качеством",{},{"id":991,"data":992,"type":544,"tunes":994},"p-dec-1",{"text":993},"Среда выполнения NTC использует небольшой многослойный перцептрон для декодирования значений текстуры.",{},{"id":996,"data":997,"type":544,"tunes":999},"p-dec-2",{"text":998},"Текущая библиотека NVIDIA использует настраиваемую архитектуру декодера. Более крупные сети могут улучшить качество сжатия, но требуют больше затрат на выполнение; меньшие сети могут работать быстрее с некоторой потерей качества реконструкции.",{},{"id":1001,"data":1002,"type":544,"tunes":1004},"p-dec-3",{"text":1003},"Это даёт разработчикам движков ещё одно измерение для настройки помимо разрешения текстур и битрейта.",{},{"id":1006,"data":1007,"type":572,"tunes":1009},"h-install",{"text":1008,"level":47},"Почему это важно для будущих установок игр",{},{"id":1011,"data":1012,"type":544,"tunes":1014},"p-install-1",{"text":1013},"Современные игры всё чаще поставляются с наборами материалов высокого разрешения, которые влияют как на размер загрузки, так и на память во время выполнения.",{},{"id":1016,"data":1017,"type":544,"tunes":1019},"p-install-2",{"text":1018},"Нейронное сжатие текстур создаёт новую возможность: поставлять компактное обученное представление и позже решать, разворачивать ли его при загрузке, реконструировать ли напрямую во время шейдинга или декодировать только запрошенные тайлы.",{},{"id":1021,"data":1022,"type":544,"tunes":1024},"p-install-3",{"text":1023},"Это означает, что одно сжатое представление ресурса может участвовать в нескольких различных стратегиях использования памяти во время выполнения.",{},{"id":1026,"data":1027,"type":572,"tunes":1029},"h-meaning",{"text":1028,"level":47},"Это также меняет значение термина «память текстур»",{},{"id":1031,"data":1032,"type":544,"tunes":1034},"p-meaning-1",{"text":1033},"При традиционном рендеринге бюджет памяти под текстуры в основном определяется форматами текстур, уровнями mip, разрешением и резидентностью.",{},{"id":1036,"data":1037,"type":544,"tunes":1039},"p-meaning-2",{"text":1038},"С нейронными текстурами разработчикам также приходится учитывать латентные данные, веса декодера, буферы вывода, кэши транскодирования и вычисления, необходимые для восстановления запрошенных значений.",{},{"id":1041,"data":1042,"type":544,"tunes":1044},"p-meaning-3",{"text":1043},"Таким образом, у актива больше нет одной простой фиксированной идентичности в памяти.",{},{"id":1046,"data":1047,"type":572,"tunes":1049},"h-cross",{"text":1048,"level":47},"Кроссплатформенная поддержка сложнее, чем предполагает название RTX",{},{"id":1051,"data":1052,"type":544,"tunes":1054},"p-cross-1",{"text":1053},"RTXNTC — это SDK от NVIDIA, и само сжатие в настоящее время требует GPU NVIDIA в соответствии с требованиями SDK.",{},{"id":1056,"data":1057,"type":544,"tunes":1059},"p-cross-2",{"text":1058},"Декомпрессия во время выполнения шире. NVIDIA документирует функциональные пути на оборудовании Shader Model 6 и отмечает валидацию на GPU NVIDIA, AMD и Intel, тогда как продвинутые пути Cooperative Vector \u002F Linear Algebra зависят от поддержки API и драйвера.",{},{"id":1061,"data":1062,"type":544,"tunes":1064},"p-cross-3",{"text":1063},"Поэтому не следует предполагать равенство производительности и функциональности между производителями только потому, что базовый декодер может работать.",{},{"id":1066,"data":1067,"type":572,"tunes":1069},"h-change",{"text":1068,"level":47},"Что могло бы изменить этот ответ?",{},{"id":1071,"data":1072,"type":544,"tunes":1074},"p-change-1",{"text":1073},"NTC всё ещё находится в стадии бета-тестирования. Режимы выполнения, архитектуры декодеров, поддержка драйверов и пути интеграции могут измениться до стабильного производственного релиза.",{},{"id":1076,"data":1077,"type":544,"tunes":1079},"p-change-2",{"text":1078},"Самым большим долгосрочным изменением стало бы широкое внедрение стандартизированных нейронных шейдерных примитивов в DirectX и Vulkan. Это сделало бы декодирование нейронных текстур менее зависимым от пользовательских путей выполнения, специфичных для конкретного производителя.",{},{"id":1081,"data":1082,"type":572,"tunes":1084},"h-limit",{"text":1083,"level":47},"Ограничения",{},{"id":1086,"data":1087,"type":544,"tunes":1089},"p-limit-1",{"text":1088},"В этой статье описывается архитектура и текущее публичное поведение RTXNTC SDK. Приведённые NVIDIA заявления о сжатии предоставлены производителем и не должны рассматриваться как гарантированные результаты для каждого материала.",{},{"id":1091,"data":1092,"type":544,"tunes":1094},"p-limit-2",{"text":1093},"Текущий SDK является бета-версией программного обеспечения, и некоторые предварительные пути имеют документированные ограничения драйверов и платформ.",{},{"id":1096,"data":1097,"type":572,"tunes":1099},"h-conclusion",{"text":1098,"level":47},"Заключение",{},{"id":1101,"data":1102,"type":544,"tunes":1104},"p-conc-1",{"text":1103},"RTX Neural Texture Compression интересна тем, что меняет очень старое предположение: детализация текстур не всегда должна существовать в памяти в виде обычных текселей.",{},{"id":1106,"data":1107,"type":544,"tunes":1109},"p-conc-2",{"text":1108},"Вместо этого материал может храниться частично в виде компактного обученного представления и восстанавливаться при необходимости.",{},{"id":1111,"data":1112,"type":544,"tunes":1114},"p-conc-3",{"text":1113},"Это не даёт бесплатного качества или бесплатной памяти. Это создаёт новый обмен: меньше хранения, пропускной способности и потенциально VRAM в обмен на работу нейронного вывода.",{},{"id":1116,"data":1117,"type":544,"tunes":1119},"p-conc-4",{"text":1118},"Настоящая инновация не в том, что «ИИ делает текстуры чётче». А в том, что часть данных материалов игры может стать вычислением.",{},{"id":1121,"data":1122,"type":572,"tunes":1124},"h-faq",{"text":1123,"level":47},"Часто задаваемые вопросы",{},{"id":1126,"data":1127,"type":1126,"tunes":1154},"faq",{"items":1128,"title":1153},[1129,1133,1137,1141,1145,1149],{"id":1130,"answer":1131,"question":1132},"faq1","Нет. Он сжимает и восстанавливает данные текстур материалов. Технологии суперразрешения восстанавливают финальное отрендеренное изображение в более высоком разрешении дисплея.","Является ли RTX Neural Texture Compression апскейлером?",{"id":1134,"answer":1135,"question":1136},"faq2","Да, особенно при Inference on Sample, поскольку компактное нейронное представление может оставаться в памяти GPU вместо полностью развёрнутых обычных текстур. Inference on Load в основном сохраняет экономию места до развёртывания.","Может ли NTC снизить потребление видеопамяти?",{"id":1138,"answer":1139,"question":1140},"faq3","Сжатый материал содержит компактные латентные признаки плюс веса небольшой сети-декодера, которая восстанавливает значения текстуры.","Что хранит нейронная сеть?",{"id":1142,"answer":1143,"question":1144},"faq4","Не обязательно. Inference on Load делает это, Inference on Sample восстанавливает значения во время выборки в шейдере, а Inference on Feedback может декодировать запрошенные тайлы текстуры.","Декодирует ли NTC всю текстуру перед рендерингом?",{"id":1146,"answer":1147,"question":1148},"faq5","Нет. RTXNTC — это сжатие с потерями, и качество зависит от битрейта, количества каналов, конфигурации декодера и самого материала.","Является ли нейронное сжатие текстур сжатием без потерь?",{"id":1150,"answer":1151,"question":1152},"faq6","Текущий публичный SDK всё ещё помечен как бета, поэтому API, поддержка и характеристики производительности могут продолжать меняться.","Готов ли RTXNTC к использованию в продакшене?","RTX Neural Texture Compression простыми словами",{},{"id":1156,"data":1157,"type":572,"tunes":1159},"h-glossary",{"text":1158,"level":47},"Глоссарий",{},{"id":1161,"data":1162,"type":1161,"tunes":1197},"glossary",{"title":1163,"entries":1164},"Ключевые термины нейронных текстур",[1165,1169,1173,1177,1181,1185,1189,1193],{"term":1166,"anchor":1167,"definition":1168},"Neural Texture Compression","neural-texture-compression","Техника, которая хранит информацию о текстуре в виде компактных латентных данных плюс весов нейронного декодера вместо только обычных блоков текселей.",{"term":1170,"anchor":1171,"definition":1172},"Латентные данные","latent-data","Компактные обученные признаки, которые нейронный декодер использует для восстановления значений текстуры.",{"term":1174,"anchor":1175,"definition":1176},"Декодер","decoder","Небольшая нейронная сеть, которая преобразует латентные признаки в восстановленные каналы текстуры.",{"term":1178,"anchor":1179,"definition":1180},"Inference on Load","inference-on-load","Режим времени выполнения, который декодирует нейронную текстуру при загрузке ассета, обычно в обычные форматы текстур.",{"term":1182,"anchor":1183,"definition":1184},"Inference on Sample","inference-on-sample","Режим времени выполнения, который выполняет нейронное декодирование непосредственно во время выборки текстуры, чтобы сжатое представление могло оставаться в памяти.",{"term":1186,"anchor":1187,"definition":1188},"Inference on Feedback","inference-on-feedback","Стратегия времени выполнения, которая использует обратную связь по текстурам для декодирования и кэширования только запрошенных тайлов.",{"term":1190,"anchor":1191,"definition":1192},"Texture Storage–Compute Exchange","texture-storage-compute-exchange","Модель Figure Rocks, описывающая обмен хранилища текстур, пропускной способности и видеопамяти на дополнительную работу GPU по нейронному выводу.",{"term":1194,"anchor":1195,"definition":1196},"Neural Texture Value Test","neural-texture-value-test","Рабочий процесс Figure Rocks для определения того, даёт ли нейронное сжатие текстур чистую выгоду для конкретного материала и целевого GPU.",{},{"id":1199,"data":1200,"type":572,"tunes":1202},"h-sources",{"text":1201,"level":47},"Первоисточники",{},{"id":1204,"data":1205,"type":1211,"tunes":1212},"src-rtxkit",{"link":1206,"meta":1207},"https:\u002F\u002Fdeveloper.nvidia.com\u002Frtx-kit",{"image":1208,"title":1209,"description":1210},{"url":13},"NVIDIA Developer — RTX Kit","Официальный обзор RTX Neural Texture Compression и опубликованное NVIDIA позиционирование по сокращению объёма хранилища.","linkTool",{},{"id":1214,"data":1215,"type":1211,"tunes":1221},"src-rtxntc-readme",{"link":1216,"meta":1217},"https:\u002F\u002Fgithub.com\u002FNVIDIA-RTX\u002FRTXNTC\u002Fblob\u002Fmain\u002FREADME.md",{"image":1218,"title":1219,"description":1220},{"url":13},"NVIDIA RTXNTC — SDK README","Официальная документация SDK, описывающая сжатие каналов материалов, представление декодера\u002Fлатентных данных, режимы времени выполнения, примеры использования памяти, системные требования и поддержку Cooperative Vector.",{},{"id":1223,"data":1224,"type":1211,"tunes":1230},"src-rtxntc-release",{"link":1225,"meta":1226},"https:\u002F\u002Fgithub.com\u002FNVIDIA-RTX\u002FRTXNTC\u002Freleases",{"image":1227,"title":1228,"description":1229},{"url":13},"NVIDIA RTXNTC — Releases","Официальная история релизов, включая бета-версию v0.10.0 и поддержку вывода DirectX 12 Linear Algebra.",{},{"id":1232,"data":1233,"type":1211,"tunes":1239},"src-rtxntc-quality",{"link":1234,"meta":1235},"https:\u002F\u002Fgithub.com\u002FNVIDIA-RTX\u002FRTXNTC\u002Fblob\u002Fmain\u002Fdocs\u002FSettingsAndQuality.md",{"image":1236,"title":1237,"description":1238},{"url":13},"NVIDIA RTXNTC — Compression Settings and Image Quality","Официальная документация, охватывающая битрейт, взаимодействие каналов, измерение качества и поведение сжатия с потерями.",{},{"id":1241,"data":1242,"type":1211,"tunes":1248},"src-libntc",{"link":1243,"meta":1244},"https:\u002F\u002Fgithub.com\u002FNVIDIA-RTX\u002FRTXNTC-Library",{"image":1245,"title":1246,"description":1247},{"url":13},"NVIDIA — LibNTC","Официальная документация библиотеки времени выполнения, описывающая конфигурацию декодера и компромисс между качеством и производительностью для нейронных сетей разного размера.",{},"2.31","NVIDIA RTX Neural Texture Compression меняет подход к хранению игровых материалов. Вместо того чтобы хранить каждый канал текстуры только в виде обычных текселей, материал можно сжать в компактные латентные данные и небольшой нейронный декодер, а затем восстановить на GPU при необходимости.","\u002Fuploads\u002F2026\u002F09\u002Frtx-neural-texture-compression-is-not-upscaling-how-ai-can-trade-texture-memory-for-gpu-compute-1790378933528-ul75hf.webp","rtx-neural-texture-compression-is-not-upscaling-how-ai-can-trade-texture-memory-for-gpu-compute-1790378933528-ul75hf",false,"PUBLISHED","2026-09-25T21:27:00.000Z","2026-09-25T23:27:34.869Z","2026-09-25T23:32:35.051Z",{"en":1259,"de":1260,"sr":1261,"es":1262,"fr":1263,"it":1264,"ru":1265,"zh":1266},"\u002Fblog\u002Frtx-neural-texture-compression-is-not-upscaling-how-ai-can-trade-texture-memory-for-gpu-compute","\u002Fde\u002Fblog\u002Frtx-neural-texture-compression-is-not-upscaling-how-ai-can-trade-texture-memory-for-gpu-compute","\u002Fsr\u002Fblog\u002Frtx-neural-texture-compression-is-not-upscaling-how-ai-can-trade-texture-memory-for-gpu-compute","\u002Fes\u002Fblog\u002Frtx-neural-texture-compression-is-not-upscaling-how-ai-can-trade-texture-memory-for-gpu-compute","\u002Ffr\u002Fblog\u002Frtx-neural-texture-compression-is-not-upscaling-how-ai-can-trade-texture-memory-for-gpu-compute","\u002Fit\u002Fblog\u002Frtx-neural-texture-compression-is-not-upscaling-how-ai-can-trade-texture-memory-for-gpu-compute","\u002Fru\u002Fblog\u002Frtx-neural-texture-compression-is-not-upscaling-how-ai-can-trade-texture-memory-for-gpu-compute","\u002Fzh\u002Fblog\u002Frtx-neural-texture-compression-is-not-upscaling-how-ai-can-trade-texture-memory-for-gpu-compute",[1268,1272,1276,1280,1284],{"id":1269,"name":1270,"slug":1271},152,"VRAM и стриминг","vram-and-streaming",{"id":1273,"name":1274,"slug":1275},330,"Исправления стриминга и ввода-вывода","streaming-and-io-fixes",{"id":1277,"name":1278,"slug":1279},173,"Процессоры, память, накопители","cpus-memory-storage",{"id":1281,"name":1282,"slug":1283},210,"Что такое качество","what-quality-means",{"id":1285,"name":1286,"slug":1287},214,"Маркетинг против реальности","marketing-vs-reality",{"id":283,"login":1289,"email":1290,"displayName":1291},"aleksandar","aleksandar@stajic.de","Aleksandar Stajic",[1293,1845],{"lang":8,"title":1294,"content":1295,"contentJson":1296,"excerpt":1844},"RTX Neural Texture Compression Is Not Upscaling: How AI Can Trade Texture Memory for GPU Compute","{\"time\":1790378899383,\"blocks\":[{\"id\":\"intro\",\"type\":\"paragraph\",\"data\":{\"text\":\"Texture compression normally means storing a smaller version of texture data and expanding it into a conventional GPU format before or during use. NVIDIA RTX Neural Texture Compression changes that model: part of the texture data becomes a small neural representation that can be decoded by the GPU itself.\"},\"tunes\":{}},{\"id\":\"direct\",\"type\":\"callout\",\"data\":{\"variant\":\"info\",\"title\":\"Direct answer\",\"body\":\"\u003Cstrong>RTX Neural Texture Compression is not texture upscaling.\u003C\u002Fstrong> It compresses multiple material textures into neural-network weights plus compact latent data, then reconstructs the requested texture values with a small neural network. Depending on the integration mode, the game can trade storage and VRAM usage for additional GPU inference work.\"},\"tunes\":{}},{\"id\":\"status\",\"type\":\"callout\",\"data\":{\"variant\":\"note\",\"title\":\"Current status\",\"body\":\"RTX Neural Texture Compression is still a \u003Cstrong>beta SDK\u003C\u002Fstrong>. The current v0.10.0 beta added DirectX 12 Linear Algebra inference support, connecting NTC directly to the new neural-shader infrastructure discussed elsewhere on Figure Rocks.\"},\"tunes\":{}},{\"id\":\"toc\",\"type\":\"tableOfContents\",\"data\":{\"title\":\"Contents\",\"minLevel\":2,\"maxLevel\":3},\"tunes\":{}},{\"id\":\"h-normal\",\"type\":\"header\",\"data\":{\"text\":\"Why normal texture compression still uses a lot of memory\",\"level\":2},\"tunes\":{}},{\"id\":\"p-normal-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A modern physically based material rarely consists of one image. A single surface may use albedo, normal, roughness, metalness, ambient occlusion, opacity and other channels.\"},\"tunes\":{}},{\"id\":\"p-normal-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Traditional GPU block-compression formats such as BC1 through BC7 reduce the cost, but the GPU still ends up storing conventional texture blocks for the material.\"},\"tunes\":{}},{\"id\":\"p-normal-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"As texture resolution and material complexity increase, those channels consume disk space, streaming bandwidth and GPU memory.\"},\"tunes\":{}},{\"id\":\"h-store\",\"type\":\"header\",\"data\":{\"text\":\"What RTX Neural Texture Compression actually stores\",\"level\":2},\"tunes\":{}},{\"id\":\"p-store-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"NVIDIA's RTXNTC SDK compresses the channels belonging to one material together. The current SDK supports up to 16 texture channels in one NTC texture set.\"},\"tunes\":{}},{\"id\":\"p-store-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Instead of keeping only conventional compressed texels, the compression process produces two main things: weights for a small neural decoder and compact latent feature data.\"},\"tunes\":{}},{\"id\":\"pipeline\",\"type\":\"processFlow\",\"data\":{\"title\":\"The neural texture pipeline\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Original material textures\",\"description\":\"Albedo, normal, roughness, metalness and other material channels are provided together.\"},{\"label\":\"2. Offline compression\",\"description\":\"The SDK learns a compact representation of the material.\"},{\"label\":\"3. Neural weights\",\"description\":\"A small decoder network stores part of what is needed to reconstruct the material.\"},{\"label\":\"4. Latent data\",\"description\":\"Compact feature tensors store material-specific information.\"},{\"label\":\"5. GPU inference\",\"description\":\"At runtime, the decoder combines the latent data and neural weights to reconstruct texture values.\"}]},\"tunes\":{}},{\"id\":\"h-correlation\",\"type\":\"header\",\"data\":{\"text\":\"Why compressing channels together can help\",\"level\":2},\"tunes\":{}},{\"id\":\"p-cor-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Material channels are often related. A scratch visible in the base color may also appear in the normal or roughness map. A fabric pattern can influence several channels at the same spatial location.\"},\"tunes\":{}},{\"id\":\"p-cor-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"NVIDIA designed NTC to exploit those correlations instead of compressing every texture independently.\"},\"tunes\":{}},{\"id\":\"p-cor-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"That is one reason the technology is described as material-oriented compression rather than merely another image format.\"},\"tunes\":{}},{\"id\":\"h-modes\",\"type\":\"header\",\"data\":{\"text\":\"The three NTC runtime modes are the key to understanding the technology\",\"level\":2},\"tunes\":{}},{\"id\":\"p-modes-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The most important part of RTXNTC is not only how the material is compressed. It is when the game chooses to decompress it.\"},\"tunes\":{}},{\"id\":\"modes-table\",\"type\":\"comparison\",\"data\":{\"title\":\"Inference on Load vs Inference on Sample vs Inference on Feedback\",\"layout\":\"table\",\"columns\":[{\"id\":\"when\",\"label\":\"When neural decoding happens\"},{\"id\":\"memory\",\"label\":\"Runtime texture-memory behavior\"},{\"id\":\"tradeoff\",\"label\":\"Main trade-off\"}],\"rows\":[{\"id\":\"load\",\"label\":\"Inference on Load\",\"values\":[\"\",\"\",\"\"]},{\"id\":\"sample\",\"label\":\"Inference on Sample\",\"values\":[\"\",\"\",\"\"]},{\"id\":\"feedback\",\"label\":\"Inference on Feedback\",\"values\":[\"\",\"\",\"\"]}]},\"tunes\":{}},{\"id\":\"h-load\",\"type\":\"header\",\"data\":{\"text\":\"Inference on Load: neural compression as a storage format\",\"level\":2},\"tunes\":{}},{\"id\":\"p-load-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Inference on Load is the easiest mode to understand.\"},\"tunes\":{}},{\"id\":\"p-load-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The game stores the material in compact NTC form. When the asset is loaded, the GPU reconstructs the texture data and can transcode it into ordinary BCn texture formats.\"},\"tunes\":{}},{\"id\":\"p-load-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"After that step, rendering can use normal texture sampling. The important saving is primarily before decompression: packaged game size, download size or asset-streaming bandwidth.\"},\"tunes\":{}},{\"id\":\"p-load-4\",\"type\":\"paragraph\",\"data\":{\"text\":\"But once the material is fully expanded into conventional textures, its runtime VRAM footprint approaches the conventional representation again.\"},\"tunes\":{}},{\"id\":\"h-sample\",\"type\":\"header\",\"data\":{\"text\":\"Inference on Sample: keep the texture neural in VRAM\",\"level\":2},\"tunes\":{}},{\"id\":\"p-sample-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Inference on Sample is the more radical mode.\"},\"tunes\":{}},{\"id\":\"p-sample-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Instead of expanding the material into conventional textures before rendering, the shader reads compact latent data and runs the neural decoder when it needs texture values.\"},\"tunes\":{}},{\"id\":\"p-sample-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"NVIDIA's own SDK example compares a 12 MB BCn material representation with a 2.5 MB NTC representation when using Inference on Sample.\"},\"tunes\":{}},{\"id\":\"p-sample-4\",\"type\":\"paragraph\",\"data\":{\"text\":\"The saving is real because the conventional texture data does not need to remain fully resident. But the cost moves somewhere else: the pixel or hit shader now performs neural inference.\"},\"tunes\":{}},{\"id\":\"tradeoff\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"Compression does not make the work disappear\",\"body\":\"Inference on Sample trades \u003Cstrong>memory and bandwidth\u003C\u002Fstrong> for \u003Cstrong>GPU computation\u003C\u002Fstrong>. The right question is not “How much smaller is the texture?” but “Is the memory saving worth the added inference cost on this workload?”\"},\"tunes\":{}},{\"id\":\"ref-vram\",\"type\":\"referralArticle\",\"data\":{\"url\":\"https:\u002F\u002Ffigure.rocks\u002Fblog\u002Fvram-usage-is-not-vram-requirement-why-a-full-memory-meter-does-not-tell-the-whole-story\",\"title\":\"VRAM Usage Is Not VRAM Requirement: Why a Full Memory Meter Does Not Tell the Whole Story\",\"excerpt\":\"Why VRAM capacity, budgets, residency and actual memory pressure are different things.\",\"ctaLabel\":\"Read the VRAM guide\"},\"tunes\":{}},{\"id\":\"h-feedback\",\"type\":\"header\",\"data\":{\"text\":\"Inference on Feedback: decode only what the player actually sees\",\"level\":2},\"tunes\":{}},{\"id\":\"p-feed-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Inference on Feedback sits between the two extremes.\"},\"tunes\":{}},{\"id\":\"p-feed-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The renderer tracks which texture tiles are actually requested. Instead of expanding the full material immediately, the system can decode requested tiles in batches and keep a working cache.\"},\"tunes\":{}},{\"id\":\"p-feed-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Conceptually, this combines neural compression with texture streaming: the system pays the decoding cost only for regions that become relevant.\"},\"tunes\":{}},{\"id\":\"p-feed-4\",\"type\":\"paragraph\",\"data\":{\"text\":\"The current sample implementation is more specialized than the other modes and its support constraints differ, so it should be treated as an integration strategy rather than a universal replacement for ordinary texture streaming.\"},\"tunes\":{}},{\"id\":\"h-exchange\",\"type\":\"header\",\"data\":{\"text\":\"The Texture Storage–Compute Exchange\",\"level\":2},\"tunes\":{}},{\"id\":\"p-exchange-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The easiest way to understand neural texture compression is as an exchange between resources.\"},\"tunes\":{}},{\"id\":\"exchange-table\",\"type\":\"comparison\",\"data\":{\"title\":\"What moves when texture storage becomes neural\",\"layout\":\"table\",\"columns\":[{\"id\":\"traditional\",\"label\":\"Traditional compressed texture\"},{\"id\":\"neural\",\"label\":\"Neural texture representation\"}],\"rows\":[{\"id\":\"storage\",\"label\":\"Disk\u002Fstorage\",\"values\":[\"\",\"\"]},{\"id\":\"vram\",\"label\":\"VRAM\",\"values\":[\"\",\"\"]},{\"id\":\"sampling\",\"label\":\"Sampling cost\",\"values\":[\"\",\"\"]},{\"id\":\"quality\",\"label\":\"Quality control\",\"values\":[\"\",\"\"]}]},\"tunes\":{}},{\"id\":\"h-matrix\",\"type\":\"header\",\"data\":{\"text\":\"Why special matrix hardware matters\",\"level\":2},\"tunes\":{}},{\"id\":\"p-matrix-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Running a neural network for texture sampling would be too expensive if every multiply had to be handled like ordinary scalar shader work.\"},\"tunes\":{}},{\"id\":\"p-matrix-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"RTXNTC therefore benefits from Cooperative Vector and now DirectX 12 Linear Algebra paths that let shaders use GPU matrix-acceleration hardware.\"},\"tunes\":{}},{\"id\":\"p-matrix-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The v0.10.0 beta explicitly added inference through the DirectX 12 Linear Algebra API introduced with Shader Model 6.10.\"},\"tunes\":{}},{\"id\":\"ref-directx\",\"type\":\"referralArticle\",\"data\":{\"url\":\"https:\u002F\u002Ffigure.rocks\u002Fblog\u002Fdirectx-is-becoming-an-ml-platform-what-linear-algebra-and-neural-shaders-mean-for-future-games\",\"title\":\"DirectX Is Becoming an ML Platform: What Linear Algebra and Neural Shaders Mean for Future Games\",\"excerpt\":\"How DirectX is moving matrix and neural operations directly into HLSL and the graphics pipeline.\",\"ctaLabel\":\"Read the DirectX neural-shader guide\"},\"tunes\":{}},{\"id\":\"h-not-upscale\",\"type\":\"header\",\"data\":{\"text\":\"Why neural texture compression is not texture upscaling\",\"level\":2},\"tunes\":{}},{\"id\":\"p-notup-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The two techniques can both use machine learning, but they solve different problems.\"},\"tunes\":{}},{\"id\":\"ntc-vs-sr\",\"type\":\"comparison\",\"data\":{\"title\":\"Neural Texture Compression vs Super Resolution\",\"layout\":\"table\",\"columns\":[{\"id\":\"ntc\",\"label\":\"Neural Texture Compression\"},{\"id\":\"sr\",\"label\":\"Super Resolution\"}],\"rows\":[{\"id\":\"input\",\"label\":\"Input\",\"values\":[\"\",\"\"]},{\"id\":\"goal\",\"label\":\"Goal\",\"values\":[\"\",\"\"]},{\"id\":\"when\",\"label\":\"When it runs\",\"values\":[\"\",\"\"]},{\"id\":\"output\",\"label\":\"Output\",\"values\":[\"\",\"\"]}]},\"tunes\":{}},{\"id\":\"p-notup-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Neural Texture Compression can therefore exist underneath DLSS, FSR, XeSS or native rendering. It changes how material data is stored and reconstructed, not the final display resolution.\"},\"tunes\":{}},{\"id\":\"h-bpp\",\"type\":\"header\",\"data\":{\"text\":\"The quality knob is bits per pixel\",\"level\":2},\"tunes\":{}},{\"id\":\"p-bpp-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"NTC is lossy compression. The amount of compressed information is controlled largely through the bits-per-pixel setting.\"},\"tunes\":{}},{\"id\":\"p-bpp-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Higher bitrate gives the model more information and generally improves reconstruction quality. Lower bitrate improves compression but increases the risk of visible error.\"},\"tunes\":{}},{\"id\":\"p-bpp-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Because multiple channels share the same representation, adding more material channels without increasing the bitrate can reduce the quality available to each channel.\"},\"tunes\":{}},{\"id\":\"lossy-note\",\"type\":\"callout\",\"data\":{\"variant\":\"note\",\"title\":\"Neural does not mean lossless\",\"body\":\"The SDK documentation explicitly notes that compression error is normal. The practical target is \u003Cstrong>acceptable visual error at a useful storage and runtime cost\u003C\u002Fstrong>.\"},\"tunes\":{}},{\"id\":\"h-channels\",\"type\":\"header\",\"data\":{\"text\":\"Why correlated material channels are important\",\"level\":2},\"tunes\":{}},{\"id\":\"p-channels-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A neural representation becomes more valuable when several material channels describe related structure.\"},\"tunes\":{}},{\"id\":\"p-channels-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"If albedo, normal and roughness all contain the same scratches, seams or fabric weave, the decoder can exploit shared spatial information.\"},\"tunes\":{}},{\"id\":\"p-channels-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"If the channels are unrelated noise, there is less common structure to exploit and the compression problem becomes harder.\"},\"tunes\":{}},{\"id\":\"h-test\",\"type\":\"header\",\"data\":{\"text\":\"The Neural Texture Value Test\",\"level\":2},\"tunes\":{}},{\"id\":\"value-test\",\"type\":\"processFlow\",\"data\":{\"title\":\"When is neural texture compression actually useful?\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Measure conventional texture cost\",\"description\":\"How much disk space, streaming bandwidth and VRAM do the existing material textures consume?\"},{\"label\":\"2. Choose the runtime mode\",\"description\":\"Do you want storage savings only, persistent VRAM savings or streamed tile reconstruction?\"},{\"label\":\"3. Set an acceptable quality target\",\"description\":\"Compare reconstructed channels against the original material, not only the final beauty image.\"},{\"label\":\"4. Measure inference cost\",\"description\":\"Record added shader or decompression time on the actual target GPU.\"},{\"label\":\"5. Measure memory savings\",\"description\":\"Check the real runtime working set rather than only the compressed file size.\"},{\"label\":\"6. Test difficult materials\",\"description\":\"Fine normals, sharp masks, opacity, text and unrelated channels can expose compression failures.\"},{\"label\":\"7. Decide by net benefit\",\"description\":\"Use NTC only where the saved memory\u002Fbandwidth is worth the extra inference and integration complexity.\"}]},\"tunes\":{}},{\"id\":\"h-8x\",\"type\":\"header\",\"data\":{\"text\":\"Why “8× smaller” needs context\",\"level\":2},\"tunes\":{}},{\"id\":\"p-8x-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"NVIDIA's RTX Kit describes RTX Neural Texture Compression as offering up to 8× disk-memory improvement at similar visual fidelity to traditional block compression.\"},\"tunes\":{}},{\"id\":\"p-8x-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The phrase “up to” matters. Compression ratio depends on the material, number of channels, target bitrate, decoder configuration and quality threshold.\"},\"tunes\":{}},{\"id\":\"p-8x-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The same ratio also does not automatically describe VRAM savings. Inference on Load can start from a compact file and still expand into conventional GPU textures. Inference on Sample preserves the compact representation in GPU memory but spends more compute during shading.\"},\"tunes\":{}},{\"id\":\"h-decoder\",\"type\":\"header\",\"data\":{\"text\":\"Decoder size is another performance-quality trade-off\",\"level\":2},\"tunes\":{}},{\"id\":\"p-dec-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The NTC runtime uses a small multilayer perceptron to decode texture values.\"},\"tunes\":{}},{\"id\":\"p-dec-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"NVIDIA's current library uses a configurable decoder architecture. Larger networks can improve compression quality but cost more to execute; smaller networks can run faster with some loss in reconstruction quality.\"},\"tunes\":{}},{\"id\":\"p-dec-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"That gives engine developers another tuning dimension beyond texture resolution and bitrate.\"},\"tunes\":{}},{\"id\":\"h-install\",\"type\":\"header\",\"data\":{\"text\":\"Why this matters for future game installations\",\"level\":2},\"tunes\":{}},{\"id\":\"p-install-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Modern games increasingly ship high-resolution material sets that affect download size as well as runtime memory.\"},\"tunes\":{}},{\"id\":\"p-install-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Neural texture compression creates a new option: ship a compact learned representation and decide later whether to expand it on load, reconstruct it directly during shading or decode only requested tiles.\"},\"tunes\":{}},{\"id\":\"p-install-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"That means one compressed asset representation can participate in several different runtime memory strategies.\"},\"tunes\":{}},{\"id\":\"h-meaning\",\"type\":\"header\",\"data\":{\"text\":\"It also changes what 'texture memory' means\",\"level\":2},\"tunes\":{}},{\"id\":\"p-meaning-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"With traditional rendering, a texture-memory budget is mostly about texture formats, mip levels, resolution and residency.\"},\"tunes\":{}},{\"id\":\"p-meaning-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"With neural textures, developers may also budget latent data, decoder weights, inference buffers, transcoded caches and the compute needed to reconstruct requested values.\"},\"tunes\":{}},{\"id\":\"p-meaning-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"So the asset no longer has one simple fixed memory identity.\"},\"tunes\":{}},{\"id\":\"h-cross\",\"type\":\"header\",\"data\":{\"text\":\"Cross-vendor support is more nuanced than the RTX name suggests\",\"level\":2},\"tunes\":{}},{\"id\":\"p-cross-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"RTXNTC is an NVIDIA SDK, and compression itself currently requires an NVIDIA GPU according to the SDK requirements.\"},\"tunes\":{}},{\"id\":\"p-cross-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Runtime decompression is broader. NVIDIA documents functional paths on Shader Model 6 hardware and notes validation on NVIDIA, AMD and Intel GPUs, while advanced Cooperative Vector \u002F Linear Algebra paths depend on API and driver support.\"},\"tunes\":{}},{\"id\":\"p-cross-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Performance and feature parity therefore should not be assumed across vendors merely because the basic decoder can run.\"},\"tunes\":{}},{\"id\":\"h-change\",\"type\":\"header\",\"data\":{\"text\":\"What would change this answer?\",\"level\":2},\"tunes\":{}},{\"id\":\"p-change-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"NTC is still beta. Runtime modes, decoder architectures, driver support and integration paths can change before a stable production release.\"},\"tunes\":{}},{\"id\":\"p-change-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The biggest long-term change would be broad adoption of standardized neural-shader primitives across DirectX and Vulkan. That would make neural texture decoding less dependent on custom vendor-specific execution paths.\"},\"tunes\":{}},{\"id\":\"h-limit\",\"type\":\"header\",\"data\":{\"text\":\"Limitations\",\"level\":2},\"tunes\":{}},{\"id\":\"p-limit-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"This article describes the architecture and current public RTXNTC SDK behavior. NVIDIA's quoted compression claims are vendor-provided and should not be treated as guaranteed results for every material.\"},\"tunes\":{}},{\"id\":\"p-limit-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The current SDK is beta software, and some preview paths have documented driver and platform limitations.\"},\"tunes\":{}},{\"id\":\"h-conclusion\",\"type\":\"header\",\"data\":{\"text\":\"Conclusion\",\"level\":2},\"tunes\":{}},{\"id\":\"p-conc-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"RTX Neural Texture Compression is interesting because it changes a very old assumption: texture detail does not always have to exist in memory as conventional texels.\"},\"tunes\":{}},{\"id\":\"p-conc-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A material can instead be stored partly as a compact learned representation and reconstructed when needed.\"},\"tunes\":{}},{\"id\":\"p-conc-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"That does not give free quality or free memory. It creates a new exchange: less storage, bandwidth and potentially VRAM in return for neural inference work.\"},\"tunes\":{}},{\"id\":\"p-conc-4\",\"type\":\"paragraph\",\"data\":{\"text\":\"The real innovation is not “AI makes textures sharper.” It is that part of a game's material data can become computation.\"},\"tunes\":{}},{\"id\":\"h-faq\",\"type\":\"header\",\"data\":{\"text\":\"FAQ\",\"level\":2},\"tunes\":{}},{\"id\":\"faq\",\"type\":\"faq\",\"data\":{\"title\":\"RTX Neural Texture Compression in plain English\",\"items\":[{\"id\":\"faq1\",\"question\":\"Is RTX Neural Texture Compression an upscaler?\",\"answer\":\"No. It compresses and reconstructs material texture data. Super-resolution technologies reconstruct the final rendered image at a higher display resolution.\"},{\"id\":\"faq2\",\"question\":\"Can NTC reduce VRAM usage?\",\"answer\":\"Yes, particularly with Inference on Sample because the compact neural representation can remain in GPU memory instead of fully expanded conventional textures. Inference on Load mainly preserves storage savings before expansion.\"},{\"id\":\"faq3\",\"question\":\"What does the neural network store?\",\"answer\":\"The compressed material contains compact latent feature data plus weights for a small decoder network that reconstructs texture values.\"},{\"id\":\"faq4\",\"question\":\"Does NTC decode the whole texture before rendering?\",\"answer\":\"Not necessarily. Inference on Load does, Inference on Sample reconstructs values during shader sampling, and Inference on Feedback can decode requested texture tiles.\"},{\"id\":\"faq5\",\"question\":\"Is neural texture compression lossless?\",\"answer\":\"No. RTXNTC is lossy compression and quality depends on bitrate, channel count, decoder configuration and the material itself.\"},{\"id\":\"faq6\",\"question\":\"Is RTXNTC production-ready?\",\"answer\":\"The current public SDK is still labeled beta, so APIs, support and performance characteristics may continue to change.\"}]},\"tunes\":{}},{\"id\":\"h-glossary\",\"type\":\"header\",\"data\":{\"text\":\"Glossary\",\"level\":2},\"tunes\":{}},{\"id\":\"glossary\",\"type\":\"glossary\",\"data\":{\"title\":\"Key neural texture terms\",\"entries\":[{\"term\":\"Neural Texture Compression\",\"definition\":\"A technique that stores texture information as compact latent data plus neural decoder weights instead of only conventional texel blocks.\",\"anchor\":\"neural-texture-compression\"},{\"term\":\"Latent data\",\"definition\":\"Compact learned features that the neural decoder uses to reconstruct texture values.\",\"anchor\":\"latent-data\"},{\"term\":\"Decoder\",\"definition\":\"A small neural network that converts latent features into reconstructed texture channels.\",\"anchor\":\"decoder\"},{\"term\":\"Inference on Load\",\"definition\":\"Runtime mode that decodes the neural texture when an asset is loaded, usually into conventional texture formats.\",\"anchor\":\"inference-on-load\"},{\"term\":\"Inference on Sample\",\"definition\":\"Runtime mode that performs neural decoding directly during texture sampling so the compressed representation can remain resident.\",\"anchor\":\"inference-on-sample\"},{\"term\":\"Inference on Feedback\",\"definition\":\"Runtime strategy that uses texture feedback to decode and cache only requested tiles.\",\"anchor\":\"inference-on-feedback\"},{\"term\":\"Texture Storage–Compute Exchange\",\"definition\":\"A Figure Rocks model describing the trade of texture storage, bandwidth and VRAM for additional GPU neural-inference work.\",\"anchor\":\"texture-storage-compute-exchange\"},{\"term\":\"Neural Texture Value Test\",\"definition\":\"A Figure Rocks workflow for deciding whether neural texture compression creates a net benefit for a particular material and target GPU.\",\"anchor\":\"neural-texture-value-test\"}]},\"tunes\":{}},{\"id\":\"h-sources\",\"type\":\"header\",\"data\":{\"text\":\"Primary sources\",\"level\":2},\"tunes\":{}},{\"id\":\"src-rtxkit\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdeveloper.nvidia.com\u002Frtx-kit\",\"meta\":{\"title\":\"NVIDIA Developer — RTX Kit\",\"description\":\"Official overview of RTX Neural Texture Compression and NVIDIA's published storage-reduction positioning.\",\"image\":{\"url\":\"\"}}},\"tunes\":{}},{\"id\":\"src-rtxntc-readme\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fgithub.com\u002FNVIDIA-RTX\u002FRTXNTC\u002Fblob\u002Fmain\u002FREADME.md\",\"meta\":{\"title\":\"NVIDIA RTXNTC — SDK README\",\"description\":\"Official SDK documentation describing material-channel compression, decoder\u002Flatent representation, runtime modes, memory examples, system requirements and Cooperative Vector support.\",\"image\":{\"url\":\"\"}}},\"tunes\":{}},{\"id\":\"src-rtxntc-release\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fgithub.com\u002FNVIDIA-RTX\u002FRTXNTC\u002Freleases\",\"meta\":{\"title\":\"NVIDIA RTXNTC — Releases\",\"description\":\"Official release history, including v0.10.0 beta and DirectX 12 Linear Algebra inference support.\",\"image\":{\"url\":\"\"}}},\"tunes\":{}},{\"id\":\"src-rtxntc-quality\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fgithub.com\u002FNVIDIA-RTX\u002FRTXNTC\u002Fblob\u002Fmain\u002Fdocs\u002FSettingsAndQuality.md\",\"meta\":{\"title\":\"NVIDIA RTXNTC — Compression Settings and Image Quality\",\"description\":\"Official documentation covering bitrate, channel interactions, quality measurement and lossy compression behavior.\",\"image\":{\"url\":\"\"}}},\"tunes\":{}},{\"id\":\"src-libntc\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fgithub.com\u002FNVIDIA-RTX\u002FRTXNTC-Library\",\"meta\":{\"title\":\"NVIDIA — LibNTC\",\"description\":\"Official runtime library documentation describing decoder configuration and the quality\u002Fperformance trade-off of different neural-network sizes.\",\"image\":{\"url\":\"\"}}},\"tunes\":{}}],\"version\":\"2.31.6\"}",{"time":1297,"blocks":1298,"version":1843},1790378899383,[1299,1303,1308,1313,1317,1321,1325,1329,1333,1337,1341,1345,1365,1369,1373,1377,1381,1385,1389,1407,1411,1415,1419,1423,1427,1431,1435,1439,1443,1447,1452,1459,1463,1467,1471,1475,1479,1483,1487,1508,1512,1516,1520,1524,1531,1535,1539,1560,1564,1568,1572,1576,1580,1585,1589,1593,1597,1601,1605,1631,1635,1639,1643,1647,1651,1655,1659,1663,1667,1671,1675,1679,1683,1687,1691,1695,1699,1703,1707,1711,1715,1719,1723,1727,1731,1735,1739,1743,1747,1751,1755,1759,1782,1786,1809,1813,1819,1825,1831,1837],{"id":541,"data":1300,"type":544,"tunes":1302},{"text":1301},"Texture compression normally means storing a smaller version of texture data and expanding it into a conventional GPU format before or during use. NVIDIA RTX Neural Texture Compression changes that model: part of the texture data becomes a small neural representation that can be decoded by the GPU itself.",{},{"id":547,"data":1304,"type":552,"tunes":1307},{"body":1305,"title":1306,"variant":551},"\u003Cstrong>RTX Neural Texture Compression is not texture upscaling.\u003C\u002Fstrong> It compresses multiple material textures into neural-network weights plus compact latent data, then reconstructs the requested texture values with a small neural network. Depending on the integration mode, the game can trade storage and VRAM usage for additional GPU inference work.","Direct answer",{},{"id":555,"data":1309,"type":552,"tunes":1312},{"body":1310,"title":1311,"variant":559},"RTX Neural Texture Compression is still a \u003Cstrong>beta SDK\u003C\u002Fstrong>. The current v0.10.0 beta added DirectX 12 Linear Algebra inference support, connecting NTC directly to the new neural-shader infrastructure discussed elsewhere on Figure Rocks.","Current status",{},{"id":562,"data":1314,"type":566,"tunes":1316},{"title":1315,"maxLevel":565,"minLevel":47},"Contents",{},{"id":569,"data":1318,"type":572,"tunes":1320},{"text":1319,"level":47},"Why normal texture compression still uses a lot of memory",{},{"id":575,"data":1322,"type":544,"tunes":1324},{"text":1323},"A modern physically based material rarely consists of one image. A single surface may use albedo, normal, roughness, metalness, ambient occlusion, opacity and other channels.",{},{"id":580,"data":1326,"type":544,"tunes":1328},{"text":1327},"Traditional GPU block-compression formats such as BC1 through BC7 reduce the cost, but the GPU still ends up storing conventional texture blocks for the material.",{},{"id":585,"data":1330,"type":544,"tunes":1332},{"text":1331},"As texture resolution and material complexity increase, those channels consume disk space, streaming bandwidth and GPU memory.",{},{"id":590,"data":1334,"type":572,"tunes":1336},{"text":1335,"level":47},"What RTX Neural Texture Compression actually stores",{},{"id":595,"data":1338,"type":544,"tunes":1340},{"text":1339},"NVIDIA's RTXNTC SDK compresses the channels belonging to one material together. The current SDK supports up to 16 texture channels in one NTC texture set.",{},{"id":600,"data":1342,"type":544,"tunes":1344},{"text":1343},"Instead of keeping only conventional compressed texels, the compression process produces two main things: weights for a small neural decoder and compact latent feature data.",{},{"id":605,"data":1346,"type":625,"tunes":1364},{"steps":1347,"title":1363,"orientation":624},[1348,1351,1354,1357,1360],{"label":1349,"description":1350},"1. Original material textures","Albedo, normal, roughness, metalness and other material channels are provided together.",{"label":1352,"description":1353},"2. Offline compression","The SDK learns a compact representation of the material.",{"label":1355,"description":1356},"3. Neural weights","A small decoder network stores part of what is needed to reconstruct the material.",{"label":1358,"description":1359},"4. Latent data","Compact feature tensors store material-specific information.",{"label":1361,"description":1362},"5. GPU inference","At runtime, the decoder combines the latent data and neural weights to reconstruct texture values.","The neural texture pipeline",{},{"id":628,"data":1366,"type":572,"tunes":1368},{"text":1367,"level":47},"Why compressing channels together can help",{},{"id":633,"data":1370,"type":544,"tunes":1372},{"text":1371},"Material channels are often related. A scratch visible in the base color may also appear in the normal or roughness map. A fabric pattern can influence several channels at the same spatial location.",{},{"id":638,"data":1374,"type":544,"tunes":1376},{"text":1375},"NVIDIA designed NTC to exploit those correlations instead of compressing every texture independently.",{},{"id":643,"data":1378,"type":544,"tunes":1380},{"text":1379},"That is one reason the technology is described as material-oriented compression rather than merely another image format.",{},{"id":648,"data":1382,"type":572,"tunes":1384},{"text":1383,"level":47},"The three NTC runtime modes are the key to understanding the technology",{},{"id":653,"data":1386,"type":544,"tunes":1388},{"text":1387},"The most important part of RTXNTC is not only how the material is compressed. It is when the game chooses to decompress it.",{},{"id":658,"data":1390,"type":685,"tunes":1406},{"rows":1391,"title":1398,"layout":674,"columns":1399},[1392,1394,1396],{"id":662,"label":1178,"values":1393},[13,13,13],{"id":666,"label":1182,"values":1395},[13,13,13],{"id":670,"label":1186,"values":1397},[13,13,13],"Inference on Load vs Inference on Sample vs Inference on Feedback",[1400,1402,1404],{"id":677,"label":1401},"When neural decoding happens",{"id":680,"label":1403},"Runtime texture-memory behavior",{"id":683,"label":1405},"Main trade-off",{},{"id":688,"data":1408,"type":572,"tunes":1410},{"text":1409,"level":47},"Inference on Load: neural compression as a storage format",{},{"id":693,"data":1412,"type":544,"tunes":1414},{"text":1413},"Inference on Load is the easiest mode to understand.",{},{"id":698,"data":1416,"type":544,"tunes":1418},{"text":1417},"The game stores the material in compact NTC form. When the asset is loaded, the GPU reconstructs the texture data and can transcode it into ordinary BCn texture formats.",{},{"id":703,"data":1420,"type":544,"tunes":1422},{"text":1421},"After that step, rendering can use normal texture sampling. The important saving is primarily before decompression: packaged game size, download size or asset-streaming bandwidth.",{},{"id":708,"data":1424,"type":544,"tunes":1426},{"text":1425},"But once the material is fully expanded into conventional textures, its runtime VRAM footprint approaches the conventional representation again.",{},{"id":713,"data":1428,"type":572,"tunes":1430},{"text":1429,"level":47},"Inference on Sample: keep the texture neural in VRAM",{},{"id":718,"data":1432,"type":544,"tunes":1434},{"text":1433},"Inference on Sample is the more radical mode.",{},{"id":723,"data":1436,"type":544,"tunes":1438},{"text":1437},"Instead of expanding the material into conventional textures before rendering, the shader reads compact latent data and runs the neural decoder when it needs texture values.",{},{"id":728,"data":1440,"type":544,"tunes":1442},{"text":1441},"NVIDIA's own SDK example compares a 12 MB BCn material representation with a 2.5 MB NTC representation when using Inference on Sample.",{},{"id":733,"data":1444,"type":544,"tunes":1446},{"text":1445},"The saving is real because the conventional texture data does not need to remain fully resident. But the cost moves somewhere else: the pixel or hit shader now performs neural inference.",{},{"id":683,"data":1448,"type":552,"tunes":1451},{"body":1449,"title":1450,"variant":741},"Inference on Sample trades \u003Cstrong>memory and bandwidth\u003C\u002Fstrong> for \u003Cstrong>GPU computation\u003C\u002Fstrong>. The right question is not “How much smaller is the texture?” but “Is the memory saving worth the added inference cost on this workload?”","Compression does not make the work disappear",{},{"id":744,"data":1453,"type":750,"tunes":1458},{"url":1454,"title":1455,"excerpt":1456,"ctaLabel":1457},"https:\u002F\u002Ffigure.rocks\u002Fblog\u002Fvram-usage-is-not-vram-requirement-why-a-full-memory-meter-does-not-tell-the-whole-story","VRAM Usage Is Not VRAM Requirement: Why a Full Memory Meter Does Not Tell the Whole Story","Why VRAM capacity, budgets, residency and actual memory pressure are different things.","Read the VRAM guide",{},{"id":753,"data":1460,"type":572,"tunes":1462},{"text":1461,"level":47},"Inference on Feedback: decode only what the player actually sees",{},{"id":758,"data":1464,"type":544,"tunes":1466},{"text":1465},"Inference on Feedback sits between the two extremes.",{},{"id":763,"data":1468,"type":544,"tunes":1470},{"text":1469},"The renderer tracks which texture tiles are actually requested. Instead of expanding the full material immediately, the system can decode requested tiles in batches and keep a working cache.",{},{"id":768,"data":1472,"type":544,"tunes":1474},{"text":1473},"Conceptually, this combines neural compression with texture streaming: the system pays the decoding cost only for regions that become relevant.",{},{"id":773,"data":1476,"type":544,"tunes":1478},{"text":1477},"The current sample implementation is more specialized than the other modes and its support constraints differ, so it should be treated as an integration strategy rather than a universal replacement for ordinary texture streaming.",{},{"id":778,"data":1480,"type":572,"tunes":1482},{"text":1481,"level":47},"The Texture Storage–Compute Exchange",{},{"id":783,"data":1484,"type":544,"tunes":1486},{"text":1485},"The easiest way to understand neural texture compression is as an exchange between resources.",{},{"id":788,"data":1488,"type":685,"tunes":1507},{"rows":1489,"title":1501,"layout":674,"columns":1502},[1490,1493,1495,1498],{"id":792,"label":1491,"values":1492},"Disk\u002Fstorage",[13,13],{"id":796,"label":797,"values":1494},[13,13],{"id":800,"label":1496,"values":1497},"Sampling cost",[13,13],{"id":804,"label":1499,"values":1500},"Quality control",[13,13],"What moves when texture storage becomes neural",[1503,1505],{"id":810,"label":1504},"Traditional compressed texture",{"id":813,"label":1506},"Neural texture representation",{},{"id":817,"data":1509,"type":572,"tunes":1511},{"text":1510,"level":47},"Why special matrix hardware matters",{},{"id":822,"data":1513,"type":544,"tunes":1515},{"text":1514},"Running a neural network for texture sampling would be too expensive if every multiply had to be handled like ordinary scalar shader work.",{},{"id":827,"data":1517,"type":544,"tunes":1519},{"text":1518},"RTXNTC therefore benefits from Cooperative Vector and now DirectX 12 Linear Algebra paths that let shaders use GPU matrix-acceleration hardware.",{},{"id":832,"data":1521,"type":544,"tunes":1523},{"text":1522},"The v0.10.0 beta explicitly added inference through the DirectX 12 Linear Algebra API introduced with Shader Model 6.10.",{},{"id":837,"data":1525,"type":750,"tunes":1530},{"url":1526,"title":1527,"excerpt":1528,"ctaLabel":1529},"https:\u002F\u002Ffigure.rocks\u002Fblog\u002Fdirectx-is-becoming-an-ml-platform-what-linear-algebra-and-neural-shaders-mean-for-future-games","DirectX Is Becoming an ML Platform: What Linear Algebra and Neural Shaders Mean for Future Games","How DirectX is moving matrix and neural operations directly into HLSL and the graphics pipeline.","Read the DirectX neural-shader guide",{},{"id":845,"data":1532,"type":572,"tunes":1534},{"text":1533,"level":47},"Why neural texture compression is not texture upscaling",{},{"id":850,"data":1536,"type":544,"tunes":1538},{"text":1537},"The two techniques can both use machine learning, but they solve different problems.",{},{"id":855,"data":1540,"type":685,"tunes":1559},{"rows":1541,"title":1554,"layout":674,"columns":1555},[1542,1545,1548,1551],{"id":859,"label":1543,"values":1544},"Input",[13,13],{"id":863,"label":1546,"values":1547},"Goal",[13,13],{"id":677,"label":1549,"values":1550},"When it runs",[13,13],{"id":870,"label":1552,"values":1553},"Output",[13,13],"Neural Texture Compression vs Super Resolution",[1556,1557],{"id":876,"label":1166},{"id":879,"label":1558},"Super Resolution",{},{"id":883,"data":1561,"type":544,"tunes":1563},{"text":1562},"Neural Texture Compression can therefore exist underneath DLSS, FSR, XeSS or native rendering. It changes how material data is stored and reconstructed, not the final display resolution.",{},{"id":888,"data":1565,"type":572,"tunes":1567},{"text":1566,"level":47},"The quality knob is bits per pixel",{},{"id":893,"data":1569,"type":544,"tunes":1571},{"text":1570},"NTC is lossy compression. The amount of compressed information is controlled largely through the bits-per-pixel setting.",{},{"id":898,"data":1573,"type":544,"tunes":1575},{"text":1574},"Higher bitrate gives the model more information and generally improves reconstruction quality. Lower bitrate improves compression but increases the risk of visible error.",{},{"id":903,"data":1577,"type":544,"tunes":1579},{"text":1578},"Because multiple channels share the same representation, adding more material channels without increasing the bitrate can reduce the quality available to each channel.",{},{"id":908,"data":1581,"type":552,"tunes":1584},{"body":1582,"title":1583,"variant":559},"The SDK documentation explicitly notes that compression error is normal. The practical target is \u003Cstrong>acceptable visual error at a useful storage and runtime cost\u003C\u002Fstrong>.","Neural does not mean lossless",{},{"id":914,"data":1586,"type":572,"tunes":1588},{"text":1587,"level":47},"Why correlated material channels are important",{},{"id":919,"data":1590,"type":544,"tunes":1592},{"text":1591},"A neural representation becomes more valuable when several material channels describe related structure.",{},{"id":924,"data":1594,"type":544,"tunes":1596},{"text":1595},"If albedo, normal and roughness all contain the same scratches, seams or fabric weave, the decoder can exploit shared spatial information.",{},{"id":929,"data":1598,"type":544,"tunes":1600},{"text":1599},"If the channels are unrelated noise, there is less common structure to exploit and the compression problem becomes harder.",{},{"id":934,"data":1602,"type":572,"tunes":1604},{"text":1603,"level":47},"The Neural Texture Value Test",{},{"id":939,"data":1606,"type":625,"tunes":1630},{"steps":1607,"title":1629,"orientation":624},[1608,1611,1614,1617,1620,1623,1626],{"label":1609,"description":1610},"1. Measure conventional texture cost","How much disk space, streaming bandwidth and VRAM do the existing material textures consume?",{"label":1612,"description":1613},"2. Choose the runtime mode","Do you want storage savings only, persistent VRAM savings or streamed tile reconstruction?",{"label":1615,"description":1616},"3. Set an acceptable quality target","Compare reconstructed channels against the original material, not only the final beauty image.",{"label":1618,"description":1619},"4. Measure inference cost","Record added shader or decompression time on the actual target GPU.",{"label":1621,"description":1622},"5. Measure memory savings","Check the real runtime working set rather than only the compressed file size.",{"label":1624,"description":1625},"6. Test difficult materials","Fine normals, sharp masks, opacity, text and unrelated channels can expose compression failures.",{"label":1627,"description":1628},"7. Decide by net benefit","Use NTC only where the saved memory\u002Fbandwidth is worth the extra inference and integration complexity.","When is neural texture compression actually useful?",{},{"id":966,"data":1632,"type":572,"tunes":1634},{"text":1633,"level":47},"Why “8× smaller” needs context",{},{"id":971,"data":1636,"type":544,"tunes":1638},{"text":1637},"NVIDIA's RTX Kit describes RTX Neural Texture Compression as offering up to 8× disk-memory improvement at similar visual fidelity to traditional block compression.",{},{"id":976,"data":1640,"type":544,"tunes":1642},{"text":1641},"The phrase “up to” matters. Compression ratio depends on the material, number of channels, target bitrate, decoder configuration and quality threshold.",{},{"id":981,"data":1644,"type":544,"tunes":1646},{"text":1645},"The same ratio also does not automatically describe VRAM savings. Inference on Load can start from a compact file and still expand into conventional GPU textures. Inference on Sample preserves the compact representation in GPU memory but spends more compute during shading.",{},{"id":986,"data":1648,"type":572,"tunes":1650},{"text":1649,"level":47},"Decoder size is another performance-quality trade-off",{},{"id":991,"data":1652,"type":544,"tunes":1654},{"text":1653},"The NTC runtime uses a small multilayer perceptron to decode texture values.",{},{"id":996,"data":1656,"type":544,"tunes":1658},{"text":1657},"NVIDIA's current library uses a configurable decoder architecture. Larger networks can improve compression quality but cost more to execute; smaller networks can run faster with some loss in reconstruction quality.",{},{"id":1001,"data":1660,"type":544,"tunes":1662},{"text":1661},"That gives engine developers another tuning dimension beyond texture resolution and bitrate.",{},{"id":1006,"data":1664,"type":572,"tunes":1666},{"text":1665,"level":47},"Why this matters for future game installations",{},{"id":1011,"data":1668,"type":544,"tunes":1670},{"text":1669},"Modern games increasingly ship high-resolution material sets that affect download size as well as runtime memory.",{},{"id":1016,"data":1672,"type":544,"tunes":1674},{"text":1673},"Neural texture compression creates a new option: ship a compact learned representation and decide later whether to expand it on load, reconstruct it directly during shading or decode only requested tiles.",{},{"id":1021,"data":1676,"type":544,"tunes":1678},{"text":1677},"That means one compressed asset representation can participate in several different runtime memory strategies.",{},{"id":1026,"data":1680,"type":572,"tunes":1682},{"text":1681,"level":47},"It also changes what 'texture memory' means",{},{"id":1031,"data":1684,"type":544,"tunes":1686},{"text":1685},"With traditional rendering, a texture-memory budget is mostly about texture formats, mip levels, resolution and residency.",{},{"id":1036,"data":1688,"type":544,"tunes":1690},{"text":1689},"With neural textures, developers may also budget latent data, decoder weights, inference buffers, transcoded caches and the compute needed to reconstruct requested values.",{},{"id":1041,"data":1692,"type":544,"tunes":1694},{"text":1693},"So the asset no longer has one simple fixed memory identity.",{},{"id":1046,"data":1696,"type":572,"tunes":1698},{"text":1697,"level":47},"Cross-vendor support is more nuanced than the RTX name suggests",{},{"id":1051,"data":1700,"type":544,"tunes":1702},{"text":1701},"RTXNTC is an NVIDIA SDK, and compression itself currently requires an NVIDIA GPU according to the SDK requirements.",{},{"id":1056,"data":1704,"type":544,"tunes":1706},{"text":1705},"Runtime decompression is broader. NVIDIA documents functional paths on Shader Model 6 hardware and notes validation on NVIDIA, AMD and Intel GPUs, while advanced Cooperative Vector \u002F Linear Algebra paths depend on API and driver support.",{},{"id":1061,"data":1708,"type":544,"tunes":1710},{"text":1709},"Performance and feature parity therefore should not be assumed across vendors merely because the basic decoder can run.",{},{"id":1066,"data":1712,"type":572,"tunes":1714},{"text":1713,"level":47},"What would change this answer?",{},{"id":1071,"data":1716,"type":544,"tunes":1718},{"text":1717},"NTC is still beta. Runtime modes, decoder architectures, driver support and integration paths can change before a stable production release.",{},{"id":1076,"data":1720,"type":544,"tunes":1722},{"text":1721},"The biggest long-term change would be broad adoption of standardized neural-shader primitives across DirectX and Vulkan. That would make neural texture decoding less dependent on custom vendor-specific execution paths.",{},{"id":1081,"data":1724,"type":572,"tunes":1726},{"text":1725,"level":47},"Limitations",{},{"id":1086,"data":1728,"type":544,"tunes":1730},{"text":1729},"This article describes the architecture and current public RTXNTC SDK behavior. NVIDIA's quoted compression claims are vendor-provided and should not be treated as guaranteed results for every material.",{},{"id":1091,"data":1732,"type":544,"tunes":1734},{"text":1733},"The current SDK is beta software, and some preview paths have documented driver and platform limitations.",{},{"id":1096,"data":1736,"type":572,"tunes":1738},{"text":1737,"level":47},"Conclusion",{},{"id":1101,"data":1740,"type":544,"tunes":1742},{"text":1741},"RTX Neural Texture Compression is interesting because it changes a very old assumption: texture detail does not always have to exist in memory as conventional texels.",{},{"id":1106,"data":1744,"type":544,"tunes":1746},{"text":1745},"A material can instead be stored partly as a compact learned representation and reconstructed when needed.",{},{"id":1111,"data":1748,"type":544,"tunes":1750},{"text":1749},"That does not give free quality or free memory. It creates a new exchange: less storage, bandwidth and potentially VRAM in return for neural inference work.",{},{"id":1116,"data":1752,"type":544,"tunes":1754},{"text":1753},"The real innovation is not “AI makes textures sharper.” It is that part of a game's material data can become computation.",{},{"id":1121,"data":1756,"type":572,"tunes":1758},{"text":1757,"level":47},"FAQ",{},{"id":1126,"data":1760,"type":1126,"tunes":1781},{"items":1761,"title":1780},[1762,1765,1768,1771,1774,1777],{"id":1130,"answer":1763,"question":1764},"No. It compresses and reconstructs material texture data. Super-resolution technologies reconstruct the final rendered image at a higher display resolution.","Is RTX Neural Texture Compression an upscaler?",{"id":1134,"answer":1766,"question":1767},"Yes, particularly with Inference on Sample because the compact neural representation can remain in GPU memory instead of fully expanded conventional textures. Inference on Load mainly preserves storage savings before expansion.","Can NTC reduce VRAM usage?",{"id":1138,"answer":1769,"question":1770},"The compressed material contains compact latent feature data plus weights for a small decoder network that reconstructs texture values.","What does the neural network store?",{"id":1142,"answer":1772,"question":1773},"Not necessarily. Inference on Load does, Inference on Sample reconstructs values during shader sampling, and Inference on Feedback can decode requested texture tiles.","Does NTC decode the whole texture before rendering?",{"id":1146,"answer":1775,"question":1776},"No. RTXNTC is lossy compression and quality depends on bitrate, channel count, decoder configuration and the material itself.","Is neural texture compression lossless?",{"id":1150,"answer":1778,"question":1779},"The current public SDK is still labeled beta, so APIs, support and performance characteristics may continue to change.","Is RTXNTC production-ready?","RTX Neural Texture Compression in plain English",{},{"id":1156,"data":1783,"type":572,"tunes":1785},{"text":1784,"level":47},"Glossary",{},{"id":1161,"data":1787,"type":1161,"tunes":1808},{"title":1788,"entries":1789},"Key neural texture terms",[1790,1792,1795,1798,1800,1802,1804,1806],{"term":1166,"anchor":1167,"definition":1791},"A technique that stores texture information as compact latent data plus neural decoder weights instead of only conventional texel blocks.",{"term":1793,"anchor":1171,"definition":1794},"Latent data","Compact learned features that the neural decoder uses to reconstruct texture values.",{"term":1796,"anchor":1175,"definition":1797},"Decoder","A small neural network that converts latent features into reconstructed texture channels.",{"term":1178,"anchor":1179,"definition":1799},"Runtime mode that decodes the neural texture when an asset is loaded, usually into conventional texture formats.",{"term":1182,"anchor":1183,"definition":1801},"Runtime mode that performs neural decoding directly during texture sampling so the compressed representation can remain resident.",{"term":1186,"anchor":1187,"definition":1803},"Runtime strategy that uses texture feedback to decode and cache only requested tiles.",{"term":1190,"anchor":1191,"definition":1805},"A Figure Rocks model describing the trade of texture storage, bandwidth and VRAM for additional GPU neural-inference work.",{"term":1194,"anchor":1195,"definition":1807},"A Figure Rocks workflow for deciding whether neural texture compression creates a net benefit for a particular material and target GPU.",{},{"id":1199,"data":1810,"type":572,"tunes":1812},{"text":1811,"level":47},"Primary sources",{},{"id":1204,"data":1814,"type":1211,"tunes":1818},{"link":1206,"meta":1815},{"image":1816,"title":1209,"description":1817},{"url":13},"Official overview of RTX Neural Texture Compression and NVIDIA's published storage-reduction positioning.",{},{"id":1214,"data":1820,"type":1211,"tunes":1824},{"link":1216,"meta":1821},{"image":1822,"title":1219,"description":1823},{"url":13},"Official SDK documentation describing material-channel compression, decoder\u002Flatent representation, runtime modes, memory examples, system requirements and Cooperative Vector support.",{},{"id":1223,"data":1826,"type":1211,"tunes":1830},{"link":1225,"meta":1827},{"image":1828,"title":1228,"description":1829},{"url":13},"Official release history, including v0.10.0 beta and DirectX 12 Linear Algebra inference support.",{},{"id":1232,"data":1832,"type":1211,"tunes":1836},{"link":1234,"meta":1833},{"image":1834,"title":1237,"description":1835},{"url":13},"Official documentation covering bitrate, channel interactions, quality measurement and lossy compression behavior.",{},{"id":1241,"data":1838,"type":1211,"tunes":1842},{"link":1243,"meta":1839},{"image":1840,"title":1246,"description":1841},{"url":13},"Official runtime library documentation describing decoder configuration and the quality\u002Fperformance trade-off of different neural-network sizes.",{},"2.31.6","NVIDIA RTX Neural Texture Compression changes how game materials can be stored. Instead of keeping every texture channel only as conventional texels, a material can be compressed into compact latent data and a small neural decoder, then reconstructed by the GPU when needed.",{"lang":7,"title":534,"content":536,"contentJson":1846,"excerpt":1250},{"time":538,"blocks":1847,"version":1249},[1848,1851,1854,1857,1860,1863,1866,1869,1872,1875,1878,1881,1890,1893,1896,1899,1902,1905,1908,1922,1925,1928,1931,1934,1937,1940,1943,1946,1949,1952,1955,1958,1961,1964,1967,1970,1973,1976,1979,1994,1997,2000,2003,2006,2009,2012,2015,2030,2033,2036,2039,2042,2045,2048,2051,2054,2057,2060,2063,2074,2077,2080,2083,2086,2089,2092,2095,2098,2101,2104,2107,2110,2113,2116,2119,2122,2125,2128,2131,2134,2137,2140,2143,2146,2149,2152,2155,2158,2161,2164,2167,2170,2180,2183,2195,2198,2203,2208,2213,2218],{"id":541,"data":1849,"type":544,"tunes":1850},{"text":543},{},{"id":547,"data":1852,"type":552,"tunes":1853},{"body":549,"title":550,"variant":551},{},{"id":555,"data":1855,"type":552,"tunes":1856},{"body":557,"title":558,"variant":559},{},{"id":562,"data":1858,"type":566,"tunes":1859},{"title":564,"maxLevel":565,"minLevel":47},{},{"id":569,"data":1861,"type":572,"tunes":1862},{"text":571,"level":47},{},{"id":575,"data":1864,"type":544,"tunes":1865},{"text":577},{},{"id":580,"data":1867,"type":544,"tunes":1868},{"text":582},{},{"id":585,"data":1870,"type":544,"tunes":1871},{"text":587},{},{"id":590,"data":1873,"type":572,"tunes":1874},{"text":592,"level":47},{},{"id":595,"data":1876,"type":544,"tunes":1877},{"text":597},{},{"id":600,"data":1879,"type":544,"tunes":1880},{"text":602},{},{"id":605,"data":1882,"type":625,"tunes":1889},{"steps":1883,"title":623,"orientation":624},[1884,1885,1886,1887,1888],{"label":609,"description":610},{"label":612,"description":613},{"label":615,"description":616},{"label":618,"description":619},{"label":621,"description":622},{},{"id":628,"data":1891,"type":572,"tunes":1892},{"text":630,"level":47},{},{"id":633,"data":1894,"type":544,"tunes":1895},{"text":635},{},{"id":638,"data":1897,"type":544,"tunes":1898},{"text":640},{},{"id":643,"data":1900,"type":544,"tunes":1901},{"text":645},{},{"id":648,"data":1903,"type":572,"tunes":1904},{"text":650,"level":47},{},{"id":653,"data":1906,"type":544,"tunes":1907},{"text":655},{},{"id":658,"data":1909,"type":685,"tunes":1921},{"rows":1910,"title":673,"layout":674,"columns":1917},[1911,1913,1915],{"id":662,"label":663,"values":1912},[13,13,13],{"id":666,"label":667,"values":1914},[13,13,13],{"id":670,"label":671,"values":1916},[13,13,13],[1918,1919,1920],{"id":677,"label":678},{"id":680,"label":681},{"id":683,"label":684},{},{"id":688,"data":1923,"type":572,"tunes":1924},{"text":690,"level":47},{},{"id":693,"data":1926,"type":544,"tunes":1927},{"text":695},{},{"id":698,"data":1929,"type":544,"tunes":1930},{"text":700},{},{"id":703,"data":1932,"type":544,"tunes":1933},{"text":705},{},{"id":708,"data":1935,"type":544,"tunes":1936},{"text":710},{},{"id":713,"data":1938,"type":572,"tunes":1939},{"text":715,"level":47},{},{"id":718,"data":1941,"type":544,"tunes":1942},{"text":720},{},{"id":723,"data":1944,"type":544,"tunes":1945},{"text":725},{},{"id":728,"data":1947,"type":544,"tunes":1948},{"text":730},{},{"id":733,"data":1950,"type":544,"tunes":1951},{"text":735},{},{"id":683,"data":1953,"type":552,"tunes":1954},{"body":739,"title":740,"variant":741},{},{"id":744,"data":1956,"type":750,"tunes":1957},{"url":746,"title":747,"excerpt":748,"ctaLabel":749},{},{"id":753,"data":1959,"type":572,"tunes":1960},{"text":755,"level":47},{},{"id":758,"data":1962,"type":544,"tunes":1963},{"text":760},{},{"id":763,"data":1965,"type":544,"tunes":1966},{"text":765},{},{"id":768,"data":1968,"type":544,"tunes":1969},{"text":770},{},{"id":773,"data":1971,"type":544,"tunes":1972},{"text":775},{},{"id":778,"data":1974,"type":572,"tunes":1975},{"text":780,"level":47},{},{"id":783,"data":1977,"type":544,"tunes":1978},{"text":785},{},{"id":788,"data":1980,"type":685,"tunes":1993},{"rows":1981,"title":807,"layout":674,"columns":1990},[1982,1984,1986,1988],{"id":792,"label":793,"values":1983},[13,13],{"id":796,"label":797,"values":1985},[13,13],{"id":800,"label":801,"values":1987},[13,13],{"id":804,"label":805,"values":1989},[13,13],[1991,1992],{"id":810,"label":811},{"id":813,"label":814},{},{"id":817,"data":1995,"type":572,"tunes":1996},{"text":819,"level":47},{},{"id":822,"data":1998,"type":544,"tunes":1999},{"text":824},{},{"id":827,"data":2001,"type":544,"tunes":2002},{"text":829},{},{"id":832,"data":2004,"type":544,"tunes":2005},{"text":834},{},{"id":837,"data":2007,"type":750,"tunes":2008},{"url":839,"title":840,"excerpt":841,"ctaLabel":842},{},{"id":845,"data":2010,"type":572,"tunes":2011},{"text":847,"level":47},{},{"id":850,"data":2013,"type":544,"tunes":2014},{"text":852},{},{"id":855,"data":2016,"type":685,"tunes":2029},{"rows":2017,"title":873,"layout":674,"columns":2026},[2018,2020,2022,2024],{"id":859,"label":860,"values":2019},[13,13],{"id":863,"label":864,"values":2021},[13,13],{"id":677,"label":867,"values":2023},[13,13],{"id":870,"label":871,"values":2025},[13,13],[2027,2028],{"id":876,"label":877},{"id":879,"label":880},{},{"id":883,"data":2031,"type":544,"tunes":2032},{"text":885},{},{"id":888,"data":2034,"type":572,"tunes":2035},{"text":890,"level":47},{},{"id":893,"data":2037,"type":544,"tunes":2038},{"text":895},{},{"id":898,"data":2040,"type":544,"tunes":2041},{"text":900},{},{"id":903,"data":2043,"type":544,"tunes":2044},{"text":905},{},{"id":908,"data":2046,"type":552,"tunes":2047},{"body":910,"title":911,"variant":559},{},{"id":914,"data":2049,"type":572,"tunes":2050},{"text":916,"level":47},{},{"id":919,"data":2052,"type":544,"tunes":2053},{"text":921},{},{"id":924,"data":2055,"type":544,"tunes":2056},{"text":926},{},{"id":929,"data":2058,"type":544,"tunes":2059},{"text":931},{},{"id":934,"data":2061,"type":572,"tunes":2062},{"text":936,"level":47},{},{"id":939,"data":2064,"type":625,"tunes":2073},{"steps":2065,"title":963,"orientation":624},[2066,2067,2068,2069,2070,2071,2072],{"label":943,"description":944},{"label":946,"description":947},{"label":949,"description":950},{"label":952,"description":953},{"label":955,"description":956},{"label":958,"description":959},{"label":961,"description":962},{},{"id":966,"data":2075,"type":572,"tunes":2076},{"text":968,"level":47},{},{"id":971,"data":2078,"type":544,"tunes":2079},{"text":973},{},{"id":976,"data":2081,"type":544,"tunes":2082},{"text":978},{},{"id":981,"data":2084,"type":544,"tunes":2085},{"text":983},{},{"id":986,"data":2087,"type":572,"tunes":2088},{"text":988,"level":47},{},{"id":991,"data":2090,"type":544,"tunes":2091},{"text":993},{},{"id":996,"data":2093,"type":544,"tunes":2094},{"text":998},{},{"id":1001,"data":2096,"type":544,"tunes":2097},{"text":1003},{},{"id":1006,"data":2099,"type":572,"tunes":2100},{"text":1008,"level":47},{},{"id":1011,"data":2102,"type":544,"tunes":2103},{"text":1013},{},{"id":1016,"data":2105,"type":544,"tunes":2106},{"text":1018},{},{"id":1021,"data":2108,"type":544,"tunes":2109},{"text":1023},{},{"id":1026,"data":2111,"type":572,"tunes":2112},{"text":1028,"level":47},{},{"id":1031,"data":2114,"type":544,"tunes":2115},{"text":1033},{},{"id":1036,"data":2117,"type":544,"tunes":2118},{"text":1038},{},{"id":1041,"data":2120,"type":544,"tunes":2121},{"text":1043},{},{"id":1046,"data":2123,"type":572,"tunes":2124},{"text":1048,"level":47},{},{"id":1051,"data":2126,"type":544,"tunes":2127},{"text":1053},{},{"id":1056,"data":2129,"type":544,"tunes":2130},{"text":1058},{},{"id":1061,"data":2132,"type":544,"tunes":2133},{"text":1063},{},{"id":1066,"data":2135,"type":572,"tunes":2136},{"text":1068,"level":47},{},{"id":1071,"data":2138,"type":544,"tunes":2139},{"text":1073},{},{"id":1076,"data":2141,"type":544,"tunes":2142},{"text":1078},{},{"id":1081,"data":2144,"type":572,"tunes":2145},{"text":1083,"level":47},{},{"id":1086,"data":2147,"type":544,"tunes":2148},{"text":1088},{},{"id":1091,"data":2150,"type":544,"tunes":2151},{"text":1093},{},{"id":1096,"data":2153,"type":572,"tunes":2154},{"text":1098,"level":47},{},{"id":1101,"data":2156,"type":544,"tunes":2157},{"text":1103},{},{"id":1106,"data":2159,"type":544,"tunes":2160},{"text":1108},{},{"id":1111,"data":2162,"type":544,"tunes":2163},{"text":1113},{},{"id":1116,"data":2165,"type":544,"tunes":2166},{"text":1118},{},{"id":1121,"data":2168,"type":572,"tunes":2169},{"text":1123,"level":47},{},{"id":1126,"data":2171,"type":1126,"tunes":2179},{"items":2172,"title":1153},[2173,2174,2175,2176,2177,2178],{"id":1130,"answer":1131,"question":1132},{"id":1134,"answer":1135,"question":1136},{"id":1138,"answer":1139,"question":1140},{"id":1142,"answer":1143,"question":1144},{"id":1146,"answer":1147,"question":1148},{"id":1150,"answer":1151,"question":1152},{},{"id":1156,"data":2181,"type":572,"tunes":2182},{"text":1158,"level":47},{},{"id":1161,"data":2184,"type":1161,"tunes":2194},{"title":1163,"entries":2185},[2186,2187,2188,2189,2190,2191,2192,2193],{"term":1166,"anchor":1167,"definition":1168},{"term":1170,"anchor":1171,"definition":1172},{"term":1174,"anchor":1175,"definition":1176},{"term":1178,"anchor":1179,"definition":1180},{"term":1182,"anchor":1183,"definition":1184},{"term":1186,"anchor":1187,"definition":1188},{"term":1190,"anchor":1191,"definition":1192},{"term":1194,"anchor":1195,"definition":1196},{},{"id":1199,"data":2196,"type":572,"tunes":2197},{"text":1201,"level":47},{},{"id":1204,"data":2199,"type":1211,"tunes":2202},{"link":1206,"meta":2200},{"image":2201,"title":1209,"description":1210},{"url":13},{},{"id":1214,"data":2204,"type":1211,"tunes":2207},{"link":1216,"meta":2205},{"image":2206,"title":1219,"description":1220},{"url":13},{},{"id":1223,"data":2209,"type":1211,"tunes":2212},{"link":1225,"meta":2210},{"image":2211,"title":1228,"description":1229},{"url":13},{},{"id":1232,"data":2214,"type":1211,"tunes":2217},{"link":1234,"meta":2215},{"image":2216,"title":1237,"description":1238},{"url":13},{},{"id":1241,"data":2219,"type":1211,"tunes":2222},{"link":1243,"meta":2220},{"image":2221,"title":1246,"description":1247},{"url":13},{},"Post erfolgreich abgerufen",{"items":2225,"source":2278,"manualIds":2279,"manualMatchedIds":2280},[2226,2233,2239,2245,2251,2258,2265,2272],{"id":2227,"slug":2228,"title":2229,"excerpt":2230,"featuredImage":2231,"publishedAt":2232},"440","lowered-graphics-settings-but-fps-didn-t-improve-you-re-probably-tuning-the-wrong-bottleneck","Снизили настройки графики, но FPS не вырос? Вероятно, вы оптимизируете не то узкое место","Ты снижаешь тени, эффекты и разрешение, но FPS почти не меняется. Это руководство объясняет, почему графические настройки помогают только тогда, когда они снижают нагрузку, которая на самом деле ограничивает кадр, — и как определить узкие места процессора, видеокарты, памяти, потоковой подгрузки и ограничения частоты кадров.","\u002Fuploads\u002F2026\u002F09\u002Flowered-graphics-settings-but-fps-didn-t-improve-you-re-probably-tuning-the-wrong-bottleneck-1790375130830-i10hb3.webp","2026-09-25T18:23:00.000Z",{"id":2234,"slug":2235,"title":747,"excerpt":2236,"featuredImage":2237,"publishedAt":2238},"441","vram-usage-is-not-vram-requirement-why-a-full-memory-meter-does-not-tell-the-whole-story","Видя 7,8 ГБ использованной памяти на 8-гигабайтной видеокарте, можно подумать, что игра исчерпала видеопамять. Но всё не так просто. Это руководство объясняет объём видеопамяти, бюджеты резидентности, рабочие наборы, разделяемую память и то, как определить, действительно ли нехватка памяти вызывает подтормаживания.","\u002Fuploads\u002F2026\u002F09\u002Fvram-usage-is-not-vram-requirement-why-a-full-memory-meter-does-not-tell-the-whole-story-1790375650647-k854hg.webp","2026-09-25T18:33:00.000Z",{"id":2240,"slug":2241,"title":2242,"excerpt":2243,"featuredImage":14,"publishedAt":2244},"221","storage-streaming-stutter-fixes-when-assets-cant-keep-up","Исправления для заиканий стриминга хранилища: Когда ассеты не поспевают","Статтеры при стриминге возникают при загрузке новых областей: из-за ограничений хранилища, декомпрессии или стриминга ассетов. Используйте этот порядок исправлений, прежде чем снижать все настройки графики.","2026-02-20T21:00:00.000Z",{"id":2246,"slug":2247,"title":2248,"excerpt":2249,"featuredImage":14,"publishedAt":2250},"302","amiibo-faq-the-20-questions-everyone-asks-and-the-straight-answers","amiibo FAQ: 20 вопросов, которые задают все (и прямые ответы)","FAQ по Amiibo без лишней воды: совместимость, сканирование, регионы, переиздания, ценность и правила коллекционирования — четкие ответы, чтобы новички перестали тратить деньги впустую.","2026-02-21T17:00:00.000Z",{"id":2252,"slug":2253,"title":2254,"excerpt":2255,"featuredImage":2256,"publishedAt":2257},"443","dlss-5-is-not-just-upscaling-what-3d-guided-neural-rendering-actually-changes","DLSS 5 — это не просто апскейлинг: что на самом деле меняет нейронный рендеринг с 3D-направлением","DLSS 5 переносит ИИ в новую часть графического конвейера. Вместо того чтобы только восстанавливать разрешение или генерировать дополнительные кадры, 3D-Guided Neural Rendering использует собственный кадр игрового движка в качестве основы и улучшает детализацию освещения и материалов под контролем разработчика.","\u002Fuploads\u002F2026\u002F09\u002Fdlss-5-is-not-just-upscaling-what-3d-guided-neural-rendering-actually-changes-1790376457301-ytk4sx.webp","2026-09-25T18:46:00.000Z",{"id":2259,"slug":2260,"title":2261,"excerpt":2262,"featuredImage":2263,"publishedAt":2264},"449","directstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do","DirectStorage 1.4 не заставляет ваш SSD распаковывать игры: что на самом деле делают Zstd и распаковка на GPU","DirectStorage 1.4 добавляет сжатие Zstandard, распаковку на GPU и новую библиотеку Game Asset Conditioning Library, но сам SSD по-прежнему остаётся лишь одной из частей конвейера загрузки. В этом руководстве объясняется, что именно делают SSD, DirectStorage, CPU, GPU и игровой движок.","\u002Fuploads\u002F2026\u002F09\u002Fdirectstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do-1790405481526-fwnzz4.webp","2026-09-26T02:49:00.000Z",{"id":2266,"slug":2267,"title":2268,"excerpt":2269,"featuredImage":2270,"publishedAt":2271},"451","windows-auto-sr-is-not-dlss-how-npu-upscaling-works-without-game-integration","Windows Auto SR — это не DLSS: как работает апскейлинг на NPU без интеграции в игры","Windows Auto SR может масштабировать поддерживаемые игры без интеграции DLSS, FSR или XeSS. Вместо запуска модели реконструкции внутри игры на GPU Windows использует NPU, чтобы воссоздать изображение с более высоким разрешением из рендера с более низким разрешением.","\u002Fuploads\u002F2026\u002F09\u002Fwindows-auto-sr-is-not-dlss-how-npu-upscaling-works-without-game-integration-1790406942266-77ihme.webp","2026-09-26T03:14:00.000Z",{"id":2273,"slug":2274,"title":2275,"excerpt":2276,"featuredImage":14,"publishedAt":2277},"24","storage-and-streaming-reduce-load-times-without-creating-stutter","Хранилище и стриминг: сокращение времени загрузки без появления статтеров","Быстрое хранилище помогает только тогда, когда поведение стриминга стабильно. Это руководство объясняет, как IO влияет на статтеры и что нужно изменить в первую очередь.","2026-02-19T11:00:00.000Z","fallback",[],[]]