[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"portal-settings:figure:ru":3,"public-menus:all":45,"post:directstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do:ru":531,"related:post:directstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do:ru:1":2140},{"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":2139},{"id":533,"title":534,"slug":535,"content":536,"contentJson":537,"excerpt":1211,"featuredImage":1212,"featuredImageAlt":1213,"featuredImageCaption":14,"featuredImageTitle":14,"featuredImageCopyright":14,"featuredImageAuthor":14,"featuredImageSourceUrl":14,"featuredImageLicense":14,"featuredImageIsAiGenerated":1214,"status":1215,"publishedAt":1216,"createdAt":1217,"updatedAt":1218,"seoLocalePaths":1219,"categories":1228,"author":1245,"translations":1249},"449","DirectStorage 1.4 не заставляет ваш SSD распаковывать игры: что на самом деле делают Zstd и распаковка на GPU","directstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do","\u003Cp>DirectStorage 1.4 добавляет поддержку сжатия Zstandard и распаковки на GPU для игровых ресурсов, но это не значит, что ваш SSD вдруг сам начнёт распаковывать текстуры и модели. Накопитель перемещает сжатые данные. Работу по распаковке по-прежнему выполняет CPU или 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>Ваш SSD читает сжатые игровые данные. Обычно он не распаковывает эти данные сам.\u003C\u002Fstrong> DirectStorage координирует путь от накопителя к памяти, а распаковкой может заниматься CPU или GPU. DirectStorage 1.4 добавляет Zstandard как новый вариант кодека и позволяет разработчикам выбирать распаковку на CPU или 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\">DirectStorage 1.4 в настоящее время находится в статусе \u003Cstrong>публичного предварительного просмотра\u003C\u002Fstrong>. Его поддержка Zstandard и Game Asset Conditioning Library — это технологии для разработчиков, которые должны быть интегрированы в сборочный и runtime-конвейер игры. Замена DLL-файлов в существующей игре не включает новые возможности волшебным образом.\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-8\" class=\"editorjs-toc__link\">Зачем вообще сжимать игровые ресурсы?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-12\" class=\"editorjs-toc__link\">DirectStorage перемещает проблему узкого места, а не устраняет её\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-16\" class=\"editorjs-toc__link\">Что добавляет DirectStorage 1.4\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-21\" class=\"editorjs-toc__link\">Декомпрессия на GPU всё равно расходует ресурсы GPU\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-26\" class=\"editorjs-toc__link\">Почему Zstd важен по сравнению со старым сжатием DirectStorage\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-31\" class=\"editorjs-toc__link\">Треугольник затрат на потоковую передачу ассетов\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-33\" class=\"editorjs-toc__link\">Что делает Game Asset Conditioning Library\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-42\" class=\"editorjs-toc__link\">Где в GACL появляется машинное обучение\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-46\" class=\"editorjs-toc__link\">Улучшение сжатия до 50% не означает, что каждая игра станет на 50% меньше\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-50\" class=\"editorjs-toc__link\">Тест утверждений о сжатии\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-52\" class=\"editorjs-toc__link\">Почему замена DLL DirectStorage в игре не включает Zstd\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-57\" class=\"editorjs-toc__link\">Почему более быстрые SSD не устраняют затраты на распаковку\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-61\" class=\"editorjs-toc__link\">Тест конвейера времени загрузки\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-63\" class=\"editorjs-toc__link\">Почему это важно для потоковой передачи открытого мира\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-68\" class=\"editorjs-toc__link\">DirectStorage 1.4 также улучшает видимость планирования GPU\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-72\" class=\"editorjs-toc__link\">Что производители GPU будут делать дальше\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-76\" class=\"editorjs-toc__link\">Что могло бы изменить этот ответ?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-79\" class=\"editorjs-toc__link\">Ограничения\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-82\" 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-88\" class=\"editorjs-toc__link\">Глоссарий\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-90\" class=\"editorjs-toc__link\">Первоисточники\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fnav>\n\u003Ch2 id=\"section-5\">Самый простой способ понять путь ресурса\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\">Текстуры, геометрия или другие данные упакованы в сжатой форме на SSD.\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. SSD читает сжатые байты\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">NVMe-накопитель быстро перемещает эти байты из хранилища в путь ввода-вывода системы.\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. DirectStorage планирует запрос\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">DirectStorage координирует высокопроизводительное чтение и то, куда должны попасть полученные данные.\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. CPU или GPU выполняет распаковку\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. Ресурс становится пригодным для использования\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Распакованная текстура, буфер или другой ресурс затем может быть использован рендерером или игровыми системами.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Caside class=\"editorjs-callout editorjs-callout--success my-6 rounded-xl border p-5 border-emerald-300 bg-emerald-50 dark:border-emerald-900 dark:bg-emerald-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>SSD = перемещает сжатые данные.\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>DirectStorage = координирует передачу.\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>CPU\u002FGPU = выполняет распаковку.\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>Игровой движок = использует результат.\u003C\u002Fstrong>\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-8\">Зачем вообще сжимать игровые ресурсы?\u003C\u002Fh2>\n\u003Cp>Современные игры содержат огромные объёмы текстур, геометрии, аудио и других данных.\u003C\u002Fp>\n\u003Cp>Хранение каждого ресурса без сжатия увеличило бы размер установки и заставило бы накопитель читать больше байтов для того же содержимого.\u003C\u002Fp>\n\u003Cp>Сжатие уменьшает объём данных, которые нужно хранить и передавать. Компромисс в том, что данные приходится распаковывать, прежде чем игра сможет их использовать.\u003C\u002Fp>\n\u003Ch2 id=\"section-12\">DirectStorage перемещает проблему узкого места, а не устраняет её\u003C\u002Fh2>\n\u003Cp>Быстрый NVMe-накопитель может доставлять сжатые данные гораздо быстрее, чем старые конвейеры хранения, но более быстрое чтение помогает только в том случае, если остальная часть пути успевает за ним.\u003C\u002Fp>\n\u003Cp>Если CPU должен распаковывать тысячи небольших фрагментов ресурсов, одновременно выполняя игровую логику, физику и отправку команд отрисовки, сама распаковка может стать дорогостоящей.\u003C\u002Fp>\n\u003Cp>Именно поэтому DirectStorage поддерживает распаковку на GPU: часть работы может перейти с CPU на массово-параллельные вычисления GPU.\u003C\u002Fp>\n\u003Ch2 id=\"section-16\">Что добавляет DirectStorage 1.4\u003C\u002Fh2>\n\u003Cp>DirectStorage 1.4 добавляет Zstandard, обычно записываемый как Zstd, в качестве поддерживаемого формата сжатия.\u003C\u002Fp>\n\u003Cp>Microsoft выбрала Zstd, потому что он сочетает высокую степень сжатия, хорошую производительность распаковки, широкую доступность программного и аппаратного обеспечения и повсеместное распространение.\u003C\u002Fp>\n\u003Cp>Важное изменение заключается в том, что Zstd интегрирован в среду декомпрессии DirectStorage как для CPU, так и для GPU.\u003C\u002Fp>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Декомпрессия на CPU и GPU\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\">Декомпрессия на CPU\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\">Декомпрессия на GPU\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\u003Ch2 id=\"section-21\">Декомпрессия на GPU всё равно расходует ресурсы GPU\u003C\u002Fh2>\n\u003Cp>Декомпрессия на GPU не бесплатна.\u003C\u002Fp>\n\u003Cp>DirectStorage использует промежуточные буферы в VRAM для согласования сжатого ввода и распакованного вывода. Microsoft предупреждает, что слишком большой промежуточный буфер может отнять память у рендеринга, а слишком маленький может снизить пропускную способность, поскольку запросам придётся ждать.\u003C\u002Fp>\n\u003Cp>Таким образом, декомпрессия на GPU создаёт ещё одну проблему баланса: снизить нагрузку на CPU, не отнимая слишком много памяти или вычислительных ресурсов GPU у рендеринга.\u003C\u002Fp>\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-26\">Почему Zstd важен по сравнению со старым сжатием DirectStorage\u003C\u002Fh2>\n\u003Cp>DirectStorage уже поддерживал GDeflate — формат сжатия, разработанный для параллельной декомпрессии на GPU.\u003C\u002Fp>\n\u003Cp>Zstd добавляет другую опцию: широко используемый открытый стандарт сжатия с сильными коэффициентами сжатия и обширным инструментарием.\u003C\u002Fp>\n\u003Cp>Microsoft также публикует открытый вычислительный шейдер для декомпрессии Zstd на GPU в качестве базового решения, которое производители GPU могут дополнительно оптимизировать.\u003C\u002Fp>\n\u003Cp>Изначальный шейдер оптимизирован для блоков размером 256 КБ или меньше, что соответствует распространённым схемам упаковки игр, ориентированным на потоковую передачу.\u003C\u002Fp>\n\u003Ch2 id=\"section-31\">Треугольник затрат на потоковую передачу ассетов\u003C\u002Fh2>\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\">Работа CPU\u002FGPU во время выполнения\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-33\">Что делает Game Asset Conditioning Library\u003C\u002Fh2>\n\u003Cp>Microsoft представила Game Asset Conditioning Library, или GACL, вместе с DirectStorage 1.4.\u003C\u002Fp>\n\u003Cp>GACL не заменяет Zstd. Она подготавливает определённые игровые ассеты, чтобы Zstd мог сжимать их более эффективно.\u003C\u002Fp>\n\u003Cp>Данные текстур являются основной целью, поскольку текстуры часто составляют большую долю размера современных игровых пакетов.\u003C\u002Fp>\n\u003Ch2 id=\"section-37\">Что означает «кондиционирование» простыми словами\u003C\u002Fh2>\n\u003Cp>Кондиционирование означает перестановку или небольшое изменение данных перед сжатием, чтобы компрессор мог найти больше полезных шаблонов.\u003C\u002Fp>\n\u003Cp>Для блочно-сжатых текстур GACL может переставлять байтовую структуру перед сжатием Zstd. DirectStorage обращает это преобразование после распаковки.\u003C\u002Fp>\n\u003Cp>GACL также включает методы снижения энтропии, которые могут намеренно упрощать часть текстурной информации, чтобы улучшить сжатие.\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\">Не каждый режим кондиционирования является lossless\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">GACL включает как \u003Cstrong>lossless-преобразования\u003C\u002Fstrong>, так и \u003Cstrong>lossy-оптимизацию текстур\u003C\u002Fstrong>. Лучшее сжатие иногда достигается за счёт принятия контролируемого объёма визуальной ошибки.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-42\">Где в GACL появляется машинное обучение\u003C\u002Fh2>\n\u003Cp>Component-Level Entropy Reduction от Microsoft, или CLER, использует машинное обучение как часть процесса снижения энтропии текстур.\u003C\u002Fp>\n\u003Cp>Цель не в том, чтобы генерировать текстуры во время выполнения. Работа ML является частью подготовки текстурных данных, чтобы итоговое сжатое представление могло стать меньше при сохранении приемлемого визуального качества.\u003C\u002Fp>\n\u003Cp>Это делает GACL оптимизацией контент-пайплайна, а не игровой системой генеративного ИИ.\u003C\u002Fp>\n\u003Ch2 id=\"section-46\">Улучшение сжатия до 50% не означает, что каждая игра станет на 50% меньше\u003C\u002Fh2>\n\u003Cp>Microsoft заявляет, что GACL может обеспечить улучшение коэффициентов сжатия Zstd до 50% для подходящих ресурсов.\u003C\u002Fp>\n\u003Cp>Это не то же самое, что утверждение, будто вся установка игры уменьшится на 50%.\u003C\u002Fp>\n\u003Cp>Реальное влияние зависит от того, какие ресурсы кондиционируются, насколько они сжимаемы, какую долю игры они составляют и приемлемы ли lossy-методы.\u003C\u002Fp>\n\u003Ch2 id=\"section-50\">Тест утверждений о сжатии\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\">Несжатые данные, GDeflate, старые настройки Zstd или другой упакованный формат?\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. Проверьте, является ли метод lossless\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. Проверьте путь CPU\u002FGPU\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>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-52\">Почему замена DLL DirectStorage в игре не включает Zstd\u003C\u002Fh2>\n\u003Cp>Это особенно важное недоразумение.\u003C\u002Fp>\n\u003Cp>Microsoft явно ответила на это после анонса DirectStorage 1.4: замена DLL-файлов DirectStorage в существующей игре не активирует новые preview-функции.\u003C\u002Fp>\n\u003Cp>Ресурсы игры должны быть созданы и сжаты с помощью Zstd во время процесса сборки, дополнительная подготовка GACL должна быть выполнена перед выпуском, а сама игра должна вызывать соответствующие API DirectStorage.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--success my-6 rounded-xl border p-5 border-emerald-300 bg-emerald-50 dark:border-emerald-900 dark:bg-emerald-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Runtime DLL не может переписать конвейер ресурсов игры\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Файлы на диске, их формат сжатия и интеграция с движком должны быть изначально спроектированы для DirectStorage 1.4.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-57\">Почему более быстрые SSD не устраняют затраты на распаковку\u003C\u002Fh2>\n\u003Cp>Чрезвычайно быстрый SSD может сократить время, необходимое для чтения сжатых байтов, но он не устраняет время, необходимое для превращения этих байтов в пригодные для использования ресурсы.\u003C\u002Fp>\n\u003Cp>По мере ускорения хранилища относительная важность распаковки, подготовки ресурсов, загрузки на GPU и обработки на стороне движка становится больше.\u003C\u002Fp>\n\u003Cp>Именно поэтому DirectStorage развился за пределы простого ввода-вывода.\u003C\u002Fp>\n\u003Ch2 id=\"section-61\">Тест конвейера времени загрузки\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\">Сколько времени CPU или 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\">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\">Ожидают ли запросы из-за переполнения буферов подготовки или очередей 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\">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\">Более быстрый SSD помогает только тогда, когда ввод-вывод хранилища действительно является ограничивающей частью.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-63\">Почему это важно для потоковой передачи открытого мира\u003C\u002Fh2>\n\u003Cp>Игры с открытым миром непрерывно перемещают данные ресурсов, когда игрок пересекает карту.\u003C\u002Fp>\n\u003Cp>Это означает, что потоковая передача ресурсов заключается не только в сокращении экрана загрузки. Конвейер должен доставлять, распаковывать и подготавливать данные, пока игровой процесс продолжается.\u003C\u002Fp>\n\u003Cp>Кодек с высокой степенью сжатия может уменьшить количество байтов, извлекаемых из хранилища, а быстрая распаковка на GPU может помочь сохранить время CPU для симуляции.\u003C\u002Fp>\n\u003Cp>Но если сам GPU уже насыщен, перенос работы по распаковке туда может потребовать тщательного планирования.\u003C\u002Fp>\n\u003Ch2 id=\"section-68\">DirectStorage 1.4 также улучшает видимость планирования GPU\u003C\u002Fh2>\n\u003Cp>DirectStorage 1.4 добавляет поддержку D3D12 CreatorID для внутренних командных очередей, которыми он управляет.\u003C\u002Fp>\n\u003Cp>Цель — помочь рабочим нагрузкам DirectStorage более предсказуемо участвовать в группировке очередей D3D12 и планировании выполнения на GPU.\u003C\u002Fp>\n\u003Cp>Это важно, потому что распаковка теперь конкурирует за ту же экосистему GPU, что и рендеринг и другие вычислительные задачи.\u003C\u002Fp>\n\u003Ch2 id=\"section-72\">Что производители GPU будут делать дальше\u003C\u002Fh2>\n\u003Cp>Microsoft заявляет, что AMD, Intel, NVIDIA и Qualcomm работают над оптимизациями Zstd для конкретного оборудования и драйверов.\u003C\u002Fp>\n\u003Cp>AMD и NVIDIA публично указали на оптимизированную поддержку, нацеленную на вторую половину 2026 года, в то время как Intel и Qualcomm также описали текущую работу над платформой.\u003C\u002Fp>\n\u003Cp>Это означает, что публичный GPU-шейдер DirectStorage является базовым, а не обязательно окончательным путем производительности для будущего оборудования.\u003C\u002Fp>\n\u003Ch2 id=\"section-76\">Что могло бы изменить этот ответ?\u003C\u002Fh2>\n\u003Cp>DirectStorage 1.4 все еще является публичной предварительной версией. Окончательный API, производительность шейдера Zstd, поддержка GACL и оптимизированные производителем пути драйверов могут измениться.\u003C\u002Fp>\n\u003Cp>Если будущие устройства хранения добавят стандартизированную аппаратную декомпрессию, интегрированную в конвейер ресурсов ПК, четкое разделение между «чтением с SSD» и «декомпрессией на CPU\u002FGPU» может стать менее абсолютным. Сегодня это не является обычной моделью DirectStorage 1.4.\u003C\u002Fp>\n\u003Ch2 id=\"section-79\">Ограничения\u003C\u002Fh2>\n\u003Cp>Эта статья объясняет текущую публичную архитектуру предварительной версии DirectStorage 1.4 от Microsoft. Она не утверждает, что каждая игра, использующая DirectStorage, будет использовать Zstd, декомпрессию на GPU или GACL.\u003C\u002Fp>\n\u003Cp>Заявления Microsoft о степени сжатия и производительности являются технологическими заявлениями поставщика платформы. Реальные результаты в играх зависят от набора ресурсов, настроек сжатия, оборудования, драйверов и интеграции с движком.\u003C\u002Fp>\n\u003Ch2 id=\"section-82\">Заключение\u003C\u002Fh2>\n\u003Cp>DirectStorage 1.4 легче понять, если разделить задачи.\u003C\u002Fp>\n\u003Cp>SSD перемещает сжатые байты. DirectStorage планирует передачу. Zstd определяет, как сжимаются данные. CPU или GPU выполняет декомпрессию. GACL может подготовить некоторые ресурсы, чтобы Zstd сжимал их более эффективно. Затем игровой движок использует готовый ресурс.\u003C\u002Fp>\n\u003Cp>Более быстрый SSD — лишь одна часть этой цепочки.\u003C\u002Fp>\n\u003Ch2 id=\"section-86\">Часто задаваемые вопросы\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\">DirectStorage 1.4 и Zstd простыми словами\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\">Заставляет ли DirectStorage SSD распаковывать игровые ресурсы?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Нет. SSD читает сжатые данные. DirectStorage координирует ввод-вывод, а декомпрессию выполняет CPU или GPU.\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\">Что нового в DirectStorage 1.4?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Публичная предварительная версия добавляет сжатие Zstandard, поддержку декомпрессии на CPU\u002FGPU, интеграцию с Game Asset Conditioning Library и улучшенную идентификацию очередей D3D12.\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\">Могу ли я заменить DLL DirectStorage в игре, чтобы включить Zstd?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Нет. Microsoft заявляет, что ресурсы должны быть собраны с использованием Zstd\u002FGACL, и игра должна явно использовать новые API.\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\">Бесплатна ли декомпрессия на GPU?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Нет. Она использует вычисления GPU, пропускную способность и промежуточные буферы, хотя может снизить нагрузку на CPU.\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\">Что делает GACL?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Она подготавливает игровые ресурсы, особенно текстуры, чтобы Zstd мог сжимать их более эффективно. Некоторые методы являются сжатием без потерь, а некоторые — с потерями.\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\">Означает ли улучшение сжатия до 50%, что игра станет на 50% меньше?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Нет. Эта цифра относится к подходящим подготовленным ресурсам, а не автоматически ко всей установке игры.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-88\">Глоссарий\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\">Ключевые термины DirectStorage 1.4\u003C\u002Fh3>\u003Cdl>\u003Cdiv id=\"directstorage\" 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\">DirectStorage\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">API семейства DirectX от Microsoft для высокопроизводительного ввода-вывода и декомпрессии игровых ресурсов в Windows.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"zstd\" 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\">Zstandard (Zstd)\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Открытый формат сжатия, добавленный в DirectStorage 1.4 для игровых ресурсов.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"gpu-decompression\" 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\">Декомпрессия на GPU\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Распаковка сжатых данных с использованием вычислений GPU вместо выполнения всей декомпрессии на CPU.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"staging-buffer\" 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\">Временная память GPU, используемая DirectStorage для координации потоков сжатых и распакованных данных.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"gacl\" 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\">GACL\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Game Asset Conditioning Library от Microsoft, которая подготавливает ресурсы для повышения эффективности сжатия.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"asset-streaming-cost-triangle\" 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\">Модель Figure Rocks, разделяющая размер хранилища, трафик ввода-вывода и стоимость декомпрессии во время выполнения.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"compression-claim-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\">Тест заявлений о сжатии\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Контрольный список Figure Rocks для интерпретации заявлений о сжатии путем проверки области ресурсов, базовой линии, потери качества и стоимости во время выполнения.\u003C\u002Fdd>\u003C\u002Fdiv>\u003C\u002Fdl>\u003C\u002Fsection>\n\u003Ch2 id=\"section-90\">Первоисточники\u003C\u002Fh2>\n\u003Ca href=\"https:\u002F\u002Fdevblogs.microsoft.com\u002Fdirectx\u002Fdirectstorage-1-4-release-adds-support-for-zstandard\u002F\" 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\">Microsoft DirectX — DirectStorage 1.4 добавляет Zstandard\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Официальное объявление от марта 2026 года, охватывающее Zstd, распаковку на CPU\u002FGPU, GACL, планы оптимизации производителей GPU и предварительную версию DirectStorage 1.4.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevblogs.microsoft.com\u002Fdirectx\u002Fdirectstorage-api-downloads\u002F\" 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\">Microsoft DirectX — DirectStorage SDK и API\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Официальная страница выпуска со списком функций предварительной версии DirectStorage 1.4 и статусом пакета.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FDirectStorage\" 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\">Microsoft — DirectStorage на GitHub\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Официальный репозиторий, содержащий примеры, тесты производительности распаковки на GPU и руководство по реализации DirectStorage.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FDirectStorage\u002Fblob\u002Fmain\u002FDocs\u002FDeveloperGuidance.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\">Microsoft — Руководство для разработчиков DirectStorage\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Официальное руководство, объясняющее поток сжатых данных, распаковку на GPU, промежуточные буферы и компромиссы по памяти.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FGame-Asset-Conditioning-Library\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\">Microsoft — Game Asset Conditioning Library\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Официальная документация, охватывающая подготовку текстур, Zstd, преобразования перемешивания и методы снижения энтропии.\u003C\u002Fp>\u003C\u002Fa>",{"time":538,"blocks":539,"version":1210},1790406171678,[540,546,554,561,568,574,597,604,609,614,619,624,629,634,639,644,649,654,659,664,695,700,705,710,715,724,729,734,739,744,749,754,778,783,788,793,798,803,808,813,818,825,830,835,840,845,850,855,860,865,870,894,899,904,909,914,920,925,930,935,940,945,969,974,979,984,989,994,999,1004,1009,1014,1019,1024,1029,1034,1039,1044,1049,1054,1059,1064,1069,1074,1079,1084,1089,1120,1125,1159,1164,1174,1183,1192,1201],{"id":541,"data":542,"type":544,"tunes":545},"7b461210c1",{"text":543},"DirectStorage 1.4 добавляет поддержку сжатия Zstandard и распаковки на GPU для игровых ресурсов, но это не значит, что ваш SSD вдруг сам начнёт распаковывать текстуры и модели. Накопитель перемещает сжатые данные. Работу по распаковке по-прежнему выполняет CPU или GPU.","paragraph",{},{"id":547,"data":548,"type":552,"tunes":553},"2f0f63271c",{"body":549,"title":550,"variant":551},"\u003Cstrong>Ваш SSD читает сжатые игровые данные. Обычно он не распаковывает эти данные сам.\u003C\u002Fstrong> DirectStorage координирует путь от накопителя к памяти, а распаковкой может заниматься CPU или GPU. DirectStorage 1.4 добавляет Zstandard как новый вариант кодека и позволяет разработчикам выбирать распаковку на CPU или GPU.","Краткий ответ","info","callout",{},{"id":555,"data":556,"type":552,"tunes":560},"48a120727f",{"body":557,"title":558,"variant":559},"DirectStorage 1.4 в настоящее время находится в статусе \u003Cstrong>публичного предварительного просмотра\u003C\u002Fstrong>. Его поддержка Zstandard и Game Asset Conditioning Library — это технологии для разработчиков, которые должны быть интегрированы в сборочный и runtime-конвейер игры. Замена DLL-файлов в существующей игре не включает новые возможности волшебным образом.","Текущий статус","note",{},{"id":562,"data":563,"type":566,"tunes":567},"2954eec7f8",{"title":564,"maxLevel":565,"minLevel":47},"Содержание",3,"tableOfContents",{},{"id":569,"data":570,"type":572,"tunes":573},"980168054a",{"text":571,"level":47},"Самый простой способ понять путь ресурса","header",{},{"id":575,"data":576,"type":595,"tunes":596},"99210cf7a2",{"steps":577,"title":593,"orientation":594},[578,581,584,587,590],{"label":579,"description":580},"1. Игровой ресурс хранится в сжатом виде","Текстуры, геометрия или другие данные упакованы в сжатой форме на SSD.",{"label":582,"description":583},"2. SSD читает сжатые байты","NVMe-накопитель быстро перемещает эти байты из хранилища в путь ввода-вывода системы.",{"label":585,"description":586},"3. DirectStorage планирует запрос","DirectStorage координирует высокопроизводительное чтение и то, куда должны попасть полученные данные.",{"label":588,"description":589},"4. CPU или GPU выполняет распаковку","Сжатый поток разворачивается в форму, необходимую игре.",{"label":591,"description":592},"5. Ресурс становится пригодным для использования","Распакованная текстура, буфер или другой ресурс затем может быть использован рендерером или игровыми системами.","Что происходит, когда игра загружает сжатые ресурсы","auto","processFlow",{},{"id":598,"data":599,"type":552,"tunes":603},"d375ebe60b",{"body":600,"title":601,"variant":602},"\u003Cstrong>SSD = перемещает сжатые данные.\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>DirectStorage = координирует передачу.\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>CPU\u002FGPU = выполняет распаковку.\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>Игровой движок = использует результат.\u003C\u002Fstrong>","Ментальная модель","success",{},{"id":605,"data":606,"type":572,"tunes":608},"dbcc92fffe",{"text":607,"level":47},"Зачем вообще сжимать игровые ресурсы?",{},{"id":610,"data":611,"type":544,"tunes":613},"fa9fc5a6fc",{"text":612},"Современные игры содержат огромные объёмы текстур, геометрии, аудио и других данных.",{},{"id":615,"data":616,"type":544,"tunes":618},"375587179a",{"text":617},"Хранение каждого ресурса без сжатия увеличило бы размер установки и заставило бы накопитель читать больше байтов для того же содержимого.",{},{"id":620,"data":621,"type":544,"tunes":623},"6f00b8cbff",{"text":622},"Сжатие уменьшает объём данных, которые нужно хранить и передавать. Компромисс в том, что данные приходится распаковывать, прежде чем игра сможет их использовать.",{},{"id":625,"data":626,"type":572,"tunes":628},"1c00bf96d8",{"text":627,"level":47},"DirectStorage перемещает проблему узкого места, а не устраняет её",{},{"id":630,"data":631,"type":544,"tunes":633},"2fd37b24a2",{"text":632},"Быстрый NVMe-накопитель может доставлять сжатые данные гораздо быстрее, чем старые конвейеры хранения, но более быстрое чтение помогает только в том случае, если остальная часть пути успевает за ним.",{},{"id":635,"data":636,"type":544,"tunes":638},"d68045b6ad",{"text":637},"Если CPU должен распаковывать тысячи небольших фрагментов ресурсов, одновременно выполняя игровую логику, физику и отправку команд отрисовки, сама распаковка может стать дорогостоящей.",{},{"id":640,"data":641,"type":544,"tunes":643},"a16eb295ca",{"text":642},"Именно поэтому DirectStorage поддерживает распаковку на GPU: часть работы может перейти с CPU на массово-параллельные вычисления GPU.",{},{"id":645,"data":646,"type":572,"tunes":648},"b4937d330d",{"text":647,"level":47},"Что добавляет DirectStorage 1.4",{},{"id":650,"data":651,"type":544,"tunes":653},"15fbbac723",{"text":652},"DirectStorage 1.4 добавляет Zstandard, обычно записываемый как Zstd, в качестве поддерживаемого формата сжатия.",{},{"id":655,"data":656,"type":544,"tunes":658},"9c19185ae4",{"text":657},"Microsoft выбрала Zstd, потому что он сочетает высокую степень сжатия, хорошую производительность распаковки, широкую доступность программного и аппаратного обеспечения и повсеместное распространение.",{},{"id":660,"data":661,"type":544,"tunes":663},"431523b335",{"text":662},"Важное изменение заключается в том, что Zstd интегрирован в среду декомпрессии DirectStorage как для CPU, так и для GPU.",{},{"id":665,"data":666,"type":693,"tunes":694},"940098d2af",{"rows":667,"title":684,"layout":685,"columns":686},[668,672,676,680],{"id":669,"label":670,"values":671},"execution","Где выполняется",[13,13],{"id":673,"label":674,"values":675},"advantage","Потенциальное преимущество",[13,13],{"id":677,"label":678,"values":679},"cost","Основные затраты",[13,13],{"id":681,"label":682,"values":683},"best","Лучший выбор",[13,13],"Декомпрессия на CPU и GPU","table",[687,690],{"id":688,"label":689},"cpu","Декомпрессия на CPU",{"id":691,"label":692},"gpu","Декомпрессия на GPU","comparison",{},{"id":696,"data":697,"type":572,"tunes":699},"c6262b2b30",{"text":698,"level":47},"Декомпрессия на GPU всё равно расходует ресурсы GPU",{},{"id":701,"data":702,"type":544,"tunes":704},"b4cde1abf8",{"text":703},"Декомпрессия на GPU не бесплатна.",{},{"id":706,"data":707,"type":544,"tunes":709},"9a58b4b286",{"text":708},"DirectStorage использует промежуточные буферы в VRAM для согласования сжатого ввода и распакованного вывода. Microsoft предупреждает, что слишком большой промежуточный буфер может отнять память у рендеринга, а слишком маленький может снизить пропускную способность, поскольку запросам придётся ждать.",{},{"id":711,"data":712,"type":544,"tunes":714},"4a44c060ae",{"text":713},"Таким образом, декомпрессия на GPU создаёт ещё одну проблему баланса: снизить нагрузку на CPU, не отнимая слишком много памяти или вычислительных ресурсов GPU у рендеринга.",{},{"id":716,"data":717,"type":722,"tunes":723},"3f3babfc82",{"url":718,"title":719,"excerpt":720,"ctaLabel":721},"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":725,"data":726,"type":572,"tunes":728},"a942fbe973",{"text":727,"level":47},"Почему Zstd важен по сравнению со старым сжатием DirectStorage",{},{"id":730,"data":731,"type":544,"tunes":733},"ef8a3b3ba5",{"text":732},"DirectStorage уже поддерживал GDeflate — формат сжатия, разработанный для параллельной декомпрессии на GPU.",{},{"id":735,"data":736,"type":544,"tunes":738},"84da708009",{"text":737},"Zstd добавляет другую опцию: широко используемый открытый стандарт сжатия с сильными коэффициентами сжатия и обширным инструментарием.",{},{"id":740,"data":741,"type":544,"tunes":743},"e402caab8b",{"text":742},"Microsoft также публикует открытый вычислительный шейдер для декомпрессии Zstd на GPU в качестве базового решения, которое производители GPU могут дополнительно оптимизировать.",{},{"id":745,"data":746,"type":544,"tunes":748},"6ff4e34bf6",{"text":747},"Изначальный шейдер оптимизирован для блоков размером 256 КБ или меньше, что соответствует распространённым схемам упаковки игр, ориентированным на потоковую передачу.",{},{"id":750,"data":751,"type":572,"tunes":753},"4328a25e36",{"text":752,"level":47},"Треугольник затрат на потоковую передачу ассетов",{},{"id":755,"data":756,"type":693,"tunes":777},"3a792d45ba",{"rows":757,"title":770,"layout":685,"columns":771},[758,762,766],{"id":759,"label":760,"values":761},"storage","Размер установки",[13,13],{"id":763,"label":764,"values":765},"io","Ввод-вывод хранилища",[13,13],{"id":767,"label":768,"values":769},"runtime","Работа CPU\u002FGPU во время выполнения",[13,13],"Сжатие изменяет три разных вида затрат",[772,775],{"id":773,"label":774},"benefit","Что сжатие может уменьшить",{"id":677,"label":776},"Что оно может увеличить",{},{"id":779,"data":780,"type":572,"tunes":782},"5d30690c89",{"text":781,"level":47},"Что делает Game Asset Conditioning Library",{},{"id":784,"data":785,"type":544,"tunes":787},"25b7db1be9",{"text":786},"Microsoft представила Game Asset Conditioning Library, или GACL, вместе с DirectStorage 1.4.",{},{"id":789,"data":790,"type":544,"tunes":792},"c68144d961",{"text":791},"GACL не заменяет Zstd. Она подготавливает определённые игровые ассеты, чтобы Zstd мог сжимать их более эффективно.",{},{"id":794,"data":795,"type":544,"tunes":797},"4a4b7bfc11",{"text":796},"Данные текстур являются основной целью, поскольку текстуры часто составляют большую долю размера современных игровых пакетов.",{},{"id":799,"data":800,"type":572,"tunes":802},"7fe0a2d504",{"text":801,"level":47},"Что означает «кондиционирование» простыми словами",{},{"id":804,"data":805,"type":544,"tunes":807},"96a5e493d3",{"text":806},"Кондиционирование означает перестановку или небольшое изменение данных перед сжатием, чтобы компрессор мог найти больше полезных шаблонов.",{},{"id":809,"data":810,"type":544,"tunes":812},"cb4a8a997c",{"text":811},"Для блочно-сжатых текстур GACL может переставлять байтовую структуру перед сжатием Zstd. DirectStorage обращает это преобразование после распаковки.",{},{"id":814,"data":815,"type":544,"tunes":817},"55267a13ca",{"text":816},"GACL также включает методы снижения энтропии, которые могут намеренно упрощать часть текстурной информации, чтобы улучшить сжатие.",{},{"id":819,"data":820,"type":552,"tunes":824},"540deb670e",{"body":821,"title":822,"variant":823},"GACL включает как \u003Cstrong>lossless-преобразования\u003C\u002Fstrong>, так и \u003Cstrong>lossy-оптимизацию текстур\u003C\u002Fstrong>. Лучшее сжатие иногда достигается за счёт принятия контролируемого объёма визуальной ошибки.","Не каждый режим кондиционирования является lossless","warning",{},{"id":826,"data":827,"type":572,"tunes":829},"9836ed86ae",{"text":828,"level":47},"Где в GACL появляется машинное обучение",{},{"id":831,"data":832,"type":544,"tunes":834},"4d663da4d4",{"text":833},"Component-Level Entropy Reduction от Microsoft, или CLER, использует машинное обучение как часть процесса снижения энтропии текстур.",{},{"id":836,"data":837,"type":544,"tunes":839},"79c4cad150",{"text":838},"Цель не в том, чтобы генерировать текстуры во время выполнения. Работа ML является частью подготовки текстурных данных, чтобы итоговое сжатое представление могло стать меньше при сохранении приемлемого визуального качества.",{},{"id":841,"data":842,"type":544,"tunes":844},"99085e4c77",{"text":843},"Это делает GACL оптимизацией контент-пайплайна, а не игровой системой генеративного ИИ.",{},{"id":846,"data":847,"type":572,"tunes":849},"14d13e675d",{"text":848,"level":47},"Улучшение сжатия до 50% не означает, что каждая игра станет на 50% меньше",{},{"id":851,"data":852,"type":544,"tunes":854},"aaeb908807",{"text":853},"Microsoft заявляет, что GACL может обеспечить улучшение коэффициентов сжатия Zstd до 50% для подходящих ресурсов.",{},{"id":856,"data":857,"type":544,"tunes":859},"57085743b1",{"text":858},"Это не то же самое, что утверждение, будто вся установка игры уменьшится на 50%.",{},{"id":861,"data":862,"type":544,"tunes":864},"8e4feee49d",{"text":863},"Реальное влияние зависит от того, какие ресурсы кондиционируются, насколько они сжимаемы, какую долю игры они составляют и приемлемы ли lossy-методы.",{},{"id":866,"data":867,"type":572,"tunes":869},"2cd6a2b721",{"text":868,"level":47},"Тест утверждений о сжатии",{},{"id":871,"data":872,"type":595,"tunes":893},"5537c18816",{"steps":873,"title":892,"orientation":594},[874,877,880,883,886,889],{"label":875,"description":876},"1. Спросите, что именно сжимается","Только текстуры, все ресурсы или полная установка?",{"label":878,"description":879},"2. Спросите, какая база для сравнения","Несжатые данные, GDeflate, старые настройки Zstd или другой упакованный формат?",{"label":881,"description":882},"3. Проверьте, является ли метод lossless","Меньший результат может включать контролируемую потерю качества.",{"label":884,"description":885},"4. Отделите размер файла от производительности загрузки","Лучшее сжатие уменьшает объём читаемых байтов, но распаковка всё ещё требует времени.",{"label":887,"description":888},"5. Проверьте путь CPU\u002FGPU","Одни и те же сжатые данные могут вести себя по-разному в зависимости от того, где выполняется распаковка.",{"label":890,"description":891},"6. Измеряйте весь пайплайн","Пропускная способность хранилища, время распаковки, использование промежуточной памяти и готовность итоговых ресурсов — всё имеет значение.","Как правильно читать утверждение о сжатии игры",{},{"id":895,"data":896,"type":572,"tunes":898},"0ada530e08",{"text":897,"level":47},"Почему замена DLL DirectStorage в игре не включает Zstd",{},{"id":900,"data":901,"type":544,"tunes":903},"4da8a4e81a",{"text":902},"Это особенно важное недоразумение.",{},{"id":905,"data":906,"type":544,"tunes":908},"2e03f9f3b4",{"text":907},"Microsoft явно ответила на это после анонса DirectStorage 1.4: замена DLL-файлов DirectStorage в существующей игре не активирует новые preview-функции.",{},{"id":910,"data":911,"type":544,"tunes":913},"f62e4bf14a",{"text":912},"Ресурсы игры должны быть созданы и сжаты с помощью Zstd во время процесса сборки, дополнительная подготовка GACL должна быть выполнена перед выпуском, а сама игра должна вызывать соответствующие API DirectStorage.",{},{"id":915,"data":916,"type":552,"tunes":919},"0eb0a84749",{"body":917,"title":918,"variant":602},"Файлы на диске, их формат сжатия и интеграция с движком должны быть изначально спроектированы для DirectStorage 1.4.","Runtime DLL не может переписать конвейер ресурсов игры",{},{"id":921,"data":922,"type":572,"tunes":924},"acb0fb0c0e",{"text":923,"level":47},"Почему более быстрые SSD не устраняют затраты на распаковку",{},{"id":926,"data":927,"type":544,"tunes":929},"17a8cecdd3",{"text":928},"Чрезвычайно быстрый SSD может сократить время, необходимое для чтения сжатых байтов, но он не устраняет время, необходимое для превращения этих байтов в пригодные для использования ресурсы.",{},{"id":931,"data":932,"type":544,"tunes":934},"b4fa0ab639",{"text":933},"По мере ускорения хранилища относительная важность распаковки, подготовки ресурсов, загрузки на GPU и обработки на стороне движка становится больше.",{},{"id":936,"data":937,"type":544,"tunes":939},"8e24a111c3",{"text":938},"Именно поэтому DirectStorage развился за пределы простого ввода-вывода.",{},{"id":941,"data":942,"type":572,"tunes":944},"06446ca61f",{"text":943,"level":47},"Тест конвейера времени загрузки",{},{"id":946,"data":947,"type":595,"tunes":968},"79ccb70f4a",{"steps":948,"title":967,"orientation":594},[949,952,955,958,961,964],{"label":950,"description":951},"1. Измерьте время чтения из хранилища","Сколько времени требуется для доставки сжатых байтов ресурса?",{"label":953,"description":954},"2. Измерьте распаковку","Сколько времени CPU или GPU тратится на развертывание данных?",{"label":956,"description":957},"3. Измерьте очередь и подготовку","Ожидают ли запросы из-за переполнения буферов подготовки или очередей GPU?",{"label":959,"description":960},"4. Измерьте загрузку и создание ресурсов","Сколько времени проходит, прежде чем распакованные данные станут пригодным для использования ресурсом GPU?",{"label":962,"description":963},"5. Измерьте работу на стороне движка","Шейдеры, создание объектов, настройка мира и регистрация ресурсов все еще могут доминировать при загрузке.",{"label":965,"description":966},"6. Исправьте самый медленный этап","Более быстрый SSD помогает только тогда, когда ввод-вывод хранилища действительно является ограничивающей частью.","Как определить, действительно ли хранилище является узким местом",{},{"id":970,"data":971,"type":572,"tunes":973},"571576014a",{"text":972,"level":47},"Почему это важно для потоковой передачи открытого мира",{},{"id":975,"data":976,"type":544,"tunes":978},"806314e0fe",{"text":977},"Игры с открытым миром непрерывно перемещают данные ресурсов, когда игрок пересекает карту.",{},{"id":980,"data":981,"type":544,"tunes":983},"7bb8a063e0",{"text":982},"Это означает, что потоковая передача ресурсов заключается не только в сокращении экрана загрузки. Конвейер должен доставлять, распаковывать и подготавливать данные, пока игровой процесс продолжается.",{},{"id":985,"data":986,"type":544,"tunes":988},"012c8cf647",{"text":987},"Кодек с высокой степенью сжатия может уменьшить количество байтов, извлекаемых из хранилища, а быстрая распаковка на GPU может помочь сохранить время CPU для симуляции.",{},{"id":990,"data":991,"type":544,"tunes":993},"f978c83ceb",{"text":992},"Но если сам GPU уже насыщен, перенос работы по распаковке туда может потребовать тщательного планирования.",{},{"id":995,"data":996,"type":572,"tunes":998},"ba6e748605",{"text":997,"level":47},"DirectStorage 1.4 также улучшает видимость планирования GPU",{},{"id":1000,"data":1001,"type":544,"tunes":1003},"d858b01445",{"text":1002},"DirectStorage 1.4 добавляет поддержку D3D12 CreatorID для внутренних командных очередей, которыми он управляет.",{},{"id":1005,"data":1006,"type":544,"tunes":1008},"34afe0ff59",{"text":1007},"Цель — помочь рабочим нагрузкам DirectStorage более предсказуемо участвовать в группировке очередей D3D12 и планировании выполнения на GPU.",{},{"id":1010,"data":1011,"type":544,"tunes":1013},"37941fcc6e",{"text":1012},"Это важно, потому что распаковка теперь конкурирует за ту же экосистему GPU, что и рендеринг и другие вычислительные задачи.",{},{"id":1015,"data":1016,"type":572,"tunes":1018},"b48d791481",{"text":1017,"level":47},"Что производители GPU будут делать дальше",{},{"id":1020,"data":1021,"type":544,"tunes":1023},"8e92b40d82",{"text":1022},"Microsoft заявляет, что AMD, Intel, NVIDIA и Qualcomm работают над оптимизациями Zstd для конкретного оборудования и драйверов.",{},{"id":1025,"data":1026,"type":544,"tunes":1028},"fe70c63125",{"text":1027},"AMD и NVIDIA публично указали на оптимизированную поддержку, нацеленную на вторую половину 2026 года, в то время как Intel и Qualcomm также описали текущую работу над платформой.",{},{"id":1030,"data":1031,"type":544,"tunes":1033},"b32885f619",{"text":1032},"Это означает, что публичный GPU-шейдер DirectStorage является базовым, а не обязательно окончательным путем производительности для будущего оборудования.",{},{"id":1035,"data":1036,"type":572,"tunes":1038},"5bdd394fbe",{"text":1037,"level":47},"Что могло бы изменить этот ответ?",{},{"id":1040,"data":1041,"type":544,"tunes":1043},"df440ec666",{"text":1042},"DirectStorage 1.4 все еще является публичной предварительной версией. Окончательный API, производительность шейдера Zstd, поддержка GACL и оптимизированные производителем пути драйверов могут измениться.",{},{"id":1045,"data":1046,"type":544,"tunes":1048},"032ea5afdc",{"text":1047},"Если будущие устройства хранения добавят стандартизированную аппаратную декомпрессию, интегрированную в конвейер ресурсов ПК, четкое разделение между «чтением с SSD» и «декомпрессией на CPU\u002FGPU» может стать менее абсолютным. Сегодня это не является обычной моделью DirectStorage 1.4.",{},{"id":1050,"data":1051,"type":572,"tunes":1053},"76422e49b2",{"text":1052,"level":47},"Ограничения",{},{"id":1055,"data":1056,"type":544,"tunes":1058},"014e638d31",{"text":1057},"Эта статья объясняет текущую публичную архитектуру предварительной версии DirectStorage 1.4 от Microsoft. Она не утверждает, что каждая игра, использующая DirectStorage, будет использовать Zstd, декомпрессию на GPU или GACL.",{},{"id":1060,"data":1061,"type":544,"tunes":1063},"7dd689e651",{"text":1062},"Заявления Microsoft о степени сжатия и производительности являются технологическими заявлениями поставщика платформы. Реальные результаты в играх зависят от набора ресурсов, настроек сжатия, оборудования, драйверов и интеграции с движком.",{},{"id":1065,"data":1066,"type":572,"tunes":1068},"b7bbbdd494",{"text":1067,"level":47},"Заключение",{},{"id":1070,"data":1071,"type":544,"tunes":1073},"6c07e0bffd",{"text":1072},"DirectStorage 1.4 легче понять, если разделить задачи.",{},{"id":1075,"data":1076,"type":544,"tunes":1078},"325ad9669f",{"text":1077},"SSD перемещает сжатые байты. DirectStorage планирует передачу. Zstd определяет, как сжимаются данные. CPU или GPU выполняет декомпрессию. GACL может подготовить некоторые ресурсы, чтобы Zstd сжимал их более эффективно. Затем игровой движок использует готовый ресурс.",{},{"id":1080,"data":1081,"type":544,"tunes":1083},"0a7990db5b",{"text":1082},"Более быстрый SSD — лишь одна часть этой цепочки.",{},{"id":1085,"data":1086,"type":572,"tunes":1088},"b9347644f5",{"text":1087,"level":47},"Часто задаваемые вопросы",{},{"id":1090,"data":1091,"type":1118,"tunes":1119},"4453ce2f6c",{"items":1092,"title":1117},[1093,1097,1101,1105,1109,1113],{"id":1094,"answer":1095,"question":1096},"faq1","Нет. SSD читает сжатые данные. DirectStorage координирует ввод-вывод, а декомпрессию выполняет CPU или GPU.","Заставляет ли DirectStorage SSD распаковывать игровые ресурсы?",{"id":1098,"answer":1099,"question":1100},"faq2","Публичная предварительная версия добавляет сжатие Zstandard, поддержку декомпрессии на CPU\u002FGPU, интеграцию с Game Asset Conditioning Library и улучшенную идентификацию очередей D3D12.","Что нового в DirectStorage 1.4?",{"id":1102,"answer":1103,"question":1104},"faq3","Нет. Microsoft заявляет, что ресурсы должны быть собраны с использованием Zstd\u002FGACL, и игра должна явно использовать новые API.","Могу ли я заменить DLL DirectStorage в игре, чтобы включить Zstd?",{"id":1106,"answer":1107,"question":1108},"faq4","Нет. Она использует вычисления GPU, пропускную способность и промежуточные буферы, хотя может снизить нагрузку на CPU.","Бесплатна ли декомпрессия на GPU?",{"id":1110,"answer":1111,"question":1112},"faq5","Она подготавливает игровые ресурсы, особенно текстуры, чтобы Zstd мог сжимать их более эффективно. Некоторые методы являются сжатием без потерь, а некоторые — с потерями.","Что делает GACL?",{"id":1114,"answer":1115,"question":1116},"faq6","Нет. Эта цифра относится к подходящим подготовленным ресурсам, а не автоматически ко всей установке игры.","Означает ли улучшение сжатия до 50%, что игра станет на 50% меньше?","DirectStorage 1.4 и Zstd простыми словами","faq",{},{"id":1121,"data":1122,"type":572,"tunes":1124},"578cca7c13",{"text":1123,"level":47},"Глоссарий",{},{"id":1126,"data":1127,"type":1157,"tunes":1158},"314ad428b8",{"title":1128,"entries":1129},"Ключевые термины DirectStorage 1.4",[1130,1134,1138,1141,1145,1149,1153],{"term":1131,"anchor":1132,"definition":1133},"DirectStorage","directstorage","API семейства DirectX от Microsoft для высокопроизводительного ввода-вывода и декомпрессии игровых ресурсов в Windows.",{"term":1135,"anchor":1136,"definition":1137},"Zstandard (Zstd)","zstd","Открытый формат сжатия, добавленный в DirectStorage 1.4 для игровых ресурсов.",{"term":692,"anchor":1139,"definition":1140},"gpu-decompression","Распаковка сжатых данных с использованием вычислений GPU вместо выполнения всей декомпрессии на CPU.",{"term":1142,"anchor":1143,"definition":1144},"Промежуточный буфер","staging-buffer","Временная память GPU, используемая DirectStorage для координации потоков сжатых и распакованных данных.",{"term":1146,"anchor":1147,"definition":1148},"GACL","gacl","Game Asset Conditioning Library от Microsoft, которая подготавливает ресурсы для повышения эффективности сжатия.",{"term":1150,"anchor":1151,"definition":1152},"Треугольник стоимости потоковой передачи ресурсов","asset-streaming-cost-triangle","Модель Figure Rocks, разделяющая размер хранилища, трафик ввода-вывода и стоимость декомпрессии во время выполнения.",{"term":1154,"anchor":1155,"definition":1156},"Тест заявлений о сжатии","compression-claim-test","Контрольный список Figure Rocks для интерпретации заявлений о сжатии путем проверки области ресурсов, базовой линии, потери качества и стоимости во время выполнения.","glossary",{},{"id":1160,"data":1161,"type":572,"tunes":1163},"ba9a367e9e",{"text":1162,"level":47},"Первоисточники",{},{"id":1165,"data":1166,"type":1172,"tunes":1173},"5b0ee9645d",{"link":1167,"meta":1168},"https:\u002F\u002Fdevblogs.microsoft.com\u002Fdirectx\u002Fdirectstorage-1-4-release-adds-support-for-zstandard\u002F",{"image":1169,"title":1170,"description":1171},{"url":13},"Microsoft DirectX — DirectStorage 1.4 добавляет Zstandard","Официальное объявление от марта 2026 года, охватывающее Zstd, распаковку на CPU\u002FGPU, GACL, планы оптимизации производителей GPU и предварительную версию DirectStorage 1.4.","linkTool",{},{"id":1175,"data":1176,"type":1172,"tunes":1182},"99d1c9ab00",{"link":1177,"meta":1178},"https:\u002F\u002Fdevblogs.microsoft.com\u002Fdirectx\u002Fdirectstorage-api-downloads\u002F",{"image":1179,"title":1180,"description":1181},{"url":13},"Microsoft DirectX — DirectStorage SDK и API","Официальная страница выпуска со списком функций предварительной версии DirectStorage 1.4 и статусом пакета.",{},{"id":1184,"data":1185,"type":1172,"tunes":1191},"c6911b09dc",{"link":1186,"meta":1187},"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FDirectStorage",{"image":1188,"title":1189,"description":1190},{"url":13},"Microsoft — DirectStorage на GitHub","Официальный репозиторий, содержащий примеры, тесты производительности распаковки на GPU и руководство по реализации DirectStorage.",{},{"id":1193,"data":1194,"type":1172,"tunes":1200},"01eb196732",{"link":1195,"meta":1196},"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FDirectStorage\u002Fblob\u002Fmain\u002FDocs\u002FDeveloperGuidance.md",{"image":1197,"title":1198,"description":1199},{"url":13},"Microsoft — Руководство для разработчиков DirectStorage","Официальное руководство, объясняющее поток сжатых данных, распаковку на GPU, промежуточные буферы и компромиссы по памяти.",{},{"id":1202,"data":1203,"type":1172,"tunes":1209},"77679e7133",{"link":1204,"meta":1205},"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FGame-Asset-Conditioning-Library\u002Fblob\u002Fmain\u002FREADME.md",{"image":1206,"title":1207,"description":1208},{"url":13},"Microsoft — Game Asset Conditioning Library","Официальная документация, охватывающая подготовку текстур, Zstd, преобразования перемешивания и методы снижения энтропии.",{},"2.31","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","directstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do-1790405481526-fwnzz4",false,"PUBLISHED","2026-09-26T02:49:00.000Z","2026-09-26T06:49:10.633Z","2026-09-26T07:04:11.521Z",{"en":1220,"de":1221,"sr":1222,"es":1223,"fr":1224,"it":1225,"ru":1226,"zh":1227},"\u002Fblog\u002Fdirectstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do","\u002Fde\u002Fblog\u002Fdirectstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do","\u002Fsr\u002Fblog\u002Fdirectstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do","\u002Fes\u002Fblog\u002Fdirectstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do","\u002Ffr\u002Fblog\u002Fdirectstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do","\u002Fit\u002Fblog\u002Fdirectstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do","\u002Fru\u002Fblog\u002Fdirectstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do","\u002Fzh\u002Fblog\u002Fdirectstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do",[1229,1233,1237,1241],{"id":1230,"name":1231,"slug":1232},330,"Исправления стриминга и ввода-вывода","streaming-and-io-fixes",{"id":1234,"name":1235,"slug":1236},65,"Задержки ввода-вывода и хранилища","io-and-storage-stutter",{"id":1238,"name":1239,"slug":1240},237,"Стриминг и ввод-вывод","streaming-and-io",{"id":1242,"name":1243,"slug":1244},152,"VRAM и стриминг","vram-and-streaming",{"id":283,"login":1246,"email":1247,"displayName":1248},"aleksandar","aleksandar@stajic.de","Aleksandar Stajic",[1250,1784],{"lang":8,"title":1251,"content":1252,"contentJson":1253,"excerpt":1783},"DirectStorage 1.4 Does Not Make Your SSD Decompress Games: What Zstd and GPU Decompression Actually Do","{\"time\":1790405876557,\"blocks\":[{\"id\":\"7b461210c1\",\"type\":\"paragraph\",\"data\":{\"text\":\"DirectStorage 1.4 adds Zstandard compression and GPU decompression support for game assets, but that does not mean your SSD is suddenly decompressing textures and models by itself. The storage drive moves compressed data. The CPU or GPU still performs the decompression work.\"},\"tunes\":{}},{\"id\":\"2f0f63271c\",\"type\":\"callout\",\"data\":{\"variant\":\"info\",\"title\":\"Direct answer\",\"body\":\"\u003Cstrong>Your SSD reads compressed game data. It does not normally decompress that data itself.\u003C\u002Fstrong> DirectStorage coordinates the path from storage to memory, while the CPU or GPU can handle decompression. DirectStorage 1.4 adds Zstandard as a new codec option and lets developers choose CPU or GPU decompression.\"},\"tunes\":{}},{\"id\":\"48a120727f\",\"type\":\"callout\",\"data\":{\"variant\":\"note\",\"title\":\"Current status\",\"body\":\"DirectStorage 1.4 is currently a \u003Cstrong>public preview\u003C\u002Fstrong>. Its Zstandard support and the Game Asset Conditioning Library are developer technologies that must be integrated into a game's build and runtime pipeline. Replacing DLL files in an existing game does not magically enable the new features.\"},\"tunes\":{}},{\"id\":\"2954eec7f8\",\"type\":\"tableOfContents\",\"data\":{\"title\":\"Contents\",\"minLevel\":2,\"maxLevel\":3},\"tunes\":{}},{\"id\":\"980168054a\",\"type\":\"header\",\"data\":{\"text\":\"The simplest way to understand the asset path\",\"level\":2},\"tunes\":{}},{\"id\":\"99210cf7a2\",\"type\":\"processFlow\",\"data\":{\"title\":\"What happens when a game loads compressed assets\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Game asset is stored compressed\",\"description\":\"Textures, geometry or other data are packaged in compressed form on the SSD.\"},{\"label\":\"2. SSD reads the compressed bytes\",\"description\":\"The NVMe drive moves those bytes quickly from storage into the system's I\u002FO path.\"},{\"label\":\"3. DirectStorage schedules the request\",\"description\":\"DirectStorage coordinates high-throughput reads and where the resulting data should go.\"},{\"label\":\"4. CPU or GPU decompresses\",\"description\":\"The compressed stream is expanded into the form needed by the game.\"},{\"label\":\"5. Asset becomes usable\",\"description\":\"The decompressed texture, buffer or other resource can then be consumed by the renderer or game systems.\"}]},\"tunes\":{}},{\"id\":\"d375ebe60b\",\"type\":\"callout\",\"data\":{\"variant\":\"success\",\"title\":\"The mental model\",\"body\":\"\u003Cstrong>SSD = moves compressed data.\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>DirectStorage = coordinates the transfer.\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>CPU\u002FGPU = decompresses.\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>Game engine = uses the result.\u003C\u002Fstrong>\"},\"tunes\":{}},{\"id\":\"dbcc92fffe\",\"type\":\"header\",\"data\":{\"text\":\"Why compress game assets at all?\",\"level\":2},\"tunes\":{}},{\"id\":\"fa9fc5a6fc\",\"type\":\"paragraph\",\"data\":{\"text\":\"Modern games contain enormous amounts of texture, geometry, audio and other data.\"},\"tunes\":{}},{\"id\":\"375587179a\",\"type\":\"paragraph\",\"data\":{\"text\":\"Storing every asset uncompressed would increase installation size and force the storage device to read more bytes for the same content.\"},\"tunes\":{}},{\"id\":\"6f00b8cbff\",\"type\":\"paragraph\",\"data\":{\"text\":\"Compression reduces how much data must be stored and transferred. The trade-off is that the data has to be decompressed before the game can use it.\"},\"tunes\":{}},{\"id\":\"1c00bf96d8\",\"type\":\"header\",\"data\":{\"text\":\"DirectStorage moves the bottleneck problem, it does not remove it\",\"level\":2},\"tunes\":{}},{\"id\":\"2fd37b24a2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A fast NVMe drive can deliver compressed data much faster than older storage pipelines, but faster reads only help if the rest of the path can keep up.\"},\"tunes\":{}},{\"id\":\"d68045b6ad\",\"type\":\"paragraph\",\"data\":{\"text\":\"If the CPU has to decompress thousands of small asset chunks while also running game logic, physics and draw submission, decompression itself can become expensive.\"},\"tunes\":{}},{\"id\":\"a16eb295ca\",\"type\":\"paragraph\",\"data\":{\"text\":\"That is why DirectStorage supports GPU decompression: some of the work can move away from the CPU and onto massively parallel GPU compute.\"},\"tunes\":{}},{\"id\":\"b4937d330d\",\"type\":\"header\",\"data\":{\"text\":\"What DirectStorage 1.4 adds\",\"level\":2},\"tunes\":{}},{\"id\":\"15fbbac723\",\"type\":\"paragraph\",\"data\":{\"text\":\"DirectStorage 1.4 adds Zstandard, usually written Zstd, as a supported compression format.\"},\"tunes\":{}},{\"id\":\"9c19185ae4\",\"type\":\"paragraph\",\"data\":{\"text\":\"Microsoft chose Zstd because it combines strong compression ratios, good decompression performance, broad software and hardware availability, and widespread adoption.\"},\"tunes\":{}},{\"id\":\"431523b335\",\"type\":\"paragraph\",\"data\":{\"text\":\"The important change is that Zstd is integrated into DirectStorage's decompression framework with both CPU and GPU paths.\"},\"tunes\":{}},{\"id\":\"940098d2af\",\"type\":\"comparison\",\"data\":{\"title\":\"CPU vs GPU decompression\",\"layout\":\"table\",\"columns\":[{\"id\":\"cpu\",\"label\":\"CPU decompression\"},{\"id\":\"gpu\",\"label\":\"GPU decompression\"}],\"rows\":[{\"id\":\"execution\",\"label\":\"Where it runs\",\"values\":[\"\",\"\"]},{\"id\":\"advantage\",\"label\":\"Potential advantage\",\"values\":[\"\",\"\"]},{\"id\":\"cost\",\"label\":\"Main cost\",\"values\":[\"\",\"\"]},{\"id\":\"best\",\"label\":\"Best choice\",\"values\":[\"\",\"\"]}]},\"tunes\":{}},{\"id\":\"c6262b2b30\",\"type\":\"header\",\"data\":{\"text\":\"GPU decompression still costs GPU resources\",\"level\":2},\"tunes\":{}},{\"id\":\"b4cde1abf8\",\"type\":\"paragraph\",\"data\":{\"text\":\"GPU decompression is not free.\"},\"tunes\":{}},{\"id\":\"9a58b4b286\",\"type\":\"paragraph\",\"data\":{\"text\":\"DirectStorage uses staging buffers in VRAM to coordinate compressed input and decompressed output. Microsoft warns that an oversized staging buffer can take memory away from rendering, while one that is too small can reduce throughput because requests have to wait.\"},\"tunes\":{}},{\"id\":\"4a44c060ae\",\"type\":\"paragraph\",\"data\":{\"text\":\"So GPU decompression creates another balancing problem: reduce CPU work without stealing too much GPU memory or compute from rendering.\"},\"tunes\":{}},{\"id\":\"3f3babfc82\",\"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, residency budgets and working sets matter more than one memory-usage number.\",\"ctaLabel\":\"Read the VRAM guide\"},\"tunes\":{}},{\"id\":\"a942fbe973\",\"type\":\"header\",\"data\":{\"text\":\"Why Zstd matters compared with older DirectStorage compression\",\"level\":2},\"tunes\":{}},{\"id\":\"ef8a3b3ba5\",\"type\":\"paragraph\",\"data\":{\"text\":\"DirectStorage already supported GDeflate, a compression format designed for parallel GPU decompression.\"},\"tunes\":{}},{\"id\":\"84da708009\",\"type\":\"paragraph\",\"data\":{\"text\":\"Zstd adds a different option: a broadly used open compression standard with strong compression ratios and extensive tooling.\"},\"tunes\":{}},{\"id\":\"e402caab8b\",\"type\":\"paragraph\",\"data\":{\"text\":\"Microsoft is also publishing an open-source GPU Zstd decompression compute shader as a baseline that GPU vendors can optimize further.\"},\"tunes\":{}},{\"id\":\"6ff4e34bf6\",\"type\":\"paragraph\",\"data\":{\"text\":\"The initial shader is optimized around chunks of 256 KB or smaller, which matches common streaming-oriented game packaging patterns.\"},\"tunes\":{}},{\"id\":\"4328a25e36\",\"type\":\"header\",\"data\":{\"text\":\"The Asset Streaming Cost Triangle\",\"level\":2},\"tunes\":{}},{\"id\":\"3a792d45ba\",\"type\":\"comparison\",\"data\":{\"title\":\"Compression changes three different costs\",\"layout\":\"table\",\"columns\":[{\"id\":\"benefit\",\"label\":\"What compression can reduce\"},{\"id\":\"cost\",\"label\":\"What it can increase\"}],\"rows\":[{\"id\":\"storage\",\"label\":\"Installation size\",\"values\":[\"\",\"\"]},{\"id\":\"io\",\"label\":\"Storage I\u002FO\",\"values\":[\"\",\"\"]},{\"id\":\"runtime\",\"label\":\"Runtime CPU\u002FGPU work\",\"values\":[\"\",\"\"]}]},\"tunes\":{}},{\"id\":\"5d30690c89\",\"type\":\"header\",\"data\":{\"text\":\"What the Game Asset Conditioning Library does\",\"level\":2},\"tunes\":{}},{\"id\":\"25b7db1be9\",\"type\":\"paragraph\",\"data\":{\"text\":\"Microsoft introduced the Game Asset Conditioning Library, or GACL, alongside DirectStorage 1.4.\"},\"tunes\":{}},{\"id\":\"c68144d961\",\"type\":\"paragraph\",\"data\":{\"text\":\"GACL does not replace Zstd. It prepares certain game assets so Zstd can compress them more effectively.\"},\"tunes\":{}},{\"id\":\"4a4b7bfc11\",\"type\":\"paragraph\",\"data\":{\"text\":\"Texture data is a major target because textures often make up a large share of modern game-package size.\"},\"tunes\":{}},{\"id\":\"7fe0a2d504\",\"type\":\"header\",\"data\":{\"text\":\"What “conditioning” means in plain English\",\"level\":2},\"tunes\":{}},{\"id\":\"96a5e493d3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Conditioning means rearranging or slightly modifying the data before compression so the compressor can find more useful patterns.\"},\"tunes\":{}},{\"id\":\"cb4a8a997c\",\"type\":\"paragraph\",\"data\":{\"text\":\"For block-compressed textures, GACL can shuffle the byte layout before Zstd compression. DirectStorage reverses that transform after decompression.\"},\"tunes\":{}},{\"id\":\"55267a13ca\",\"type\":\"paragraph\",\"data\":{\"text\":\"GACL also includes entropy-reduction techniques that can deliberately simplify some texture information to make it compress better.\"},\"tunes\":{}},{\"id\":\"540deb670e\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"Not every conditioning mode is lossless\",\"body\":\"GACL includes both \u003Cstrong>lossless transforms\u003C\u002Fstrong> and \u003Cstrong>lossy texture optimization\u003C\u002Fstrong>. Better compression can sometimes come from accepting a controlled amount of visual error.\"},\"tunes\":{}},{\"id\":\"9836ed86ae\",\"type\":\"header\",\"data\":{\"text\":\"Where machine learning enters GACL\",\"level\":2},\"tunes\":{}},{\"id\":\"4d663da4d4\",\"type\":\"paragraph\",\"data\":{\"text\":\"Microsoft's Component-Level Entropy Reduction, or CLER, uses machine learning as part of the process for reducing texture entropy.\"},\"tunes\":{}},{\"id\":\"79c4cad150\",\"type\":\"paragraph\",\"data\":{\"text\":\"The purpose is not to generate textures at runtime. The ML work is part of preparing texture data so the final compressed representation can become smaller while keeping acceptable visual quality.\"},\"tunes\":{}},{\"id\":\"99085e4c77\",\"type\":\"paragraph\",\"data\":{\"text\":\"That makes GACL a content-pipeline optimization rather than an in-game generative AI system.\"},\"tunes\":{}},{\"id\":\"14d13e675d\",\"type\":\"header\",\"data\":{\"text\":\"Up to 50% better compression does not mean every game becomes 50% smaller\",\"level\":2},\"tunes\":{}},{\"id\":\"aaeb908807\",\"type\":\"paragraph\",\"data\":{\"text\":\"Microsoft says GACL can deliver up to a 50% improvement in Zstd compression ratios for suitable assets.\"},\"tunes\":{}},{\"id\":\"57085743b1\",\"type\":\"paragraph\",\"data\":{\"text\":\"That is not the same as saying an entire game installation shrinks by 50%.\"},\"tunes\":{}},{\"id\":\"8e4feee49d\",\"type\":\"paragraph\",\"data\":{\"text\":\"The real impact depends on which assets are conditioned, how compressible they are, what proportion of the game they represent and whether lossy techniques are acceptable.\"},\"tunes\":{}},{\"id\":\"2cd6a2b721\",\"type\":\"header\",\"data\":{\"text\":\"The Compression Claim Test\",\"level\":2},\"tunes\":{}},{\"id\":\"5537c18816\",\"type\":\"processFlow\",\"data\":{\"title\":\"How to read a game-compression claim correctly\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Ask what is being compressed\",\"description\":\"Textures only, all assets, or the complete installation?\"},{\"label\":\"2. Ask what the comparison baseline is\",\"description\":\"Uncompressed data, GDeflate, old Zstd settings or another packaged format?\"},{\"label\":\"3. Check whether the technique is lossless\",\"description\":\"A smaller result may include controlled quality loss.\"},{\"label\":\"4. Separate file size from load performance\",\"description\":\"Better compression reduces bytes read but decompression still costs time.\"},{\"label\":\"5. Check CPU\u002FGPU path\",\"description\":\"The same compressed data can behave differently depending on where decompression executes.\"},{\"label\":\"6. Measure the complete pipeline\",\"description\":\"Storage throughput, decompression time, staging-memory use and final asset readiness all matter.\"}]},\"tunes\":{}},{\"id\":\"0ada530e08\",\"type\":\"header\",\"data\":{\"text\":\"Why replacing DirectStorage DLLs in a game does not enable Zstd\",\"level\":2},\"tunes\":{}},{\"id\":\"4da8a4e81a\",\"type\":\"paragraph\",\"data\":{\"text\":\"This is an especially important misunderstanding.\"},\"tunes\":{}},{\"id\":\"2e03f9f3b4\",\"type\":\"paragraph\",\"data\":{\"text\":\"Microsoft explicitly answered this after the DirectStorage 1.4 announcement: replacing DirectStorage DLL files in an existing game does not activate the new preview features.\"},\"tunes\":{}},{\"id\":\"f62e4bf14a\",\"type\":\"paragraph\",\"data\":{\"text\":\"The game's assets have to be authored and compressed with Zstd during the build process, optional GACL conditioning has to happen before shipping, and the game itself has to call the relevant DirectStorage APIs.\"},\"tunes\":{}},{\"id\":\"0eb0a84749\",\"type\":\"callout\",\"data\":{\"variant\":\"success\",\"title\":\"A runtime DLL cannot rewrite the game's asset pipeline\",\"body\":\"The files on disk, their compression format and the engine integration must already be designed for DirectStorage 1.4.\"},\"tunes\":{}},{\"id\":\"acb0fb0c0e\",\"type\":\"header\",\"data\":{\"text\":\"Why faster SSDs do not remove decompression cost\",\"level\":2},\"tunes\":{}},{\"id\":\"17a8cecdd3\",\"type\":\"paragraph\",\"data\":{\"text\":\"An extremely fast SSD can reduce the time needed to read compressed bytes, but it does not eliminate the time required to turn those bytes into usable assets.\"},\"tunes\":{}},{\"id\":\"b4fa0ab639\",\"type\":\"paragraph\",\"data\":{\"text\":\"As storage becomes faster, the relative importance of decompression, asset preparation, GPU upload and engine-side processing becomes larger.\"},\"tunes\":{}},{\"id\":\"8e24a111c3\",\"type\":\"paragraph\",\"data\":{\"text\":\"That is exactly why DirectStorage has evolved beyond raw I\u002FO.\"},\"tunes\":{}},{\"id\":\"06446ca61f\",\"type\":\"header\",\"data\":{\"text\":\"The Load-Time Pipeline Test\",\"level\":2},\"tunes\":{}},{\"id\":\"79ccb70f4a\",\"type\":\"processFlow\",\"data\":{\"title\":\"How to diagnose whether storage is really the bottleneck\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Measure storage read time\",\"description\":\"How long does it take to deliver the compressed asset bytes?\"},{\"label\":\"2. Measure decompression\",\"description\":\"How much CPU or GPU time is spent expanding the data?\"},{\"label\":\"3. Measure queueing and staging\",\"description\":\"Are requests waiting because staging buffers or GPU queues are saturated?\"},{\"label\":\"4. Measure upload and resource creation\",\"description\":\"How long before the decompressed data becomes a usable GPU resource?\"},{\"label\":\"5. Measure engine-side work\",\"description\":\"Shaders, object creation, world setup and asset registration may still dominate loading.\"},{\"label\":\"6. Fix the slowest stage\",\"description\":\"A faster SSD only helps when storage I\u002FO is actually the limiting part.\"}]},\"tunes\":{}},{\"id\":\"571576014a\",\"type\":\"header\",\"data\":{\"text\":\"Why this matters for open-world streaming\",\"level\":2},\"tunes\":{}},{\"id\":\"806314e0fe\",\"type\":\"paragraph\",\"data\":{\"text\":\"Open-world games continuously move asset data as the player crosses the map.\"},\"tunes\":{}},{\"id\":\"7bb8a063e0\",\"type\":\"paragraph\",\"data\":{\"text\":\"That means asset streaming is not only about reducing a loading screen. The pipeline has to deliver, decompress and prepare data while gameplay continues.\"},\"tunes\":{}},{\"id\":\"012c8cf647\",\"type\":\"paragraph\",\"data\":{\"text\":\"A codec with a strong compression ratio can reduce the number of bytes pulled from storage, while fast GPU decompression can help keep CPU time available for simulation.\"},\"tunes\":{}},{\"id\":\"f978c83ceb\",\"type\":\"paragraph\",\"data\":{\"text\":\"But if the GPU itself is already saturated, moving decompression work there may need careful scheduling.\"},\"tunes\":{}},{\"id\":\"ba6e748605\",\"type\":\"header\",\"data\":{\"text\":\"DirectStorage 1.4 also improves GPU scheduling visibility\",\"level\":2},\"tunes\":{}},{\"id\":\"d858b01445\",\"type\":\"paragraph\",\"data\":{\"text\":\"DirectStorage 1.4 adds D3D12 CreatorID support for the internal command queues it manages.\"},\"tunes\":{}},{\"id\":\"34afe0ff59\",\"type\":\"paragraph\",\"data\":{\"text\":\"The purpose is to help DirectStorage workloads participate more predictably in D3D12 queue grouping and GPU execution scheduling.\"},\"tunes\":{}},{\"id\":\"37941fcc6e\",\"type\":\"paragraph\",\"data\":{\"text\":\"This matters because decompression is now competing for the same GPU ecosystem as rendering and other compute work.\"},\"tunes\":{}},{\"id\":\"b48d791481\",\"type\":\"header\",\"data\":{\"text\":\"What GPU vendors are doing next\",\"level\":2},\"tunes\":{}},{\"id\":\"8e92b40d82\",\"type\":\"paragraph\",\"data\":{\"text\":\"Microsoft says AMD, Intel, NVIDIA and Qualcomm are working on hardware- and driver-specific Zstd optimizations.\"},\"tunes\":{}},{\"id\":\"fe70c63125\",\"type\":\"paragraph\",\"data\":{\"text\":\"AMD and NVIDIA publicly indicated optimized support targeted for the second half of 2026, while Intel and Qualcomm also described ongoing platform work.\"},\"tunes\":{}},{\"id\":\"b32885f619\",\"type\":\"paragraph\",\"data\":{\"text\":\"That means the public DirectStorage GPU shader is a baseline, not necessarily the final performance path for future hardware.\"},\"tunes\":{}},{\"id\":\"5bdd394fbe\",\"type\":\"header\",\"data\":{\"text\":\"What would change this answer?\",\"level\":2},\"tunes\":{}},{\"id\":\"df440ec666\",\"type\":\"paragraph\",\"data\":{\"text\":\"DirectStorage 1.4 is still a public preview. The final API, Zstd shader performance, GACL support and vendor-optimized driver paths can all change.\"},\"tunes\":{}},{\"id\":\"032ea5afdc\",\"type\":\"paragraph\",\"data\":{\"text\":\"If future storage devices add standardized hardware decompression integrated into the PC asset pipeline, the clean separation between “SSD reads” and “CPU\u002FGPU decompresses” could become less absolute. That is not the normal DirectStorage 1.4 model today.\"},\"tunes\":{}},{\"id\":\"76422e49b2\",\"type\":\"header\",\"data\":{\"text\":\"Limitations\",\"level\":2},\"tunes\":{}},{\"id\":\"014e638d31\",\"type\":\"paragraph\",\"data\":{\"text\":\"This article explains Microsoft's current public DirectStorage 1.4 preview architecture. It does not claim that every game using DirectStorage will use Zstd, GPU decompression or GACL.\"},\"tunes\":{}},{\"id\":\"7dd689e651\",\"type\":\"paragraph\",\"data\":{\"text\":\"Microsoft's compression-ratio and performance statements are technology claims from the platform vendor. Real game results depend on the asset mix, compression settings, hardware, drivers and engine integration.\"},\"tunes\":{}},{\"id\":\"b7bbbdd494\",\"type\":\"header\",\"data\":{\"text\":\"Conclusion\",\"level\":2},\"tunes\":{}},{\"id\":\"6c07e0bffd\",\"type\":\"paragraph\",\"data\":{\"text\":\"DirectStorage 1.4 is easier to understand once the jobs are separated.\"},\"tunes\":{}},{\"id\":\"325ad9669f\",\"type\":\"paragraph\",\"data\":{\"text\":\"The SSD moves compressed bytes. DirectStorage schedules the transfer. Zstd defines how the data is compressed. The CPU or GPU decompresses it. GACL can prepare some assets so Zstd compresses them more effectively. The game engine then consumes the finished asset.\"},\"tunes\":{}},{\"id\":\"0a7990db5b\",\"type\":\"paragraph\",\"data\":{\"text\":\"A faster SSD is only one part of that chain.\"},\"tunes\":{}},{\"id\":\"b9347644f5\",\"type\":\"header\",\"data\":{\"text\":\"FAQ\",\"level\":2},\"tunes\":{}},{\"id\":\"4453ce2f6c\",\"type\":\"faq\",\"data\":{\"title\":\"DirectStorage 1.4 and Zstd in plain English\",\"items\":[{\"id\":\"faq1\",\"question\":\"Does DirectStorage make the SSD decompress game assets?\",\"answer\":\"No. The SSD reads compressed data. DirectStorage coordinates the I\u002FO, while the CPU or GPU performs decompression.\"},{\"id\":\"faq2\",\"question\":\"What is new in DirectStorage 1.4?\",\"answer\":\"The public preview adds Zstandard compression, CPU\u002FGPU decompression support, Game Asset Conditioning Library integration and improved D3D12 queue identification.\"},{\"id\":\"faq3\",\"question\":\"Can I replace a game's DirectStorage DLL to enable Zstd?\",\"answer\":\"No. Microsoft says the assets must be built with Zstd\u002FGACL and the game must explicitly use the new APIs.\"},{\"id\":\"faq4\",\"question\":\"Is GPU decompression free?\",\"answer\":\"No. It uses GPU compute, bandwidth and staging buffers, although it can reduce CPU load.\"},{\"id\":\"faq5\",\"question\":\"What does GACL do?\",\"answer\":\"It conditions game assets, especially textures, so Zstd can compress them more effectively. Some methods are lossless and some are lossy.\"},{\"id\":\"faq6\",\"question\":\"Does up to 50% better compression mean a game becomes 50% smaller?\",\"answer\":\"No. The figure applies to suitable conditioned assets, not automatically to the entire game installation.\"}]},\"tunes\":{}},{\"id\":\"578cca7c13\",\"type\":\"header\",\"data\":{\"text\":\"Glossary\",\"level\":2},\"tunes\":{}},{\"id\":\"314ad428b8\",\"type\":\"glossary\",\"data\":{\"title\":\"Key DirectStorage 1.4 terms\",\"entries\":[{\"term\":\"DirectStorage\",\"definition\":\"Microsoft's DirectX-family API for high-throughput game-asset I\u002FO and decompression on Windows.\",\"anchor\":\"directstorage\"},{\"term\":\"Zstandard (Zstd)\",\"definition\":\"An open compression format added to DirectStorage 1.4 for game assets.\",\"anchor\":\"zstd\"},{\"term\":\"GPU decompression\",\"definition\":\"Expanding compressed data using GPU compute instead of doing all decompression on the CPU.\",\"anchor\":\"gpu-decompression\"},{\"term\":\"Staging buffer\",\"definition\":\"Temporary GPU memory used by DirectStorage to coordinate compressed and decompressed data flows.\",\"anchor\":\"staging-buffer\"},{\"term\":\"GACL\",\"definition\":\"Microsoft's Game Asset Conditioning Library, which prepares assets to improve compression efficiency.\",\"anchor\":\"gacl\"},{\"term\":\"Asset Streaming Cost Triangle\",\"definition\":\"A Figure Rocks model separating storage size, I\u002FO traffic and runtime decompression cost.\",\"anchor\":\"asset-streaming-cost-triangle\"},{\"term\":\"Compression Claim Test\",\"definition\":\"A Figure Rocks checklist for interpreting compression claims by checking the asset scope, baseline, quality loss and runtime cost.\",\"anchor\":\"compression-claim-test\"}]},\"tunes\":{}},{\"id\":\"ba9a367e9e\",\"type\":\"header\",\"data\":{\"text\":\"Primary sources\",\"level\":2},\"tunes\":{}},{\"id\":\"5b0ee9645d\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevblogs.microsoft.com\u002Fdirectx\u002Fdirectstorage-1-4-release-adds-support-for-zstandard\u002F\",\"meta\":{\"title\":\"Microsoft DirectX — DirectStorage 1.4 Adds Zstandard\",\"description\":\"Official March 2026 announcement covering Zstd, CPU\u002FGPU decompression, GACL, GPU-vendor optimization plans and the DirectStorage 1.4 preview.\",\"image\":{\"url\":\"\"}}},\"tunes\":{}},{\"id\":\"99d1c9ab00\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevblogs.microsoft.com\u002Fdirectx\u002Fdirectstorage-api-downloads\u002F\",\"meta\":{\"title\":\"Microsoft DirectX — DirectStorage SDK & API\",\"description\":\"Official release page listing DirectStorage 1.4 preview features and package status.\",\"image\":{\"url\":\"\"}}},\"tunes\":{}},{\"id\":\"c6911b09dc\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FDirectStorage\",\"meta\":{\"title\":\"Microsoft — DirectStorage GitHub\",\"description\":\"Official repository containing samples, GPU decompression benchmarks and DirectStorage implementation guidance.\",\"image\":{\"url\":\"\"}}},\"tunes\":{}},{\"id\":\"01eb196732\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FDirectStorage\u002Fblob\u002Fmain\u002FDocs\u002FDeveloperGuidance.md\",\"meta\":{\"title\":\"Microsoft — DirectStorage Developer Guidance\",\"description\":\"Official guidance explaining compressed-data flow, GPU decompression, staging buffers and memory trade-offs.\",\"image\":{\"url\":\"\"}}},\"tunes\":{}},{\"id\":\"77679e7133\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FGame-Asset-Conditioning-Library\u002Fblob\u002Fmain\u002FREADME.md\",\"meta\":{\"title\":\"Microsoft — Game Asset Conditioning Library\",\"description\":\"Official documentation covering texture conditioning, Zstd, shuffle transforms and entropy-reduction techniques.\",\"image\":{\"url\":\"\"}}},\"tunes\":{}}],\"version\":\"2.31.6\"}",{"time":1254,"blocks":1255,"version":1782},1790405876557,[1256,1260,1265,1270,1274,1278,1298,1303,1307,1311,1315,1319,1323,1327,1331,1335,1339,1343,1347,1351,1373,1377,1381,1385,1389,1396,1400,1404,1408,1412,1416,1420,1439,1443,1447,1451,1455,1459,1463,1467,1471,1476,1480,1484,1488,1492,1496,1500,1504,1508,1512,1535,1539,1543,1547,1551,1556,1560,1564,1568,1572,1576,1599,1603,1607,1611,1615,1619,1623,1627,1631,1635,1639,1643,1647,1651,1655,1659,1663,1667,1671,1675,1679,1683,1687,1691,1695,1718,1722,1744,1748,1755,1762,1769,1776],{"id":541,"data":1257,"type":544,"tunes":1259},{"text":1258},"DirectStorage 1.4 adds Zstandard compression and GPU decompression support for game assets, but that does not mean your SSD is suddenly decompressing textures and models by itself. The storage drive moves compressed data. The CPU or GPU still performs the decompression work.",{},{"id":547,"data":1261,"type":552,"tunes":1264},{"body":1262,"title":1263,"variant":551},"\u003Cstrong>Your SSD reads compressed game data. It does not normally decompress that data itself.\u003C\u002Fstrong> DirectStorage coordinates the path from storage to memory, while the CPU or GPU can handle decompression. DirectStorage 1.4 adds Zstandard as a new codec option and lets developers choose CPU or GPU decompression.","Direct answer",{},{"id":555,"data":1266,"type":552,"tunes":1269},{"body":1267,"title":1268,"variant":559},"DirectStorage 1.4 is currently a \u003Cstrong>public preview\u003C\u002Fstrong>. Its Zstandard support and the Game Asset Conditioning Library are developer technologies that must be integrated into a game's build and runtime pipeline. Replacing DLL files in an existing game does not magically enable the new features.","Current status",{},{"id":562,"data":1271,"type":566,"tunes":1273},{"title":1272,"maxLevel":565,"minLevel":47},"Contents",{},{"id":569,"data":1275,"type":572,"tunes":1277},{"text":1276,"level":47},"The simplest way to understand the asset path",{},{"id":575,"data":1279,"type":595,"tunes":1297},{"steps":1280,"title":1296,"orientation":594},[1281,1284,1287,1290,1293],{"label":1282,"description":1283},"1. Game asset is stored compressed","Textures, geometry or other data are packaged in compressed form on the SSD.",{"label":1285,"description":1286},"2. SSD reads the compressed bytes","The NVMe drive moves those bytes quickly from storage into the system's I\u002FO path.",{"label":1288,"description":1289},"3. DirectStorage schedules the request","DirectStorage coordinates high-throughput reads and where the resulting data should go.",{"label":1291,"description":1292},"4. CPU or GPU decompresses","The compressed stream is expanded into the form needed by the game.",{"label":1294,"description":1295},"5. Asset becomes usable","The decompressed texture, buffer or other resource can then be consumed by the renderer or game systems.","What happens when a game loads compressed assets",{},{"id":598,"data":1299,"type":552,"tunes":1302},{"body":1300,"title":1301,"variant":602},"\u003Cstrong>SSD = moves compressed data.\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>DirectStorage = coordinates the transfer.\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>CPU\u002FGPU = decompresses.\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>Game engine = uses the result.\u003C\u002Fstrong>","The mental model",{},{"id":605,"data":1304,"type":572,"tunes":1306},{"text":1305,"level":47},"Why compress game assets at all?",{},{"id":610,"data":1308,"type":544,"tunes":1310},{"text":1309},"Modern games contain enormous amounts of texture, geometry, audio and other data.",{},{"id":615,"data":1312,"type":544,"tunes":1314},{"text":1313},"Storing every asset uncompressed would increase installation size and force the storage device to read more bytes for the same content.",{},{"id":620,"data":1316,"type":544,"tunes":1318},{"text":1317},"Compression reduces how much data must be stored and transferred. The trade-off is that the data has to be decompressed before the game can use it.",{},{"id":625,"data":1320,"type":572,"tunes":1322},{"text":1321,"level":47},"DirectStorage moves the bottleneck problem, it does not remove it",{},{"id":630,"data":1324,"type":544,"tunes":1326},{"text":1325},"A fast NVMe drive can deliver compressed data much faster than older storage pipelines, but faster reads only help if the rest of the path can keep up.",{},{"id":635,"data":1328,"type":544,"tunes":1330},{"text":1329},"If the CPU has to decompress thousands of small asset chunks while also running game logic, physics and draw submission, decompression itself can become expensive.",{},{"id":640,"data":1332,"type":544,"tunes":1334},{"text":1333},"That is why DirectStorage supports GPU decompression: some of the work can move away from the CPU and onto massively parallel GPU compute.",{},{"id":645,"data":1336,"type":572,"tunes":1338},{"text":1337,"level":47},"What DirectStorage 1.4 adds",{},{"id":650,"data":1340,"type":544,"tunes":1342},{"text":1341},"DirectStorage 1.4 adds Zstandard, usually written Zstd, as a supported compression format.",{},{"id":655,"data":1344,"type":544,"tunes":1346},{"text":1345},"Microsoft chose Zstd because it combines strong compression ratios, good decompression performance, broad software and hardware availability, and widespread adoption.",{},{"id":660,"data":1348,"type":544,"tunes":1350},{"text":1349},"The important change is that Zstd is integrated into DirectStorage's decompression framework with both CPU and GPU paths.",{},{"id":665,"data":1352,"type":693,"tunes":1372},{"rows":1353,"title":1366,"layout":685,"columns":1367},[1354,1357,1360,1363],{"id":669,"label":1355,"values":1356},"Where it runs",[13,13],{"id":673,"label":1358,"values":1359},"Potential advantage",[13,13],{"id":677,"label":1361,"values":1362},"Main cost",[13,13],{"id":681,"label":1364,"values":1365},"Best choice",[13,13],"CPU vs GPU decompression",[1368,1370],{"id":688,"label":1369},"CPU decompression",{"id":691,"label":1371},"GPU decompression",{},{"id":696,"data":1374,"type":572,"tunes":1376},{"text":1375,"level":47},"GPU decompression still costs GPU resources",{},{"id":701,"data":1378,"type":544,"tunes":1380},{"text":1379},"GPU decompression is not free.",{},{"id":706,"data":1382,"type":544,"tunes":1384},{"text":1383},"DirectStorage uses staging buffers in VRAM to coordinate compressed input and decompressed output. Microsoft warns that an oversized staging buffer can take memory away from rendering, while one that is too small can reduce throughput because requests have to wait.",{},{"id":711,"data":1386,"type":544,"tunes":1388},{"text":1387},"So GPU decompression creates another balancing problem: reduce CPU work without stealing too much GPU memory or compute from rendering.",{},{"id":716,"data":1390,"type":722,"tunes":1395},{"url":1391,"title":1392,"excerpt":1393,"ctaLabel":1394},"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, residency budgets and working sets matter more than one memory-usage number.","Read the VRAM guide",{},{"id":725,"data":1397,"type":572,"tunes":1399},{"text":1398,"level":47},"Why Zstd matters compared with older DirectStorage compression",{},{"id":730,"data":1401,"type":544,"tunes":1403},{"text":1402},"DirectStorage already supported GDeflate, a compression format designed for parallel GPU decompression.",{},{"id":735,"data":1405,"type":544,"tunes":1407},{"text":1406},"Zstd adds a different option: a broadly used open compression standard with strong compression ratios and extensive tooling.",{},{"id":740,"data":1409,"type":544,"tunes":1411},{"text":1410},"Microsoft is also publishing an open-source GPU Zstd decompression compute shader as a baseline that GPU vendors can optimize further.",{},{"id":745,"data":1413,"type":544,"tunes":1415},{"text":1414},"The initial shader is optimized around chunks of 256 KB or smaller, which matches common streaming-oriented game packaging patterns.",{},{"id":750,"data":1417,"type":572,"tunes":1419},{"text":1418,"level":47},"The Asset Streaming Cost Triangle",{},{"id":755,"data":1421,"type":693,"tunes":1438},{"rows":1422,"title":1432,"layout":685,"columns":1433},[1423,1426,1429],{"id":759,"label":1424,"values":1425},"Installation size",[13,13],{"id":763,"label":1427,"values":1428},"Storage I\u002FO",[13,13],{"id":767,"label":1430,"values":1431},"Runtime CPU\u002FGPU work",[13,13],"Compression changes three different costs",[1434,1436],{"id":773,"label":1435},"What compression can reduce",{"id":677,"label":1437},"What it can increase",{},{"id":779,"data":1440,"type":572,"tunes":1442},{"text":1441,"level":47},"What the Game Asset Conditioning Library does",{},{"id":784,"data":1444,"type":544,"tunes":1446},{"text":1445},"Microsoft introduced the Game Asset Conditioning Library, or GACL, alongside DirectStorage 1.4.",{},{"id":789,"data":1448,"type":544,"tunes":1450},{"text":1449},"GACL does not replace Zstd. It prepares certain game assets so Zstd can compress them more effectively.",{},{"id":794,"data":1452,"type":544,"tunes":1454},{"text":1453},"Texture data is a major target because textures often make up a large share of modern game-package size.",{},{"id":799,"data":1456,"type":572,"tunes":1458},{"text":1457,"level":47},"What “conditioning” means in plain English",{},{"id":804,"data":1460,"type":544,"tunes":1462},{"text":1461},"Conditioning means rearranging or slightly modifying the data before compression so the compressor can find more useful patterns.",{},{"id":809,"data":1464,"type":544,"tunes":1466},{"text":1465},"For block-compressed textures, GACL can shuffle the byte layout before Zstd compression. DirectStorage reverses that transform after decompression.",{},{"id":814,"data":1468,"type":544,"tunes":1470},{"text":1469},"GACL also includes entropy-reduction techniques that can deliberately simplify some texture information to make it compress better.",{},{"id":819,"data":1472,"type":552,"tunes":1475},{"body":1473,"title":1474,"variant":823},"GACL includes both \u003Cstrong>lossless transforms\u003C\u002Fstrong> and \u003Cstrong>lossy texture optimization\u003C\u002Fstrong>. Better compression can sometimes come from accepting a controlled amount of visual error.","Not every conditioning mode is lossless",{},{"id":826,"data":1477,"type":572,"tunes":1479},{"text":1478,"level":47},"Where machine learning enters GACL",{},{"id":831,"data":1481,"type":544,"tunes":1483},{"text":1482},"Microsoft's Component-Level Entropy Reduction, or CLER, uses machine learning as part of the process for reducing texture entropy.",{},{"id":836,"data":1485,"type":544,"tunes":1487},{"text":1486},"The purpose is not to generate textures at runtime. The ML work is part of preparing texture data so the final compressed representation can become smaller while keeping acceptable visual quality.",{},{"id":841,"data":1489,"type":544,"tunes":1491},{"text":1490},"That makes GACL a content-pipeline optimization rather than an in-game generative AI system.",{},{"id":846,"data":1493,"type":572,"tunes":1495},{"text":1494,"level":47},"Up to 50% better compression does not mean every game becomes 50% smaller",{},{"id":851,"data":1497,"type":544,"tunes":1499},{"text":1498},"Microsoft says GACL can deliver up to a 50% improvement in Zstd compression ratios for suitable assets.",{},{"id":856,"data":1501,"type":544,"tunes":1503},{"text":1502},"That is not the same as saying an entire game installation shrinks by 50%.",{},{"id":861,"data":1505,"type":544,"tunes":1507},{"text":1506},"The real impact depends on which assets are conditioned, how compressible they are, what proportion of the game they represent and whether lossy techniques are acceptable.",{},{"id":866,"data":1509,"type":572,"tunes":1511},{"text":1510,"level":47},"The Compression Claim Test",{},{"id":871,"data":1513,"type":595,"tunes":1534},{"steps":1514,"title":1533,"orientation":594},[1515,1518,1521,1524,1527,1530],{"label":1516,"description":1517},"1. Ask what is being compressed","Textures only, all assets, or the complete installation?",{"label":1519,"description":1520},"2. Ask what the comparison baseline is","Uncompressed data, GDeflate, old Zstd settings or another packaged format?",{"label":1522,"description":1523},"3. Check whether the technique is lossless","A smaller result may include controlled quality loss.",{"label":1525,"description":1526},"4. Separate file size from load performance","Better compression reduces bytes read but decompression still costs time.",{"label":1528,"description":1529},"5. Check CPU\u002FGPU path","The same compressed data can behave differently depending on where decompression executes.",{"label":1531,"description":1532},"6. Measure the complete pipeline","Storage throughput, decompression time, staging-memory use and final asset readiness all matter.","How to read a game-compression claim correctly",{},{"id":895,"data":1536,"type":572,"tunes":1538},{"text":1537,"level":47},"Why replacing DirectStorage DLLs in a game does not enable Zstd",{},{"id":900,"data":1540,"type":544,"tunes":1542},{"text":1541},"This is an especially important misunderstanding.",{},{"id":905,"data":1544,"type":544,"tunes":1546},{"text":1545},"Microsoft explicitly answered this after the DirectStorage 1.4 announcement: replacing DirectStorage DLL files in an existing game does not activate the new preview features.",{},{"id":910,"data":1548,"type":544,"tunes":1550},{"text":1549},"The game's assets have to be authored and compressed with Zstd during the build process, optional GACL conditioning has to happen before shipping, and the game itself has to call the relevant DirectStorage APIs.",{},{"id":915,"data":1552,"type":552,"tunes":1555},{"body":1553,"title":1554,"variant":602},"The files on disk, their compression format and the engine integration must already be designed for DirectStorage 1.4.","A runtime DLL cannot rewrite the game's asset pipeline",{},{"id":921,"data":1557,"type":572,"tunes":1559},{"text":1558,"level":47},"Why faster SSDs do not remove decompression cost",{},{"id":926,"data":1561,"type":544,"tunes":1563},{"text":1562},"An extremely fast SSD can reduce the time needed to read compressed bytes, but it does not eliminate the time required to turn those bytes into usable assets.",{},{"id":931,"data":1565,"type":544,"tunes":1567},{"text":1566},"As storage becomes faster, the relative importance of decompression, asset preparation, GPU upload and engine-side processing becomes larger.",{},{"id":936,"data":1569,"type":544,"tunes":1571},{"text":1570},"That is exactly why DirectStorage has evolved beyond raw I\u002FO.",{},{"id":941,"data":1573,"type":572,"tunes":1575},{"text":1574,"level":47},"The Load-Time Pipeline Test",{},{"id":946,"data":1577,"type":595,"tunes":1598},{"steps":1578,"title":1597,"orientation":594},[1579,1582,1585,1588,1591,1594],{"label":1580,"description":1581},"1. Measure storage read time","How long does it take to deliver the compressed asset bytes?",{"label":1583,"description":1584},"2. Measure decompression","How much CPU or GPU time is spent expanding the data?",{"label":1586,"description":1587},"3. Measure queueing and staging","Are requests waiting because staging buffers or GPU queues are saturated?",{"label":1589,"description":1590},"4. Measure upload and resource creation","How long before the decompressed data becomes a usable GPU resource?",{"label":1592,"description":1593},"5. Measure engine-side work","Shaders, object creation, world setup and asset registration may still dominate loading.",{"label":1595,"description":1596},"6. Fix the slowest stage","A faster SSD only helps when storage I\u002FO is actually the limiting part.","How to diagnose whether storage is really the bottleneck",{},{"id":970,"data":1600,"type":572,"tunes":1602},{"text":1601,"level":47},"Why this matters for open-world streaming",{},{"id":975,"data":1604,"type":544,"tunes":1606},{"text":1605},"Open-world games continuously move asset data as the player crosses the map.",{},{"id":980,"data":1608,"type":544,"tunes":1610},{"text":1609},"That means asset streaming is not only about reducing a loading screen. The pipeline has to deliver, decompress and prepare data while gameplay continues.",{},{"id":985,"data":1612,"type":544,"tunes":1614},{"text":1613},"A codec with a strong compression ratio can reduce the number of bytes pulled from storage, while fast GPU decompression can help keep CPU time available for simulation.",{},{"id":990,"data":1616,"type":544,"tunes":1618},{"text":1617},"But if the GPU itself is already saturated, moving decompression work there may need careful scheduling.",{},{"id":995,"data":1620,"type":572,"tunes":1622},{"text":1621,"level":47},"DirectStorage 1.4 also improves GPU scheduling visibility",{},{"id":1000,"data":1624,"type":544,"tunes":1626},{"text":1625},"DirectStorage 1.4 adds D3D12 CreatorID support for the internal command queues it manages.",{},{"id":1005,"data":1628,"type":544,"tunes":1630},{"text":1629},"The purpose is to help DirectStorage workloads participate more predictably in D3D12 queue grouping and GPU execution scheduling.",{},{"id":1010,"data":1632,"type":544,"tunes":1634},{"text":1633},"This matters because decompression is now competing for the same GPU ecosystem as rendering and other compute work.",{},{"id":1015,"data":1636,"type":572,"tunes":1638},{"text":1637,"level":47},"What GPU vendors are doing next",{},{"id":1020,"data":1640,"type":544,"tunes":1642},{"text":1641},"Microsoft says AMD, Intel, NVIDIA and Qualcomm are working on hardware- and driver-specific Zstd optimizations.",{},{"id":1025,"data":1644,"type":544,"tunes":1646},{"text":1645},"AMD and NVIDIA publicly indicated optimized support targeted for the second half of 2026, while Intel and Qualcomm also described ongoing platform work.",{},{"id":1030,"data":1648,"type":544,"tunes":1650},{"text":1649},"That means the public DirectStorage GPU shader is a baseline, not necessarily the final performance path for future hardware.",{},{"id":1035,"data":1652,"type":572,"tunes":1654},{"text":1653,"level":47},"What would change this answer?",{},{"id":1040,"data":1656,"type":544,"tunes":1658},{"text":1657},"DirectStorage 1.4 is still a public preview. The final API, Zstd shader performance, GACL support and vendor-optimized driver paths can all change.",{},{"id":1045,"data":1660,"type":544,"tunes":1662},{"text":1661},"If future storage devices add standardized hardware decompression integrated into the PC asset pipeline, the clean separation between “SSD reads” and “CPU\u002FGPU decompresses” could become less absolute. That is not the normal DirectStorage 1.4 model today.",{},{"id":1050,"data":1664,"type":572,"tunes":1666},{"text":1665,"level":47},"Limitations",{},{"id":1055,"data":1668,"type":544,"tunes":1670},{"text":1669},"This article explains Microsoft's current public DirectStorage 1.4 preview architecture. It does not claim that every game using DirectStorage will use Zstd, GPU decompression or GACL.",{},{"id":1060,"data":1672,"type":544,"tunes":1674},{"text":1673},"Microsoft's compression-ratio and performance statements are technology claims from the platform vendor. Real game results depend on the asset mix, compression settings, hardware, drivers and engine integration.",{},{"id":1065,"data":1676,"type":572,"tunes":1678},{"text":1677,"level":47},"Conclusion",{},{"id":1070,"data":1680,"type":544,"tunes":1682},{"text":1681},"DirectStorage 1.4 is easier to understand once the jobs are separated.",{},{"id":1075,"data":1684,"type":544,"tunes":1686},{"text":1685},"The SSD moves compressed bytes. DirectStorage schedules the transfer. Zstd defines how the data is compressed. The CPU or GPU decompresses it. GACL can prepare some assets so Zstd compresses them more effectively. The game engine then consumes the finished asset.",{},{"id":1080,"data":1688,"type":544,"tunes":1690},{"text":1689},"A faster SSD is only one part of that chain.",{},{"id":1085,"data":1692,"type":572,"tunes":1694},{"text":1693,"level":47},"FAQ",{},{"id":1090,"data":1696,"type":1118,"tunes":1717},{"items":1697,"title":1716},[1698,1701,1704,1707,1710,1713],{"id":1094,"answer":1699,"question":1700},"No. The SSD reads compressed data. DirectStorage coordinates the I\u002FO, while the CPU or GPU performs decompression.","Does DirectStorage make the SSD decompress game assets?",{"id":1098,"answer":1702,"question":1703},"The public preview adds Zstandard compression, CPU\u002FGPU decompression support, Game Asset Conditioning Library integration and improved D3D12 queue identification.","What is new in DirectStorage 1.4?",{"id":1102,"answer":1705,"question":1706},"No. Microsoft says the assets must be built with Zstd\u002FGACL and the game must explicitly use the new APIs.","Can I replace a game's DirectStorage DLL to enable Zstd?",{"id":1106,"answer":1708,"question":1709},"No. It uses GPU compute, bandwidth and staging buffers, although it can reduce CPU load.","Is GPU decompression free?",{"id":1110,"answer":1711,"question":1712},"It conditions game assets, especially textures, so Zstd can compress them more effectively. Some methods are lossless and some are lossy.","What does GACL do?",{"id":1114,"answer":1714,"question":1715},"No. The figure applies to suitable conditioned assets, not automatically to the entire game installation.","Does up to 50% better compression mean a game becomes 50% smaller?","DirectStorage 1.4 and Zstd in plain English",{},{"id":1121,"data":1719,"type":572,"tunes":1721},{"text":1720,"level":47},"Glossary",{},{"id":1126,"data":1723,"type":1157,"tunes":1743},{"title":1724,"entries":1725},"Key DirectStorage 1.4 terms",[1726,1728,1730,1732,1735,1737,1740],{"term":1131,"anchor":1132,"definition":1727},"Microsoft's DirectX-family API for high-throughput game-asset I\u002FO and decompression on Windows.",{"term":1135,"anchor":1136,"definition":1729},"An open compression format added to DirectStorage 1.4 for game assets.",{"term":1371,"anchor":1139,"definition":1731},"Expanding compressed data using GPU compute instead of doing all decompression on the CPU.",{"term":1733,"anchor":1143,"definition":1734},"Staging buffer","Temporary GPU memory used by DirectStorage to coordinate compressed and decompressed data flows.",{"term":1146,"anchor":1147,"definition":1736},"Microsoft's Game Asset Conditioning Library, which prepares assets to improve compression efficiency.",{"term":1738,"anchor":1151,"definition":1739},"Asset Streaming Cost Triangle","A Figure Rocks model separating storage size, I\u002FO traffic and runtime decompression cost.",{"term":1741,"anchor":1155,"definition":1742},"Compression Claim Test","A Figure Rocks checklist for interpreting compression claims by checking the asset scope, baseline, quality loss and runtime cost.",{},{"id":1160,"data":1745,"type":572,"tunes":1747},{"text":1746,"level":47},"Primary sources",{},{"id":1165,"data":1749,"type":1172,"tunes":1754},{"link":1167,"meta":1750},{"image":1751,"title":1752,"description":1753},{"url":13},"Microsoft DirectX — DirectStorage 1.4 Adds Zstandard","Official March 2026 announcement covering Zstd, CPU\u002FGPU decompression, GACL, GPU-vendor optimization plans and the DirectStorage 1.4 preview.",{},{"id":1175,"data":1756,"type":1172,"tunes":1761},{"link":1177,"meta":1757},{"image":1758,"title":1759,"description":1760},{"url":13},"Microsoft DirectX — DirectStorage SDK & API","Official release page listing DirectStorage 1.4 preview features and package status.",{},{"id":1184,"data":1763,"type":1172,"tunes":1768},{"link":1186,"meta":1764},{"image":1765,"title":1766,"description":1767},{"url":13},"Microsoft — DirectStorage GitHub","Official repository containing samples, GPU decompression benchmarks and DirectStorage implementation guidance.",{},{"id":1193,"data":1770,"type":1172,"tunes":1775},{"link":1195,"meta":1771},{"image":1772,"title":1773,"description":1774},{"url":13},"Microsoft — DirectStorage Developer Guidance","Official guidance explaining compressed-data flow, GPU decompression, staging buffers and memory trade-offs.",{},{"id":1202,"data":1777,"type":1172,"tunes":1781},{"link":1204,"meta":1778},{"image":1779,"title":1207,"description":1780},{"url":13},"Official documentation covering texture conditioning, Zstd, shuffle transforms and entropy-reduction techniques.",{},"2.31.6","DirectStorage 1.4 adds Zstandard compression, GPU decompression and a new Game Asset Conditioning Library, but the SSD itself is still only one part of the loading pipeline. This guide explains what the SSD, DirectStorage, CPU, GPU and game engine each actually do.",{"lang":7,"title":534,"content":536,"contentJson":1785,"excerpt":1211},{"time":538,"blocks":1786,"version":1210},[1787,1790,1793,1796,1799,1802,1811,1814,1817,1820,1823,1826,1829,1832,1835,1838,1841,1844,1847,1850,1865,1868,1871,1874,1877,1880,1883,1886,1889,1892,1895,1898,1911,1914,1917,1920,1923,1926,1929,1932,1935,1938,1941,1944,1947,1950,1953,1956,1959,1962,1965,1975,1978,1981,1984,1987,1990,1993,1996,1999,2002,2005,2015,2018,2021,2024,2027,2030,2033,2036,2039,2042,2045,2048,2051,2054,2057,2060,2063,2066,2069,2072,2075,2078,2081,2084,2087,2097,2100,2111,2114,2119,2124,2129,2134],{"id":541,"data":1788,"type":544,"tunes":1789},{"text":543},{},{"id":547,"data":1791,"type":552,"tunes":1792},{"body":549,"title":550,"variant":551},{},{"id":555,"data":1794,"type":552,"tunes":1795},{"body":557,"title":558,"variant":559},{},{"id":562,"data":1797,"type":566,"tunes":1798},{"title":564,"maxLevel":565,"minLevel":47},{},{"id":569,"data":1800,"type":572,"tunes":1801},{"text":571,"level":47},{},{"id":575,"data":1803,"type":595,"tunes":1810},{"steps":1804,"title":593,"orientation":594},[1805,1806,1807,1808,1809],{"label":579,"description":580},{"label":582,"description":583},{"label":585,"description":586},{"label":588,"description":589},{"label":591,"description":592},{},{"id":598,"data":1812,"type":552,"tunes":1813},{"body":600,"title":601,"variant":602},{},{"id":605,"data":1815,"type":572,"tunes":1816},{"text":607,"level":47},{},{"id":610,"data":1818,"type":544,"tunes":1819},{"text":612},{},{"id":615,"data":1821,"type":544,"tunes":1822},{"text":617},{},{"id":620,"data":1824,"type":544,"tunes":1825},{"text":622},{},{"id":625,"data":1827,"type":572,"tunes":1828},{"text":627,"level":47},{},{"id":630,"data":1830,"type":544,"tunes":1831},{"text":632},{},{"id":635,"data":1833,"type":544,"tunes":1834},{"text":637},{},{"id":640,"data":1836,"type":544,"tunes":1837},{"text":642},{},{"id":645,"data":1839,"type":572,"tunes":1840},{"text":647,"level":47},{},{"id":650,"data":1842,"type":544,"tunes":1843},{"text":652},{},{"id":655,"data":1845,"type":544,"tunes":1846},{"text":657},{},{"id":660,"data":1848,"type":544,"tunes":1849},{"text":662},{},{"id":665,"data":1851,"type":693,"tunes":1864},{"rows":1852,"title":684,"layout":685,"columns":1861},[1853,1855,1857,1859],{"id":669,"label":670,"values":1854},[13,13],{"id":673,"label":674,"values":1856},[13,13],{"id":677,"label":678,"values":1858},[13,13],{"id":681,"label":682,"values":1860},[13,13],[1862,1863],{"id":688,"label":689},{"id":691,"label":692},{},{"id":696,"data":1866,"type":572,"tunes":1867},{"text":698,"level":47},{},{"id":701,"data":1869,"type":544,"tunes":1870},{"text":703},{},{"id":706,"data":1872,"type":544,"tunes":1873},{"text":708},{},{"id":711,"data":1875,"type":544,"tunes":1876},{"text":713},{},{"id":716,"data":1878,"type":722,"tunes":1879},{"url":718,"title":719,"excerpt":720,"ctaLabel":721},{},{"id":725,"data":1881,"type":572,"tunes":1882},{"text":727,"level":47},{},{"id":730,"data":1884,"type":544,"tunes":1885},{"text":732},{},{"id":735,"data":1887,"type":544,"tunes":1888},{"text":737},{},{"id":740,"data":1890,"type":544,"tunes":1891},{"text":742},{},{"id":745,"data":1893,"type":544,"tunes":1894},{"text":747},{},{"id":750,"data":1896,"type":572,"tunes":1897},{"text":752,"level":47},{},{"id":755,"data":1899,"type":693,"tunes":1910},{"rows":1900,"title":770,"layout":685,"columns":1907},[1901,1903,1905],{"id":759,"label":760,"values":1902},[13,13],{"id":763,"label":764,"values":1904},[13,13],{"id":767,"label":768,"values":1906},[13,13],[1908,1909],{"id":773,"label":774},{"id":677,"label":776},{},{"id":779,"data":1912,"type":572,"tunes":1913},{"text":781,"level":47},{},{"id":784,"data":1915,"type":544,"tunes":1916},{"text":786},{},{"id":789,"data":1918,"type":544,"tunes":1919},{"text":791},{},{"id":794,"data":1921,"type":544,"tunes":1922},{"text":796},{},{"id":799,"data":1924,"type":572,"tunes":1925},{"text":801,"level":47},{},{"id":804,"data":1927,"type":544,"tunes":1928},{"text":806},{},{"id":809,"data":1930,"type":544,"tunes":1931},{"text":811},{},{"id":814,"data":1933,"type":544,"tunes":1934},{"text":816},{},{"id":819,"data":1936,"type":552,"tunes":1937},{"body":821,"title":822,"variant":823},{},{"id":826,"data":1939,"type":572,"tunes":1940},{"text":828,"level":47},{},{"id":831,"data":1942,"type":544,"tunes":1943},{"text":833},{},{"id":836,"data":1945,"type":544,"tunes":1946},{"text":838},{},{"id":841,"data":1948,"type":544,"tunes":1949},{"text":843},{},{"id":846,"data":1951,"type":572,"tunes":1952},{"text":848,"level":47},{},{"id":851,"data":1954,"type":544,"tunes":1955},{"text":853},{},{"id":856,"data":1957,"type":544,"tunes":1958},{"text":858},{},{"id":861,"data":1960,"type":544,"tunes":1961},{"text":863},{},{"id":866,"data":1963,"type":572,"tunes":1964},{"text":868,"level":47},{},{"id":871,"data":1966,"type":595,"tunes":1974},{"steps":1967,"title":892,"orientation":594},[1968,1969,1970,1971,1972,1973],{"label":875,"description":876},{"label":878,"description":879},{"label":881,"description":882},{"label":884,"description":885},{"label":887,"description":888},{"label":890,"description":891},{},{"id":895,"data":1976,"type":572,"tunes":1977},{"text":897,"level":47},{},{"id":900,"data":1979,"type":544,"tunes":1980},{"text":902},{},{"id":905,"data":1982,"type":544,"tunes":1983},{"text":907},{},{"id":910,"data":1985,"type":544,"tunes":1986},{"text":912},{},{"id":915,"data":1988,"type":552,"tunes":1989},{"body":917,"title":918,"variant":602},{},{"id":921,"data":1991,"type":572,"tunes":1992},{"text":923,"level":47},{},{"id":926,"data":1994,"type":544,"tunes":1995},{"text":928},{},{"id":931,"data":1997,"type":544,"tunes":1998},{"text":933},{},{"id":936,"data":2000,"type":544,"tunes":2001},{"text":938},{},{"id":941,"data":2003,"type":572,"tunes":2004},{"text":943,"level":47},{},{"id":946,"data":2006,"type":595,"tunes":2014},{"steps":2007,"title":967,"orientation":594},[2008,2009,2010,2011,2012,2013],{"label":950,"description":951},{"label":953,"description":954},{"label":956,"description":957},{"label":959,"description":960},{"label":962,"description":963},{"label":965,"description":966},{},{"id":970,"data":2016,"type":572,"tunes":2017},{"text":972,"level":47},{},{"id":975,"data":2019,"type":544,"tunes":2020},{"text":977},{},{"id":980,"data":2022,"type":544,"tunes":2023},{"text":982},{},{"id":985,"data":2025,"type":544,"tunes":2026},{"text":987},{},{"id":990,"data":2028,"type":544,"tunes":2029},{"text":992},{},{"id":995,"data":2031,"type":572,"tunes":2032},{"text":997,"level":47},{},{"id":1000,"data":2034,"type":544,"tunes":2035},{"text":1002},{},{"id":1005,"data":2037,"type":544,"tunes":2038},{"text":1007},{},{"id":1010,"data":2040,"type":544,"tunes":2041},{"text":1012},{},{"id":1015,"data":2043,"type":572,"tunes":2044},{"text":1017,"level":47},{},{"id":1020,"data":2046,"type":544,"tunes":2047},{"text":1022},{},{"id":1025,"data":2049,"type":544,"tunes":2050},{"text":1027},{},{"id":1030,"data":2052,"type":544,"tunes":2053},{"text":1032},{},{"id":1035,"data":2055,"type":572,"tunes":2056},{"text":1037,"level":47},{},{"id":1040,"data":2058,"type":544,"tunes":2059},{"text":1042},{},{"id":1045,"data":2061,"type":544,"tunes":2062},{"text":1047},{},{"id":1050,"data":2064,"type":572,"tunes":2065},{"text":1052,"level":47},{},{"id":1055,"data":2067,"type":544,"tunes":2068},{"text":1057},{},{"id":1060,"data":2070,"type":544,"tunes":2071},{"text":1062},{},{"id":1065,"data":2073,"type":572,"tunes":2074},{"text":1067,"level":47},{},{"id":1070,"data":2076,"type":544,"tunes":2077},{"text":1072},{},{"id":1075,"data":2079,"type":544,"tunes":2080},{"text":1077},{},{"id":1080,"data":2082,"type":544,"tunes":2083},{"text":1082},{},{"id":1085,"data":2085,"type":572,"tunes":2086},{"text":1087,"level":47},{},{"id":1090,"data":2088,"type":1118,"tunes":2096},{"items":2089,"title":1117},[2090,2091,2092,2093,2094,2095],{"id":1094,"answer":1095,"question":1096},{"id":1098,"answer":1099,"question":1100},{"id":1102,"answer":1103,"question":1104},{"id":1106,"answer":1107,"question":1108},{"id":1110,"answer":1111,"question":1112},{"id":1114,"answer":1115,"question":1116},{},{"id":1121,"data":2098,"type":572,"tunes":2099},{"text":1123,"level":47},{},{"id":1126,"data":2101,"type":1157,"tunes":2110},{"title":1128,"entries":2102},[2103,2104,2105,2106,2107,2108,2109],{"term":1131,"anchor":1132,"definition":1133},{"term":1135,"anchor":1136,"definition":1137},{"term":692,"anchor":1139,"definition":1140},{"term":1142,"anchor":1143,"definition":1144},{"term":1146,"anchor":1147,"definition":1148},{"term":1150,"anchor":1151,"definition":1152},{"term":1154,"anchor":1155,"definition":1156},{},{"id":1160,"data":2112,"type":572,"tunes":2113},{"text":1162,"level":47},{},{"id":1165,"data":2115,"type":1172,"tunes":2118},{"link":1167,"meta":2116},{"image":2117,"title":1170,"description":1171},{"url":13},{},{"id":1175,"data":2120,"type":1172,"tunes":2123},{"link":1177,"meta":2121},{"image":2122,"title":1180,"description":1181},{"url":13},{},{"id":1184,"data":2125,"type":1172,"tunes":2128},{"link":1186,"meta":2126},{"image":2127,"title":1189,"description":1190},{"url":13},{},{"id":1193,"data":2130,"type":1172,"tunes":2133},{"link":1195,"meta":2131},{"image":2132,"title":1198,"description":1199},{"url":13},{},{"id":1202,"data":2135,"type":1172,"tunes":2138},{"link":1204,"meta":2136},{"image":2137,"title":1207,"description":1208},{"url":13},{},"Post erfolgreich abgerufen",{"items":2141,"source":2180,"manualIds":2181,"manualMatchedIds":2182},[2142,2148,2155,2161,2167,2174],{"id":2143,"slug":2144,"title":2145,"excerpt":2146,"featuredImage":14,"publishedAt":2147},"24","storage-and-streaming-reduce-load-times-without-creating-stutter","Хранилище и стриминг: сокращение времени загрузки без появления статтеров","Быстрое хранилище помогает только тогда, когда поведение стриминга стабильно. Это руководство объясняет, как IO влияет на статтеры и что нужно изменить в первую очередь.","2026-02-19T11:00:00.000Z",{"id":2149,"slug":2150,"title":2151,"excerpt":2152,"featuredImage":2153,"publishedAt":2154},"448","rtx-neural-texture-compression-is-not-upscaling-how-ai-can-trade-texture-memory-for-gpu-compute","Сжатие текстур с помощью нейросетей RTX — это не апскейлинг: как ИИ позволяет обменивать память для текстур на вычислительные ресурсы GPU","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","2026-09-25T21:27:00.000Z",{"id":2156,"slug":2157,"title":2158,"excerpt":2159,"featuredImage":14,"publishedAt":2160},"137","storage-and-streaming-stutter-when-ssd-decompression-and-vram-matter","Накопитель и статтеры стриминга: когда важны SSD, декомпрессия и VRAM","Статтеры при стриминге — это загрузка ассетов: скорость накопителя, декомпрессия и поведение памяти. Используйте эту диагностику, чтобы остановить скачки при входе в новые области.","2026-02-20T11:30:00.000Z",{"id":2162,"slug":2163,"title":719,"excerpt":2164,"featuredImage":2165,"publishedAt":2166},"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":2168,"slug":2169,"title":2170,"excerpt":2171,"featuredImage":2172,"publishedAt":2173},"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":2175,"slug":2176,"title":2177,"excerpt":2178,"featuredImage":14,"publishedAt":2179},"221","storage-streaming-stutter-fixes-when-assets-cant-keep-up","Исправления для заиканий стриминга хранилища: Когда ассеты не поспевают","Статтеры при стриминге возникают при загрузке новых областей: из-за ограничений хранилища, декомпрессии или стриминга ассетов. Используйте этот порядок исправлений, прежде чем снижать все настройки графики.","2026-02-20T21:00:00.000Z","fallback",[],[]]