[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"portal-settings:figure:zh":3,"public-menus:all":45,"post:directstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do:zh":531,"related:post:directstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do:zh:1":2138},{"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","zh","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":2137},{"id":533,"title":534,"slug":535,"content":536,"contentJson":537,"excerpt":1209,"featuredImage":1210,"featuredImageAlt":1211,"featuredImageCaption":14,"featuredImageTitle":14,"featuredImageCopyright":14,"featuredImageAuthor":14,"featuredImageSourceUrl":14,"featuredImageLicense":14,"featuredImageIsAiGenerated":1212,"status":1213,"publishedAt":1214,"createdAt":1215,"updatedAt":1216,"seoLocalePaths":1217,"categories":1226,"author":1243,"translations":1247},"449","DirectStorage 1.4 并不会让你的固态硬盘解压游戏：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 支持和游戏资源调理库是开发者技术，必须集成到游戏的构建和运行时管道中。替换现有游戏中的 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\">游戏资产调理库的作用\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\">为什么在游戏中替换 DirectStorage DLL 并不能启用 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 驱动器将这些字节从存储快速移动到系统的 I\u002FO 路径中。\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>微软选择 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 中的暂存缓冲区来协调压缩输入和解压缩输出。微软警告说，过大的暂存缓冲区会从渲染中占用内存，而过小则会降低吞吐量，因为请求必须等待。\u003C\u002Fp>\n\u003Cp>因此，GPU 解压缩带来了另一个平衡问题：减少 CPU 工作，同时不占用过多 GPU 内存或从渲染中夺取计算资源。\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Ffigure.rocks\u002Fzh\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>微软还发布了一个开源的 GPU Zstd 解压缩计算着色器，作为 GPU 供应商可以进一步优化的基线。\u003C\u002Fp>\n\u003Cp>初始着色器针对 256 KB 或更小的块进行了优化，这符合常见的面向流式传输的游戏打包模式。\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\">存储 I\u002FO\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\">游戏资产调理库的作用\u003C\u002Fh2>\n\u003Cp>微软在 DirectStorage 1.4 中引入了游戏资产调理库，即 GACL。\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\">并非所有条件化模式都是无损的\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">GACL 同时包含\u003Cstrong>无损变换\u003C\u002Fstrong>和\u003Cstrong>有损纹理优化\u003C\u002Fstrong>。更好的压缩有时可能来自接受可控程度的视觉误差。\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-42\">机器学习在 GACL 中的切入点\u003C\u002Fh2>\n\u003Cp>微软的组件级熵减（Component-Level Entropy Reduction，简称 CLER）使用机器学习作为减少纹理熵过程的一部分。\u003C\u002Fp>\n\u003Cp>其目的不是在运行时生成纹理。机器学习工作是准备纹理数据的一部分，以便最终的压缩表示可以变得更小，同时保持可接受的视觉质量。\u003C\u002Fp>\n\u003Cp>这使得 GACL 成为内容管线的优化，而不是游戏内的生成式 AI 系统。\u003C\u002Fp>\n\u003Ch2 id=\"section-46\">压缩率提升高达 50% 并不意味着每款游戏都缩小 50%\u003C\u002Fh2>\n\u003Cp>微软表示，对于合适的资产，GACL 可以将 Zstd 压缩率提升高达 50%。\u003C\u002Fp>\n\u003Cp>这并不等同于说整个游戏安装包缩小 50%。\u003C\u002Fp>\n\u003Cp>实际影响取决于哪些资产被条件化、它们的可压缩程度、它们占游戏的比例，以及有损技术是否可接受。\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. 检查该技术是否无损\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\">为什么在游戏中替换 DirectStorage DLL 并不能启用 Zstd\u003C\u002Fh2>\n\u003Cp>这是一个特别重要的误解。\u003C\u002Fp>\n\u003Cp>微软在 DirectStorage 1.4 发布后明确回答了这个问题：在现有游戏中替换 DirectStorage DLL 文件并不会激活新的预览功能。\u003C\u002Fp>\n\u003Cp>游戏的资源必须在构建过程中使用 Zstd 进行创作和压缩，可选的 GACL 条件处理必须在发布前完成，而游戏本身必须调用相关的 DirectStorage API。\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\">运行时 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 超越原始 I\u002FO 的原因。\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 只有在存储 I\u002FO 实际上是限制部分时才有帮助。\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>微软表示，AMD、英特尔、英伟达和高通正在开发针对特定硬件和驱动程序的 Zstd 优化。\u003C\u002Fp>\n\u003Cp>AMD 和英伟达公开表示，优化支持的目标时间为 2026 年下半年，而英特尔和高通也描述了正在进行的平台工作。\u003C\u002Fp>\n\u003Cp>这意味着公开的 DirectStorage GPU 着色器只是一个基线，不一定是未来硬件的最终性能路径。\u003C\u002Fp>\n\u003Ch2 id=\"section-76\">什么会改变这个答案？\u003C\u002Fh2>\n\u003Cp>DirectStorage 1.4 仍处于公开预览阶段。最终的 API、Zstd 着色器性能、GACL 支持以及厂商优化的驱动程序路径都可能发生变化。\u003C\u002Fp>\n\u003Cp>如果未来的存储设备增加了集成到 PC 资产管线中的标准化硬件解压缩，那么“SSD 读取”和“CPU\u002FGPU 解压缩”之间的清晰分离可能变得不那么绝对。但这并不是当今 DirectStorage 1.4 的常规模式。\u003C\u002Fp>\n\u003Ch2 id=\"section-79\">局限性\u003C\u002Fh2>\n\u003Cp>本文解释了微软当前公开的 DirectStorage 1.4 预览架构。它并不声称每个使用 DirectStorage 的游戏都会使用 Zstd、GPU 解压缩或 GACL。\u003C\u002Fp>\n\u003Cp>微软关于压缩比和性能的声明是平台供应商的技术声明。实际游戏结果取决于资产组合、压缩设置、硬件、驱动程序和引擎集成。\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 协调 I\u002FO，而 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 解压缩支持、游戏资产调理库集成以及改进的 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\">我可以替换游戏的 DirectStorage DLL 来启用 Zstd 吗？\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">不可以。微软表示，资产必须使用 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\">微软 DirectX 系列 API，用于在 Windows 上实现高吞吐量的游戏资产 I\u002FO 和解压缩。\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\">DirectStorage 用于协调压缩和解压缩数据流的临时 GPU 内存。\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\">微软的游戏资产调理库，用于预处理资产以提高压缩效率。\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 模型，将存储大小、I\u002FO 流量和运行时解压缩成本分开。\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 年 3 月官方公告，涵盖 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 — 游戏资产调理库\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">官方文档，涵盖纹理调理、Zstd、混洗变换以及熵减技术。\u003C\u002Fp>\u003C\u002Fa>",{"time":538,"blocks":539,"version":1208},1790406198727,[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,1157,1162,1172,1181,1190,1199],{"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 支持和游戏资源调理库是开发者技术，必须集成到游戏的构建和运行时管道中。替换现有游戏中的 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 驱动器将这些字节从存储快速移动到系统的 I\u002FO 路径中。",{"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},"微软选择 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 中的暂存缓冲区来协调压缩输入和解压缩输出。微软警告说，过大的暂存缓冲区会从渲染中占用内存，而过小则会降低吞吐量，因为请求必须等待。",{},{"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\u002Fzh\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},"微软还发布了一个开源的 GPU Zstd 解压缩计算着色器，作为 GPU 供应商可以进一步优化的基线。",{},{"id":745,"data":746,"type":544,"tunes":748},"6ff4e34bf6",{"text":747},"初始着色器针对 256 KB 或更小的块进行了优化，这符合常见的面向流式传输的游戏打包模式。",{},{"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","存储 I\u002FO",[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},"游戏资产调理库的作用",{},{"id":784,"data":785,"type":544,"tunes":787},"25b7db1be9",{"text":786},"微软在 DirectStorage 1.4 中引入了游戏资产调理库，即 GACL。",{},{"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>无损变换\u003C\u002Fstrong>和\u003Cstrong>有损纹理优化\u003C\u002Fstrong>。更好的压缩有时可能来自接受可控程度的视觉误差。","并非所有条件化模式都是无损的","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，简称 CLER）使用机器学习作为减少纹理熵过程的一部分。",{},{"id":836,"data":837,"type":544,"tunes":839},"79c4cad150",{"text":838},"其目的不是在运行时生成纹理。机器学习工作是准备纹理数据的一部分，以便最终的压缩表示可以变得更小，同时保持可接受的视觉质量。",{},{"id":841,"data":842,"type":544,"tunes":844},"99085e4c77",{"text":843},"这使得 GACL 成为内容管线的优化，而不是游戏内的生成式 AI 系统。",{},{"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},"微软表示，对于合适的资产，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},"实际影响取决于哪些资产被条件化、它们的可压缩程度、它们占游戏的比例，以及有损技术是否可接受。",{},{"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. 检查该技术是否无损","更小的结果可能包含可控的质量损失。",{"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},"为什么在游戏中替换 DirectStorage DLL 并不能启用 Zstd",{},{"id":900,"data":901,"type":544,"tunes":903},"4da8a4e81a",{"text":902},"这是一个特别重要的误解。",{},{"id":905,"data":906,"type":544,"tunes":908},"2e03f9f3b4",{"text":907},"微软在 DirectStorage 1.4 发布后明确回答了这个问题：在现有游戏中替换 DirectStorage DLL 文件并不会激活新的预览功能。",{},{"id":910,"data":911,"type":544,"tunes":913},"f62e4bf14a",{"text":912},"游戏的资源必须在构建过程中使用 Zstd 进行创作和压缩，可选的 GACL 条件处理必须在发布前完成，而游戏本身必须调用相关的 DirectStorage API。",{},{"id":915,"data":916,"type":552,"tunes":919},"0eb0a84749",{"body":917,"title":918,"variant":602},"磁盘上的文件、其压缩格式以及引擎集成必须已经为 DirectStorage 1.4 设计。","运行时 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 超越原始 I\u002FO 的原因。",{},{"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 只有在存储 I\u002FO 实际上是限制部分时才有帮助。","如何诊断存储是否真的是瓶颈",{},{"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},"微软表示，AMD、英特尔、英伟达和高通正在开发针对特定硬件和驱动程序的 Zstd 优化。",{},{"id":1025,"data":1026,"type":544,"tunes":1028},"fe70c63125",{"text":1027},"AMD 和英伟达公开表示，优化支持的目标时间为 2026 年下半年，而英特尔和高通也描述了正在进行的平台工作。",{},{"id":1030,"data":1031,"type":544,"tunes":1033},"b32885f619",{"text":1032},"这意味着公开的 DirectStorage GPU 着色器只是一个基线，不一定是未来硬件的最终性能路径。",{},{"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},"如果未来的存储设备增加了集成到 PC 资产管线中的标准化硬件解压缩，那么“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 预览架构。它并不声称每个使用 DirectStorage 的游戏都会使用 Zstd、GPU 解压缩或 GACL。",{},{"id":1060,"data":1061,"type":544,"tunes":1063},"7dd689e651",{"text":1062},"微软关于压缩比和性能的声明是平台供应商的技术声明。实际游戏结果取决于资产组合、压缩设置、硬件、驱动程序和引擎集成。",{},{"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 协调 I\u002FO，而 CPU 或 GPU 执行解压缩。","DirectStorage 会让 SSD 解压缩游戏资产吗？",{"id":1098,"answer":1099,"question":1100},"faq2","公开预览版增加了 Zstandard 压缩、CPU\u002FGPU 解压缩支持、游戏资产调理库集成以及改进的 D3D12 队列标识。","DirectStorage 1.4 有什么新功能？",{"id":1102,"answer":1103,"question":1104},"faq3","不可以。微软表示，资产必须使用 Zstd\u002FGACL 构建，并且游戏必须显式使用新的 API。","我可以替换游戏的 DirectStorage DLL 来启用 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":1155,"tunes":1156},"314ad428b8",{"title":1128,"entries":1129},"DirectStorage 1.4 关键术语",[1130,1134,1138,1141,1145,1149,1152],{"term":1131,"anchor":1132,"definition":1133},"DirectStorage","directstorage","微软 DirectX 系列 API，用于在 Windows 上实现高吞吐量的游戏资产 I\u002FO 和解压缩。",{"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","DirectStorage 用于协调压缩和解压缩数据流的临时 GPU 内存。",{"term":1146,"anchor":1147,"definition":1148},"GACL","gacl","微软的游戏资产调理库，用于预处理资产以提高压缩效率。",{"term":752,"anchor":1150,"definition":1151},"asset-streaming-cost-triangle","Figure Rocks 模型，将存储大小、I\u002FO 流量和运行时解压缩成本分开。",{"term":868,"anchor":1153,"definition":1154},"compression-claim-test","Figure Rocks 检查清单，通过检查资产范围、基线、质量损失和运行时成本来解读压缩声明。","glossary",{},{"id":1158,"data":1159,"type":572,"tunes":1161},"ba9a367e9e",{"text":1160,"level":47},"主要来源",{},{"id":1163,"data":1164,"type":1170,"tunes":1171},"5b0ee9645d",{"link":1165,"meta":1166},"https:\u002F\u002Fdevblogs.microsoft.com\u002Fdirectx\u002Fdirectstorage-1-4-release-adds-support-for-zstandard\u002F",{"image":1167,"title":1168,"description":1169},{"url":13},"Microsoft DirectX — DirectStorage 1.4 新增 Zstandard 支持","2026 年 3 月官方公告，涵盖 Zstd、CPU\u002FGPU 解压缩、GACL、GPU 厂商优化计划以及 DirectStorage 1.4 预览版。","linkTool",{},{"id":1173,"data":1174,"type":1170,"tunes":1180},"99d1c9ab00",{"link":1175,"meta":1176},"https:\u002F\u002Fdevblogs.microsoft.com\u002Fdirectx\u002Fdirectstorage-api-downloads\u002F",{"image":1177,"title":1178,"description":1179},{"url":13},"Microsoft DirectX — DirectStorage SDK 与 API","官方发布页面，列出 DirectStorage 1.4 预览版功能及包状态。",{},{"id":1182,"data":1183,"type":1170,"tunes":1189},"c6911b09dc",{"link":1184,"meta":1185},"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FDirectStorage",{"image":1186,"title":1187,"description":1188},{"url":13},"Microsoft — DirectStorage GitHub","官方仓库，包含示例、GPU 解压缩基准测试以及 DirectStorage 实现指南。",{},{"id":1191,"data":1192,"type":1170,"tunes":1198},"01eb196732",{"link":1193,"meta":1194},"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FDirectStorage\u002Fblob\u002Fmain\u002FDocs\u002FDeveloperGuidance.md",{"image":1195,"title":1196,"description":1197},{"url":13},"Microsoft — DirectStorage 开发者指南","官方指南，解释压缩数据流、GPU 解压缩、暂存缓冲区以及内存权衡。",{},{"id":1200,"data":1201,"type":1170,"tunes":1207},"77679e7133",{"link":1202,"meta":1203},"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FGame-Asset-Conditioning-Library\u002Fblob\u002Fmain\u002FREADME.md",{"image":1204,"title":1205,"description":1206},{"url":13},"Microsoft — 游戏资产调理库","官方文档，涵盖纹理调理、Zstd、混洗变换以及熵减技术。",{},"2.31","DirectStorage 1.4 新增了 Zstandard 压缩、GPU 解压缩和一个新的游戏资产调理库，但 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":1218,"de":1219,"sr":1220,"es":1221,"fr":1222,"it":1223,"ru":1224,"zh":1225},"\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",[1227,1231,1235,1239],{"id":1228,"name":1229,"slug":1230},330,"串流与 IO 修复","streaming-and-io-fixes",{"id":1232,"name":1233,"slug":1234},65,"IO 与存储卡顿","io-and-storage-stutter",{"id":1236,"name":1237,"slug":1238},237,"流式传输与 IO","streaming-and-io",{"id":1240,"name":1241,"slug":1242},152,"VRAM 与串流","vram-and-streaming",{"id":283,"login":1244,"email":1245,"displayName":1246},"aleksandar","aleksandar@stajic.de","Aleksandar Stajic",[1248,1782],{"lang":8,"title":1249,"content":1250,"contentJson":1251,"excerpt":1781},"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":1252,"blocks":1253,"version":1780},1790405876557,[1254,1258,1263,1268,1272,1276,1296,1301,1305,1309,1313,1317,1321,1325,1329,1333,1337,1341,1345,1349,1371,1375,1379,1383,1387,1394,1398,1402,1406,1410,1414,1418,1437,1441,1445,1449,1453,1457,1461,1465,1469,1474,1478,1482,1486,1490,1494,1498,1502,1506,1510,1533,1537,1541,1545,1549,1554,1558,1562,1566,1570,1574,1597,1601,1605,1609,1613,1617,1621,1625,1629,1633,1637,1641,1645,1649,1653,1657,1661,1665,1669,1673,1677,1681,1685,1689,1693,1716,1720,1742,1746,1753,1760,1766,1773],{"id":541,"data":1255,"type":544,"tunes":1257},{"text":1256},"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":1259,"type":552,"tunes":1262},{"body":1260,"title":1261,"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":1264,"type":552,"tunes":1267},{"body":1265,"title":1266,"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":1269,"type":566,"tunes":1271},{"title":1270,"maxLevel":565,"minLevel":47},"Contents",{},{"id":569,"data":1273,"type":572,"tunes":1275},{"text":1274,"level":47},"The simplest way to understand the asset path",{},{"id":575,"data":1277,"type":595,"tunes":1295},{"steps":1278,"title":1294,"orientation":594},[1279,1282,1285,1288,1291],{"label":1280,"description":1281},"1. Game asset is stored compressed","Textures, geometry or other data are packaged in compressed form on the SSD.",{"label":1283,"description":1284},"2. SSD reads the compressed bytes","The NVMe drive moves those bytes quickly from storage into the system's I\u002FO path.",{"label":1286,"description":1287},"3. DirectStorage schedules the request","DirectStorage coordinates high-throughput reads and where the resulting data should go.",{"label":1289,"description":1290},"4. CPU or GPU decompresses","The compressed stream is expanded into the form needed by the game.",{"label":1292,"description":1293},"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":1297,"type":552,"tunes":1300},{"body":1298,"title":1299,"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":1302,"type":572,"tunes":1304},{"text":1303,"level":47},"Why compress game assets at all?",{},{"id":610,"data":1306,"type":544,"tunes":1308},{"text":1307},"Modern games contain enormous amounts of texture, geometry, audio and other data.",{},{"id":615,"data":1310,"type":544,"tunes":1312},{"text":1311},"Storing every asset uncompressed would increase installation size and force the storage device to read more bytes for the same content.",{},{"id":620,"data":1314,"type":544,"tunes":1316},{"text":1315},"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":1318,"type":572,"tunes":1320},{"text":1319,"level":47},"DirectStorage moves the bottleneck problem, it does not remove it",{},{"id":630,"data":1322,"type":544,"tunes":1324},{"text":1323},"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":1326,"type":544,"tunes":1328},{"text":1327},"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":1330,"type":544,"tunes":1332},{"text":1331},"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":1334,"type":572,"tunes":1336},{"text":1335,"level":47},"What DirectStorage 1.4 adds",{},{"id":650,"data":1338,"type":544,"tunes":1340},{"text":1339},"DirectStorage 1.4 adds Zstandard, usually written Zstd, as a supported compression format.",{},{"id":655,"data":1342,"type":544,"tunes":1344},{"text":1343},"Microsoft chose Zstd because it combines strong compression ratios, good decompression performance, broad software and hardware availability, and widespread adoption.",{},{"id":660,"data":1346,"type":544,"tunes":1348},{"text":1347},"The important change is that Zstd is integrated into DirectStorage's decompression framework with both CPU and GPU paths.",{},{"id":665,"data":1350,"type":693,"tunes":1370},{"rows":1351,"title":1364,"layout":685,"columns":1365},[1352,1355,1358,1361],{"id":669,"label":1353,"values":1354},"Where it runs",[13,13],{"id":673,"label":1356,"values":1357},"Potential advantage",[13,13],{"id":677,"label":1359,"values":1360},"Main cost",[13,13],{"id":681,"label":1362,"values":1363},"Best choice",[13,13],"CPU vs GPU decompression",[1366,1368],{"id":688,"label":1367},"CPU decompression",{"id":691,"label":1369},"GPU decompression",{},{"id":696,"data":1372,"type":572,"tunes":1374},{"text":1373,"level":47},"GPU decompression still costs GPU resources",{},{"id":701,"data":1376,"type":544,"tunes":1378},{"text":1377},"GPU decompression is not free.",{},{"id":706,"data":1380,"type":544,"tunes":1382},{"text":1381},"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":1384,"type":544,"tunes":1386},{"text":1385},"So GPU decompression creates another balancing problem: reduce CPU work without stealing too much GPU memory or compute from rendering.",{},{"id":716,"data":1388,"type":722,"tunes":1393},{"url":1389,"title":1390,"excerpt":1391,"ctaLabel":1392},"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":1395,"type":572,"tunes":1397},{"text":1396,"level":47},"Why Zstd matters compared with older DirectStorage compression",{},{"id":730,"data":1399,"type":544,"tunes":1401},{"text":1400},"DirectStorage already supported GDeflate, a compression format designed for parallel GPU decompression.",{},{"id":735,"data":1403,"type":544,"tunes":1405},{"text":1404},"Zstd adds a different option: a broadly used open compression standard with strong compression ratios and extensive tooling.",{},{"id":740,"data":1407,"type":544,"tunes":1409},{"text":1408},"Microsoft is also publishing an open-source GPU Zstd decompression compute shader as a baseline that GPU vendors can optimize further.",{},{"id":745,"data":1411,"type":544,"tunes":1413},{"text":1412},"The initial shader is optimized around chunks of 256 KB or smaller, which matches common streaming-oriented game packaging patterns.",{},{"id":750,"data":1415,"type":572,"tunes":1417},{"text":1416,"level":47},"The Asset Streaming Cost Triangle",{},{"id":755,"data":1419,"type":693,"tunes":1436},{"rows":1420,"title":1430,"layout":685,"columns":1431},[1421,1424,1427],{"id":759,"label":1422,"values":1423},"Installation size",[13,13],{"id":763,"label":1425,"values":1426},"Storage I\u002FO",[13,13],{"id":767,"label":1428,"values":1429},"Runtime CPU\u002FGPU work",[13,13],"Compression changes three different costs",[1432,1434],{"id":773,"label":1433},"What compression can reduce",{"id":677,"label":1435},"What it can increase",{},{"id":779,"data":1438,"type":572,"tunes":1440},{"text":1439,"level":47},"What the Game Asset Conditioning Library does",{},{"id":784,"data":1442,"type":544,"tunes":1444},{"text":1443},"Microsoft introduced the Game Asset Conditioning Library, or GACL, alongside DirectStorage 1.4.",{},{"id":789,"data":1446,"type":544,"tunes":1448},{"text":1447},"GACL does not replace Zstd. It prepares certain game assets so Zstd can compress them more effectively.",{},{"id":794,"data":1450,"type":544,"tunes":1452},{"text":1451},"Texture data is a major target because textures often make up a large share of modern game-package size.",{},{"id":799,"data":1454,"type":572,"tunes":1456},{"text":1455,"level":47},"What “conditioning” means in plain English",{},{"id":804,"data":1458,"type":544,"tunes":1460},{"text":1459},"Conditioning means rearranging or slightly modifying the data before compression so the compressor can find more useful patterns.",{},{"id":809,"data":1462,"type":544,"tunes":1464},{"text":1463},"For block-compressed textures, GACL can shuffle the byte layout before Zstd compression. DirectStorage reverses that transform after decompression.",{},{"id":814,"data":1466,"type":544,"tunes":1468},{"text":1467},"GACL also includes entropy-reduction techniques that can deliberately simplify some texture information to make it compress better.",{},{"id":819,"data":1470,"type":552,"tunes":1473},{"body":1471,"title":1472,"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":1475,"type":572,"tunes":1477},{"text":1476,"level":47},"Where machine learning enters GACL",{},{"id":831,"data":1479,"type":544,"tunes":1481},{"text":1480},"Microsoft's Component-Level Entropy Reduction, or CLER, uses machine learning as part of the process for reducing texture entropy.",{},{"id":836,"data":1483,"type":544,"tunes":1485},{"text":1484},"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":1487,"type":544,"tunes":1489},{"text":1488},"That makes GACL a content-pipeline optimization rather than an in-game generative AI system.",{},{"id":846,"data":1491,"type":572,"tunes":1493},{"text":1492,"level":47},"Up to 50% better compression does not mean every game becomes 50% smaller",{},{"id":851,"data":1495,"type":544,"tunes":1497},{"text":1496},"Microsoft says GACL can deliver up to a 50% improvement in Zstd compression ratios for suitable assets.",{},{"id":856,"data":1499,"type":544,"tunes":1501},{"text":1500},"That is not the same as saying an entire game installation shrinks by 50%.",{},{"id":861,"data":1503,"type":544,"tunes":1505},{"text":1504},"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":1507,"type":572,"tunes":1509},{"text":1508,"level":47},"The Compression Claim Test",{},{"id":871,"data":1511,"type":595,"tunes":1532},{"steps":1512,"title":1531,"orientation":594},[1513,1516,1519,1522,1525,1528],{"label":1514,"description":1515},"1. Ask what is being compressed","Textures only, all assets, or the complete installation?",{"label":1517,"description":1518},"2. Ask what the comparison baseline is","Uncompressed data, GDeflate, old Zstd settings or another packaged format?",{"label":1520,"description":1521},"3. Check whether the technique is lossless","A smaller result may include controlled quality loss.",{"label":1523,"description":1524},"4. Separate file size from load performance","Better compression reduces bytes read but decompression still costs time.",{"label":1526,"description":1527},"5. Check CPU\u002FGPU path","The same compressed data can behave differently depending on where decompression executes.",{"label":1529,"description":1530},"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":1534,"type":572,"tunes":1536},{"text":1535,"level":47},"Why replacing DirectStorage DLLs in a game does not enable Zstd",{},{"id":900,"data":1538,"type":544,"tunes":1540},{"text":1539},"This is an especially important misunderstanding.",{},{"id":905,"data":1542,"type":544,"tunes":1544},{"text":1543},"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":1546,"type":544,"tunes":1548},{"text":1547},"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":1550,"type":552,"tunes":1553},{"body":1551,"title":1552,"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":1555,"type":572,"tunes":1557},{"text":1556,"level":47},"Why faster SSDs do not remove decompression cost",{},{"id":926,"data":1559,"type":544,"tunes":1561},{"text":1560},"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":1563,"type":544,"tunes":1565},{"text":1564},"As storage becomes faster, the relative importance of decompression, asset preparation, GPU upload and engine-side processing becomes larger.",{},{"id":936,"data":1567,"type":544,"tunes":1569},{"text":1568},"That is exactly why DirectStorage has evolved beyond raw I\u002FO.",{},{"id":941,"data":1571,"type":572,"tunes":1573},{"text":1572,"level":47},"The Load-Time Pipeline Test",{},{"id":946,"data":1575,"type":595,"tunes":1596},{"steps":1576,"title":1595,"orientation":594},[1577,1580,1583,1586,1589,1592],{"label":1578,"description":1579},"1. Measure storage read time","How long does it take to deliver the compressed asset bytes?",{"label":1581,"description":1582},"2. Measure decompression","How much CPU or GPU time is spent expanding the data?",{"label":1584,"description":1585},"3. Measure queueing and staging","Are requests waiting because staging buffers or GPU queues are saturated?",{"label":1587,"description":1588},"4. Measure upload and resource creation","How long before the decompressed data becomes a usable GPU resource?",{"label":1590,"description":1591},"5. Measure engine-side work","Shaders, object creation, world setup and asset registration may still dominate loading.",{"label":1593,"description":1594},"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":1598,"type":572,"tunes":1600},{"text":1599,"level":47},"Why this matters for open-world streaming",{},{"id":975,"data":1602,"type":544,"tunes":1604},{"text":1603},"Open-world games continuously move asset data as the player crosses the map.",{},{"id":980,"data":1606,"type":544,"tunes":1608},{"text":1607},"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":1610,"type":544,"tunes":1612},{"text":1611},"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":1614,"type":544,"tunes":1616},{"text":1615},"But if the GPU itself is already saturated, moving decompression work there may need careful scheduling.",{},{"id":995,"data":1618,"type":572,"tunes":1620},{"text":1619,"level":47},"DirectStorage 1.4 also improves GPU scheduling visibility",{},{"id":1000,"data":1622,"type":544,"tunes":1624},{"text":1623},"DirectStorage 1.4 adds D3D12 CreatorID support for the internal command queues it manages.",{},{"id":1005,"data":1626,"type":544,"tunes":1628},{"text":1627},"The purpose is to help DirectStorage workloads participate more predictably in D3D12 queue grouping and GPU execution scheduling.",{},{"id":1010,"data":1630,"type":544,"tunes":1632},{"text":1631},"This matters because decompression is now competing for the same GPU ecosystem as rendering and other compute work.",{},{"id":1015,"data":1634,"type":572,"tunes":1636},{"text":1635,"level":47},"What GPU vendors are doing next",{},{"id":1020,"data":1638,"type":544,"tunes":1640},{"text":1639},"Microsoft says AMD, Intel, NVIDIA and Qualcomm are working on hardware- and driver-specific Zstd optimizations.",{},{"id":1025,"data":1642,"type":544,"tunes":1644},{"text":1643},"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":1646,"type":544,"tunes":1648},{"text":1647},"That means the public DirectStorage GPU shader is a baseline, not necessarily the final performance path for future hardware.",{},{"id":1035,"data":1650,"type":572,"tunes":1652},{"text":1651,"level":47},"What would change this answer?",{},{"id":1040,"data":1654,"type":544,"tunes":1656},{"text":1655},"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":1658,"type":544,"tunes":1660},{"text":1659},"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":1662,"type":572,"tunes":1664},{"text":1663,"level":47},"Limitations",{},{"id":1055,"data":1666,"type":544,"tunes":1668},{"text":1667},"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":1670,"type":544,"tunes":1672},{"text":1671},"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":1674,"type":572,"tunes":1676},{"text":1675,"level":47},"Conclusion",{},{"id":1070,"data":1678,"type":544,"tunes":1680},{"text":1679},"DirectStorage 1.4 is easier to understand once the jobs are separated.",{},{"id":1075,"data":1682,"type":544,"tunes":1684},{"text":1683},"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":1686,"type":544,"tunes":1688},{"text":1687},"A faster SSD is only one part of that chain.",{},{"id":1085,"data":1690,"type":572,"tunes":1692},{"text":1691,"level":47},"FAQ",{},{"id":1090,"data":1694,"type":1118,"tunes":1715},{"items":1695,"title":1714},[1696,1699,1702,1705,1708,1711],{"id":1094,"answer":1697,"question":1698},"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":1700,"question":1701},"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":1703,"question":1704},"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":1706,"question":1707},"No. It uses GPU compute, bandwidth and staging buffers, although it can reduce CPU load.","Is GPU decompression free?",{"id":1110,"answer":1709,"question":1710},"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":1712,"question":1713},"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":1717,"type":572,"tunes":1719},{"text":1718,"level":47},"Glossary",{},{"id":1126,"data":1721,"type":1155,"tunes":1741},{"title":1722,"entries":1723},"Key DirectStorage 1.4 terms",[1724,1726,1728,1730,1733,1735,1738],{"term":1131,"anchor":1132,"definition":1725},"Microsoft's DirectX-family API for high-throughput game-asset I\u002FO and decompression on Windows.",{"term":1135,"anchor":1136,"definition":1727},"An open compression format added to DirectStorage 1.4 for game assets.",{"term":1369,"anchor":1139,"definition":1729},"Expanding compressed data using GPU compute instead of doing all decompression on the CPU.",{"term":1731,"anchor":1143,"definition":1732},"Staging buffer","Temporary GPU memory used by DirectStorage to coordinate compressed and decompressed data flows.",{"term":1146,"anchor":1147,"definition":1734},"Microsoft's Game Asset Conditioning Library, which prepares assets to improve compression efficiency.",{"term":1736,"anchor":1150,"definition":1737},"Asset Streaming Cost Triangle","A Figure Rocks model separating storage size, I\u002FO traffic and runtime decompression cost.",{"term":1739,"anchor":1153,"definition":1740},"Compression Claim Test","A Figure Rocks checklist for interpreting compression claims by checking the asset scope, baseline, quality loss and runtime cost.",{},{"id":1158,"data":1743,"type":572,"tunes":1745},{"text":1744,"level":47},"Primary sources",{},{"id":1163,"data":1747,"type":1170,"tunes":1752},{"link":1165,"meta":1748},{"image":1749,"title":1750,"description":1751},{"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":1173,"data":1754,"type":1170,"tunes":1759},{"link":1175,"meta":1755},{"image":1756,"title":1757,"description":1758},{"url":13},"Microsoft DirectX — DirectStorage SDK & API","Official release page listing DirectStorage 1.4 preview features and package status.",{},{"id":1182,"data":1761,"type":1170,"tunes":1765},{"link":1184,"meta":1762},{"image":1763,"title":1187,"description":1764},{"url":13},"Official repository containing samples, GPU decompression benchmarks and DirectStorage implementation guidance.",{},{"id":1191,"data":1767,"type":1170,"tunes":1772},{"link":1193,"meta":1768},{"image":1769,"title":1770,"description":1771},{"url":13},"Microsoft — DirectStorage Developer Guidance","Official guidance explaining compressed-data flow, GPU decompression, staging buffers and memory trade-offs.",{},{"id":1200,"data":1774,"type":1170,"tunes":1779},{"link":1202,"meta":1775},{"image":1776,"title":1777,"description":1778},{"url":13},"Microsoft — Game Asset Conditioning Library","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":1783,"excerpt":1209},{"time":538,"blocks":1784,"version":1208},[1785,1788,1791,1794,1797,1800,1809,1812,1815,1818,1821,1824,1827,1830,1833,1836,1839,1842,1845,1848,1863,1866,1869,1872,1875,1878,1881,1884,1887,1890,1893,1896,1909,1912,1915,1918,1921,1924,1927,1930,1933,1936,1939,1942,1945,1948,1951,1954,1957,1960,1963,1973,1976,1979,1982,1985,1988,1991,1994,1997,2000,2003,2013,2016,2019,2022,2025,2028,2031,2034,2037,2040,2043,2046,2049,2052,2055,2058,2061,2064,2067,2070,2073,2076,2079,2082,2085,2095,2098,2109,2112,2117,2122,2127,2132],{"id":541,"data":1786,"type":544,"tunes":1787},{"text":543},{},{"id":547,"data":1789,"type":552,"tunes":1790},{"body":549,"title":550,"variant":551},{},{"id":555,"data":1792,"type":552,"tunes":1793},{"body":557,"title":558,"variant":559},{},{"id":562,"data":1795,"type":566,"tunes":1796},{"title":564,"maxLevel":565,"minLevel":47},{},{"id":569,"data":1798,"type":572,"tunes":1799},{"text":571,"level":47},{},{"id":575,"data":1801,"type":595,"tunes":1808},{"steps":1802,"title":593,"orientation":594},[1803,1804,1805,1806,1807],{"label":579,"description":580},{"label":582,"description":583},{"label":585,"description":586},{"label":588,"description":589},{"label":591,"description":592},{},{"id":598,"data":1810,"type":552,"tunes":1811},{"body":600,"title":601,"variant":602},{},{"id":605,"data":1813,"type":572,"tunes":1814},{"text":607,"level":47},{},{"id":610,"data":1816,"type":544,"tunes":1817},{"text":612},{},{"id":615,"data":1819,"type":544,"tunes":1820},{"text":617},{},{"id":620,"data":1822,"type":544,"tunes":1823},{"text":622},{},{"id":625,"data":1825,"type":572,"tunes":1826},{"text":627,"level":47},{},{"id":630,"data":1828,"type":544,"tunes":1829},{"text":632},{},{"id":635,"data":1831,"type":544,"tunes":1832},{"text":637},{},{"id":640,"data":1834,"type":544,"tunes":1835},{"text":642},{},{"id":645,"data":1837,"type":572,"tunes":1838},{"text":647,"level":47},{},{"id":650,"data":1840,"type":544,"tunes":1841},{"text":652},{},{"id":655,"data":1843,"type":544,"tunes":1844},{"text":657},{},{"id":660,"data":1846,"type":544,"tunes":1847},{"text":662},{},{"id":665,"data":1849,"type":693,"tunes":1862},{"rows":1850,"title":684,"layout":685,"columns":1859},[1851,1853,1855,1857],{"id":669,"label":670,"values":1852},[13,13],{"id":673,"label":674,"values":1854},[13,13],{"id":677,"label":678,"values":1856},[13,13],{"id":681,"label":682,"values":1858},[13,13],[1860,1861],{"id":688,"label":689},{"id":691,"label":692},{},{"id":696,"data":1864,"type":572,"tunes":1865},{"text":698,"level":47},{},{"id":701,"data":1867,"type":544,"tunes":1868},{"text":703},{},{"id":706,"data":1870,"type":544,"tunes":1871},{"text":708},{},{"id":711,"data":1873,"type":544,"tunes":1874},{"text":713},{},{"id":716,"data":1876,"type":722,"tunes":1877},{"url":718,"title":719,"excerpt":720,"ctaLabel":721},{},{"id":725,"data":1879,"type":572,"tunes":1880},{"text":727,"level":47},{},{"id":730,"data":1882,"type":544,"tunes":1883},{"text":732},{},{"id":735,"data":1885,"type":544,"tunes":1886},{"text":737},{},{"id":740,"data":1888,"type":544,"tunes":1889},{"text":742},{},{"id":745,"data":1891,"type":544,"tunes":1892},{"text":747},{},{"id":750,"data":1894,"type":572,"tunes":1895},{"text":752,"level":47},{},{"id":755,"data":1897,"type":693,"tunes":1908},{"rows":1898,"title":770,"layout":685,"columns":1905},[1899,1901,1903],{"id":759,"label":760,"values":1900},[13,13],{"id":763,"label":764,"values":1902},[13,13],{"id":767,"label":768,"values":1904},[13,13],[1906,1907],{"id":773,"label":774},{"id":677,"label":776},{},{"id":779,"data":1910,"type":572,"tunes":1911},{"text":781,"level":47},{},{"id":784,"data":1913,"type":544,"tunes":1914},{"text":786},{},{"id":789,"data":1916,"type":544,"tunes":1917},{"text":791},{},{"id":794,"data":1919,"type":544,"tunes":1920},{"text":796},{},{"id":799,"data":1922,"type":572,"tunes":1923},{"text":801,"level":47},{},{"id":804,"data":1925,"type":544,"tunes":1926},{"text":806},{},{"id":809,"data":1928,"type":544,"tunes":1929},{"text":811},{},{"id":814,"data":1931,"type":544,"tunes":1932},{"text":816},{},{"id":819,"data":1934,"type":552,"tunes":1935},{"body":821,"title":822,"variant":823},{},{"id":826,"data":1937,"type":572,"tunes":1938},{"text":828,"level":47},{},{"id":831,"data":1940,"type":544,"tunes":1941},{"text":833},{},{"id":836,"data":1943,"type":544,"tunes":1944},{"text":838},{},{"id":841,"data":1946,"type":544,"tunes":1947},{"text":843},{},{"id":846,"data":1949,"type":572,"tunes":1950},{"text":848,"level":47},{},{"id":851,"data":1952,"type":544,"tunes":1953},{"text":853},{},{"id":856,"data":1955,"type":544,"tunes":1956},{"text":858},{},{"id":861,"data":1958,"type":544,"tunes":1959},{"text":863},{},{"id":866,"data":1961,"type":572,"tunes":1962},{"text":868,"level":47},{},{"id":871,"data":1964,"type":595,"tunes":1972},{"steps":1965,"title":892,"orientation":594},[1966,1967,1968,1969,1970,1971],{"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":1974,"type":572,"tunes":1975},{"text":897,"level":47},{},{"id":900,"data":1977,"type":544,"tunes":1978},{"text":902},{},{"id":905,"data":1980,"type":544,"tunes":1981},{"text":907},{},{"id":910,"data":1983,"type":544,"tunes":1984},{"text":912},{},{"id":915,"data":1986,"type":552,"tunes":1987},{"body":917,"title":918,"variant":602},{},{"id":921,"data":1989,"type":572,"tunes":1990},{"text":923,"level":47},{},{"id":926,"data":1992,"type":544,"tunes":1993},{"text":928},{},{"id":931,"data":1995,"type":544,"tunes":1996},{"text":933},{},{"id":936,"data":1998,"type":544,"tunes":1999},{"text":938},{},{"id":941,"data":2001,"type":572,"tunes":2002},{"text":943,"level":47},{},{"id":946,"data":2004,"type":595,"tunes":2012},{"steps":2005,"title":967,"orientation":594},[2006,2007,2008,2009,2010,2011],{"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":2014,"type":572,"tunes":2015},{"text":972,"level":47},{},{"id":975,"data":2017,"type":544,"tunes":2018},{"text":977},{},{"id":980,"data":2020,"type":544,"tunes":2021},{"text":982},{},{"id":985,"data":2023,"type":544,"tunes":2024},{"text":987},{},{"id":990,"data":2026,"type":544,"tunes":2027},{"text":992},{},{"id":995,"data":2029,"type":572,"tunes":2030},{"text":997,"level":47},{},{"id":1000,"data":2032,"type":544,"tunes":2033},{"text":1002},{},{"id":1005,"data":2035,"type":544,"tunes":2036},{"text":1007},{},{"id":1010,"data":2038,"type":544,"tunes":2039},{"text":1012},{},{"id":1015,"data":2041,"type":572,"tunes":2042},{"text":1017,"level":47},{},{"id":1020,"data":2044,"type":544,"tunes":2045},{"text":1022},{},{"id":1025,"data":2047,"type":544,"tunes":2048},{"text":1027},{},{"id":1030,"data":2050,"type":544,"tunes":2051},{"text":1032},{},{"id":1035,"data":2053,"type":572,"tunes":2054},{"text":1037,"level":47},{},{"id":1040,"data":2056,"type":544,"tunes":2057},{"text":1042},{},{"id":1045,"data":2059,"type":544,"tunes":2060},{"text":1047},{},{"id":1050,"data":2062,"type":572,"tunes":2063},{"text":1052,"level":47},{},{"id":1055,"data":2065,"type":544,"tunes":2066},{"text":1057},{},{"id":1060,"data":2068,"type":544,"tunes":2069},{"text":1062},{},{"id":1065,"data":2071,"type":572,"tunes":2072},{"text":1067,"level":47},{},{"id":1070,"data":2074,"type":544,"tunes":2075},{"text":1072},{},{"id":1075,"data":2077,"type":544,"tunes":2078},{"text":1077},{},{"id":1080,"data":2080,"type":544,"tunes":2081},{"text":1082},{},{"id":1085,"data":2083,"type":572,"tunes":2084},{"text":1087,"level":47},{},{"id":1090,"data":2086,"type":1118,"tunes":2094},{"items":2087,"title":1117},[2088,2089,2090,2091,2092,2093],{"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":2096,"type":572,"tunes":2097},{"text":1123,"level":47},{},{"id":1126,"data":2099,"type":1155,"tunes":2108},{"title":1128,"entries":2100},[2101,2102,2103,2104,2105,2106,2107],{"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":752,"anchor":1150,"definition":1151},{"term":868,"anchor":1153,"definition":1154},{},{"id":1158,"data":2110,"type":572,"tunes":2111},{"text":1160,"level":47},{},{"id":1163,"data":2113,"type":1170,"tunes":2116},{"link":1165,"meta":2114},{"image":2115,"title":1168,"description":1169},{"url":13},{},{"id":1173,"data":2118,"type":1170,"tunes":2121},{"link":1175,"meta":2119},{"image":2120,"title":1178,"description":1179},{"url":13},{},{"id":1182,"data":2123,"type":1170,"tunes":2126},{"link":1184,"meta":2124},{"image":2125,"title":1187,"description":1188},{"url":13},{},{"id":1191,"data":2128,"type":1170,"tunes":2131},{"link":1193,"meta":2129},{"image":2130,"title":1196,"description":1197},{"url":13},{},{"id":1200,"data":2133,"type":1170,"tunes":2136},{"link":1202,"meta":2134},{"image":2135,"title":1205,"description":1206},{"url":13},{},"Post erfolgreich abgerufen",{"items":2139,"source":2179,"manualIds":2180,"manualMatchedIds":2181},[2140,2146,2152,2158,2165,2172],{"id":2141,"slug":2142,"title":2143,"excerpt":2144,"featuredImage":14,"publishedAt":2145},"137","storage-and-streaming-stutter-when-ssd-decompression-and-vram-matter","存储与流媒体卡顿：当SSD、解压缩与显存成为关键","流媒体卡顿是资产加载问题：涉及存储速度、解压缩及内存行为。利用此排查方法，在进入新区域时避免性能峰值。","2026-02-20T11:30:00.000Z",{"id":2147,"slug":2148,"title":2149,"excerpt":2150,"featuredImage":14,"publishedAt":2151},"221","storage-streaming-stutter-fixes-when-assets-cant-keep-up","存储流媒体卡顿修复：当资产加载跟不上时","流媒体卡顿发生在新区块加载时：存储、解压或资源流限制。在降低所有图形设置前，请按此顺序尝试修复。","2026-02-20T21:00:00.000Z",{"id":2153,"slug":2154,"title":2155,"excerpt":2156,"featuredImage":14,"publishedAt":2157},"24","storage-and-streaming-reduce-load-times-without-creating-stutter","存储与流式传输：减少加载时间，避免卡顿","快速存储仅在流式行为稳定时才有帮助。本指南将解释输入\u002F输出如何影响卡顿，以及应优先调整哪些设置。","2026-02-19T11:00:00.000Z",{"id":2159,"slug":2160,"title":2161,"excerpt":2162,"featuredImage":2163,"publishedAt":2164},"440","lowered-graphics-settings-but-fps-didn-t-improve-you-re-probably-tuning-the-wrong-bottleneck","降低了图形设置但帧率没有提升？你很可能调错了瓶颈。","你降低了阴影、特效和分辨率，但帧率几乎没有变化。本指南解释了为什么图形设置只有在减轻真正限制帧率的工作负载时才有帮助——以及如何识别 CPU、GPU、内存、流式加载和帧率上限瓶颈。","\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":2166,"slug":2167,"title":2168,"excerpt":2169,"featuredImage":2170,"publishedAt":2171},"448","rtx-neural-texture-compression-is-not-upscaling-how-ai-can-trade-texture-memory-for-gpu-compute","RTX神经纹理压缩并非超分辨率技术：AI如何以GPU计算换取纹理内存","NVIDIA RTX 神经纹理压缩改变了游戏材质的存储方式。材质不再仅以传统纹素的形式保存每个纹理通道，而是可以压缩为紧凑的潜在数据和一个小型神经解码器，然后在需要时由 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":2173,"slug":2174,"title":2175,"excerpt":2176,"featuredImage":2177,"publishedAt":2178},"441","vram-usage-is-not-vram-requirement-why-a-full-memory-meter-does-not-tell-the-whole-story","显存使用量不等于显存需求量：为什么显存占用满并不代表全部真相","在8 GB显卡上看到7.8 GB已使用，可能看起来像是游戏显存耗尽的证据。事情并没有那么简单。本指南将解释VRAM容量、驻留预算、工作集、共享内存，以及如何判断内存压力是否真的导致了卡顿。","\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","fallback",[],[]]