[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"portal-settings:figure:zh":3,"public-menus:all":45,"post:why-pc-games-stutter-when-compiling-shaders-and-how-advanced-shader-delivery-changes-it:zh":531,"related:post:why-pc-games-stutter-when-compiling-shaders-and-how-advanced-shader-delivery-changes-it:zh:1":2120},{"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":2119},{"id":533,"title":534,"slug":535,"content":536,"contentJson":537,"excerpt":1201,"featuredImage":1202,"featuredImageAlt":1203,"featuredImageCaption":14,"featuredImageTitle":14,"featuredImageCopyright":14,"featuredImageAuthor":14,"featuredImageSourceUrl":14,"featuredImageLicense":14,"featuredImageIsAiGenerated":1204,"status":1205,"publishedAt":1206,"createdAt":1207,"updatedAt":1208,"seoLocalePaths":1209,"categories":1218,"author":1241,"translations":1245},"450","为什么PC游戏在编译着色器时会卡顿——以及高级着色器分发如何改变这一现状","why-pc-games-stutter-when-compiling-shaders-and-how-advanced-shader-delivery-changes-it","\u003Cp>PC 着色器卡顿之所以存在，是因为游戏通常无法使用某个着色器，直到该着色器已针对运行游戏的精确 GPU 和驱动环境完成编译。Microsoft 高级着色器交付改变了编译发生的位置：无需等待玩家的 PC，工作可以提前完成，编译后的着色器数据可以随游戏一起到达。\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>高级着色器交付并不会让着色器消失。\u003C\u002Fstrong>它将大量编译工作从玩家的 PC 上移走。游戏提供着色器状态信息，平台构建特定硬件的预编译着色器数据库，商店将正确的编译数据交付给玩家。\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\">2026 年当前状态\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">高级着色器交付可通过 Xbox PC 应用在受支持的 Windows 11 系统上使用，目前已有文档记录的 AMD RDNA 支持。Microsoft 表示更广泛的硬件支持仍在扩展中。\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\">PC 游戏为何一开始就要编译着色器\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-10\" class=\"editorjs-toc__link\">着色器卡顿从何而来\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-15\" class=\"editorjs-toc__link\">正常的着色器编译路径\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-17\" class=\"editorjs-toc__link\">高级着色器交付改变了什么\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-22\" class=\"editorjs-toc__link\">SODB → PSDB 流程\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-25\" class=\"editorjs-toc__link\">为什么这在 PC 上比在主机上更难\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-27\" class=\"editorjs-toc__link\">为什么驱动更新可能很重要\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-36\" class=\"editorjs-toc__link\">着色器可用性边界\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-38\" class=\"editorjs-toc__link\">微软的90%和95%数字实际意味着什么\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-42\" class=\"editorjs-toc__link\">着色器卡顿诊断测试\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-44\" class=\"editorjs-toc__link\">着色器卡顿与资产流式传输卡顿不同\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-49\" class=\"editorjs-toc__link\">为什么商店平台很重要\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-53\" class=\"editorjs-toc__link\">为什么这不仅仅是另一个着色器缓存\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-57\" class=\"editorjs-toc__link\">开发者实际需要做什么\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-65\" class=\"editorjs-toc__link\">为什么这比另一个 FPS 功能更重要\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-69\" class=\"editorjs-toc__link\">什么会改变这个答案？\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-73\" class=\"editorjs-toc__link\">局限性\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-80\" 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-84\" class=\"editorjs-toc__link\">主要来源\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fnav>\n\u003Ch2 id=\"section-5\">PC 游戏为何一开始就要编译着色器\u003C\u002Fh2>\n\u003Cp>着色器是一个小型 GPU 程序，用于渲染任务，例如光照、材质、阴影、后处理和其他图形工作。\u003C\u002Fp>\n\u003Cp>游戏通常以中间形式提供着色器代码。在 GPU 能够高效执行之前，图形驱动会将该代码编译为特定硬件的形式。\u003C\u002Fp>\n\u003Cp>在游戏主机上，目标硬件和驱动环境要可预测得多。在 Windows PC 上，游戏可能运行在许多 GPU 型号、驱动版本和系统配置上。\u003C\u002Fp>\n\u003Cp>这种硬件矩阵正是 PC 着色器编译更难完全提前准备的原因。\u003C\u002Fp>\n\u003Ch2 id=\"section-10\">着色器卡顿从何而来\u003C\u002Fh2>\n\u003Cp>如果游戏遇到尚未编译的着色器，驱动可能不得不在游戏运行时进行编译。\u003C\u002Fp>\n\u003Cp>这项工作可能会中断正常的帧管线。即使平均 FPS 很高，结果也可能出现短暂卡顿。\u003C\u002Fp>\n\u003Cp>一旦编译后的着色器被缓存，同样的卡顿可能不会再次发生，直到缓存失效或需要新的着色器组合。\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Ffigure.rocks\u002Fzh\u002Fblog\u002Fwhy-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained\" 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\">为什么 120 FPS 仍然感觉糟糕：帧时间、1% Low 和卡顿详解\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">为什么平均 FPS 看起来健康，但少数长帧会让游戏感觉不均匀。\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">阅读帧时间指南 →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Ch2 id=\"section-15\">正常的着色器编译路径\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\">包中包含驱动构建 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\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. 玩家启动游戏\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">系统缓存中尚未拥有所有编译后的着色器变体。\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. 驱动在本地编译着色器\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">编译发生在启动时、专用预编译屏幕期间，或游戏过程中即时进行。\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">4\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">4. 编译后的着色器被缓存\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">只要缓存仍然有效，未来的运行可以重用结果。\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\u003Ch2 id=\"section-17\">高级着色器交付改变了什么\u003C\u002Fh2>\n\u003Cp>高级着色器交付将昂贵的编译步骤移入分发管线。\u003C\u002Fp>\n\u003Cp>游戏以标准化方式描述其可能需要的着色器状态对象。微软将这一集合称为状态对象数据库，即 SODB。\u003C\u002Fp>\n\u003Cp>平台将该游戏数据与针对相关硬件和驱动环境的独立着色器编译器相结合，生成预编译着色器数据库，即 PSDB。\u003C\u002Fp>\n\u003Cp>随后，PSDB 可以通过商店与游戏一同分发。\u003C\u002Fp>\n\u003Ch2 id=\"section-22\">SODB → PSDB 流程\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. 游戏创建 SODB\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. SODB 随游戏提交\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">着色器状态数据库成为分发工作流的一部分。\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. 提前进行硬件特定编译\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">着色器编译器为受支持的 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. 生成 PSDB\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. 商店交付 PSDB\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. Windows 注册已编译的着色器\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>SODB = 游戏可能需要什么。\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>编译器 = 将其转换为硬件特定的 GPU 程序。\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>PSDB = 编译后的结果。\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>商店 = 在你游玩之前交付它。\u003C\u002Fstrong>\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-25\">为什么这在 PC 上比在主机上更难\u003C\u002Fh2>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">主机与 PC 着色器准备对比\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\">Windows PC\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-27\">为什么驱动更新可能很重要\u003C\u002Fh2>\n\u003Cp>已编译的着色器并非完全独立于图形驱动。\u003C\u002Fp>\n\u003Cp>驱动更新可能会更改编译器或使先前编译的缓存数据失效。\u003C\u002Fp>\n\u003Cp>微软的高级着色器交付架构旨在检测该环境变化并刷新预编译的着色器数据，而不是让玩家手动重建所有内容。\u003C\u002Fp>\n\u003Ch2 id=\"section-31\">这是否意味着着色器编译界面会消失？\u003C\u002Fh2>\n\u003Cp>其中许多可能会变得短得多或不再必要，但高级着色器交付并不保证所有与着色器相关的等待都会消失。\u003C\u002Fp>\n\u003Cp>SODB 的质量很重要。如果游戏未能描述后续需要的着色器组合，这些缺失的情况可能仍需要在本地处理。\u003C\u002Fp>\n\u003Cp>游戏更新也可能引入需要新的预编译数据的新着色器状态。\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">预编译并不意味着完整\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">高级着色器交付可以消除一大类运行时编译工作，但仅限于已正确捕获、编译和分发的着色器状态。\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-36\">着色器可用性边界\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\">由ASD覆盖\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">不在交付的数据库中\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">着色器状态\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">硬件目标\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">游戏版本\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">分发\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-38\">微软的90%和95%数字实际意味着什么\u003C\u002Fh2>\n\u003Cp>微软表示，在支持的场景中，高级着色器交付可以将与着色器相关的加载时间减少高达90%。\u003C\u002Fp>\n\u003Cp>对于《极限竞速：地平线6》，微软报告了一个具体的内部示例：在搭载Radeon RX 7600的Ryzen 7 5800系统上，加载时间从近1.5分钟降至约4秒，微软称这大约节省了95%的时间。\u003C\u002Fp>\n\u003Cp>这些数字不应被解释为对每款游戏、每个GPU或每个加载界面的普遍保证。\u003C\u002Fp>\n\u003Ch2 id=\"section-42\">着色器卡顿诊断测试\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">如何判断卡顿是否真的是着色器编译\u003C\u002Fh3>\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">1. 重复同一场景\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">如果卡顿只发生一次，并在第二次运行时消失，缓存预热是一个强有力的线索。\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. 清除或使着色器缓存失效后进行比较\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">卡顿再次出现可能表明是着色器编译，而不是永久性的性能瓶颈。\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. 检查帧时间峰值\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">着色器卡顿表现为个别帧时间过长，而不仅仅是稳定的平均FPS较低。\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. 检查游戏和驱动更新\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. 查看ASD状态\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">在支持的Xbox PC应用游戏中，启动窗口可以指示预编译的着色器已安装。\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-44\">着色器卡顿与资产流式传输卡顿不同\u003C\u002Fh2>\n\u003Cp>这两个问题在进入新区域时都可能造成卡顿，因此很容易混淆。\u003C\u002Fp>\n\u003Cp>着色器编译是关于创建可执行的GPU程序。资产流式传输是关于将纹理、几何体和其他内容移入可用内存。\u003C\u002Fp>\n\u003Cp>高级着色器交付针对的是第一个问题。DirectStorage针对的是第二条管线。\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Ffigure.rocks\u002Fzh\u002Fblog\u002Fdirectstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do\" 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\">DirectStorage 1.4不会让你的SSD解压游戏：Zstd和GPU解压实际做了什么\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">单独探讨资产加载路径：SSD读取、DirectStorage调度以及CPU\u002FGPU解压。\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">阅读DirectStorage指南 →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Ch2 id=\"section-49\">为什么商店平台很重要\u003C\u002Fh2>\n\u003Cp>高级着色器交付不仅仅是Direct3D API的功能。\u003C\u002Fp>\n\u003Cp>该系统依赖于一个分发服务，该服务知道哪个游戏版本、GPU环境和编译数据库是相互匹配的。\u003C\u002Fp>\n\u003Cp>这就是为什么微软当前的实现与Xbox PC应用分发绑定，而不是个人玩家可以全局简单开启的功能。\u003C\u002Fp>\n\u003Ch2 id=\"section-53\">为什么这不仅仅是另一个着色器缓存\u003C\u002Fh2>\n\u003Cp>普通的本地着色器缓存是在你自己的机器已经支付了编译成本之后才建立的。\u003C\u002Fp>\n\u003Cp>高级着色器交付试图在成本到达你的机器之前，交付那个有用的已编译状态。\u003C\u002Fp>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">本地着色器缓存 vs 高级着色器交付\u003C\u002Fh3>\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left dark:border-gray-700 dark:bg-gray-900\">\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">本地着色器缓存\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">高级着色器交付\u003C\u002Fth>\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\">JIT 着色器卡顿\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-57\">开发者实际需要做什么\u003C\u002Fh2>\n\u003Cp>游戏仍然必须暴露足够的信息，以便平台构建有用的数据库。\u003C\u002Fp>\n\u003Cp>微软当前的工作流程要求开发者收集或以编程方式生成 SODB，通过在本地编译 PSDB 进行测试，并通过商店管道提交 SODB。\u003C\u002Fp>\n\u003Cp>Agility SDK 1.619 还引入了应用程序标识和统计 API，以便开发者能够一致地识别游戏，并衡量 PSDB 的使用效果。\u003C\u002Fp>\n\u003Ch2 id=\"section-61\">目前哪些硬件可用？\u003C\u002Fh2>\n\u003Cp>微软 2026 年 6 月的更新列出了 Windows 11 版本 24H2 或更高版本、所需的 Xbox Gaming Services 版本、基于 RDNA 1 到 RDNA 4 的 AMD Radeon 硬件，以及 AMD Adrenalin 26.6.1 或更高版本，用于当前记录的 Xbox PC 应用路径。\u003C\u002Fp>\n\u003Cp>微软还表示正在与英特尔和其他硬件供应商合作，支持将扩展到更多设备。\u003C\u002Fp>\n\u003Cp>这意味着高级着色器交付应被视为一个不断扩展的平台功能，而不是当今每块 GPU 上通用的 Windows 能力。\u003C\u002Fp>\n\u003Ch2 id=\"section-65\">为什么这比另一个 FPS 功能更重要\u003C\u002Fh2>\n\u003Cp>放大和帧生成在游戏已经运行后改善渲染管线的输出。\u003C\u002Fp>\n\u003Cp>高级着色器交付解决的是另一个质量问题：在错误时刻准备 GPU 程序导致的帧时间尖峰。\u003C\u002Fp>\n\u003Cp>这就是为什么即使平均 FPS 完全没有变化，收益也可能可见。\u003C\u002Fp>\n\u003Ch2 id=\"section-69\">什么会改变这个答案？\u003C\u002Fh2>\n\u003Cp>最大的变动边界是生态系统支持。\u003C\u002Fp>\n\u003Cp>微软仍在将高级着色器交付扩展到 GPU、商店工作流程和游戏引擎集成中。因此，硬件要求和支持的发布路径可能会迅速变化。\u003C\u002Fp>\n\u003Cp>未来在主要 PC 商店中广泛集成的实现，可能会使预编译着色器交付对玩家来说比今天透明得多。\u003C\u002Fp>\n\u003Ch2 id=\"section-73\">局限性\u003C\u002Fh2>\n\u003Cp>本文介绍截至 2026 年 9 月微软已记录的高级着色器交付架构以及当前 Windows\u002FXbox PC 应用支持情况。\u003C\u002Fp>\n\u003Cp>微软报告的加载时间节省数据来自特定受支持场景下的厂商测量结果。不应将其视为通用的性能保证。\u003C\u002Fp>\n\u003Ch2 id=\"section-76\">结论\u003C\u002Fh2>\n\u003Cp>高级着色器交付用一个平台级方案解决了一个简单的问题。\u003C\u002Fp>\n\u003Cp>PC 游戏需要针对特定 GPU 编译的着色器。在玩家机器上构建这些着色器可能导致首次启动时间过长和即时卡顿。ASD 捕获游戏所需的内容，为目标环境提前编译，并通过商店平台交付结果。\u003C\u002Fp>\n\u003Cp>着色器仍然存在。编译仍然会发生。重要的变化是它发生在玩家需要之前。\u003C\u002Fp>\n\u003Ch2 id=\"section-80\">常见问题\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\">通俗易懂的高级着色器交付\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\">什么是高级着色器交付？\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">一项 Windows 11 Direct3D 12 技术，可提前预编译着色器并随游戏一起交付，而不是在玩家 PC 上编译所有内容。\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\">什么是 SODB？\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">状态对象数据库，描述游戏可能需要的着色器状态，以便在交付前进行编译。\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\">什么是 PSDB？\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">预编译着色器数据库，包含已针对目标硬件和驱动程序环境编译的着色器程序。\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq4\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">ASD 能消除所有着色器卡顿吗？\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">不能自动消除。缺失的着色器状态、不受支持的环境或新的游戏内容仍可能需要本地编译。\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\">ASD 与本地着色器缓存相同吗？\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">不同。本地缓存是在你的 PC 编译着色器后创建的。ASD 尝试在你运行游戏之前交付已编译的着色器数据。\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\">高级着色器交付能提高 FPS 吗？\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">其主要目的是加快着色器准备速度并减少与编译相关的帧时间尖峰，而不是提高稳态 FPS。\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-82\">术语表\u003C\u002Fh2>\n\u003Csection class=\"editorjs-glossary my-6 rounded-xl border border-gray-200 dark:border-gray-700 p-5\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">着色器交付关键术语\u003C\u002Fh3>\u003Cdl>\u003Cdiv id=\"shader\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">着色器\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">用于图形或计算工作（如光照、材质和后处理）的 GPU 程序。\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"shader-compilation\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">着色器编译\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">将着色器代码转换为驱动程序和硬件可运行的 GPU 特定可执行形式。\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"sodb\" 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\">SODB\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">状态对象数据库，包含从游戏收集或为游戏生成的着色器状态信息。\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"psdb\" 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\">PSDB\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">预编译着色器数据库，包含为目标环境提前编译的着色器数据。\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"jit-compilation\" 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\">JIT 编译\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">在启动或游戏过程中首次需要着色器时执行的即时编译。\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"shader-availability-boundary\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">着色器可用性边界\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Figure Rocks 模型，描述着色器何时可以从交付的预编译数据中提供，以及何时仍需要本地编译。\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"shader-stutter-diagnosis-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-84\">主要来源\u003C\u002Fh2>\n\u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fwin32\u002Fdirect3d12\u002Fadvanced-shader-delivery\" 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 Learn — 高级着色器交付\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">官方 Windows 文档，涵盖 SODB 到 PSDB 的工作流程、优势及当前平台模型。\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevblogs.microsoft.com\u002Fdirectx\u002Fintroducing-advanced-shader-delivery\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 — 引入高级着色器交付\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">官方架构说明，涵盖本地着色器编译、SODB、PSDB 和商店分发。\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevblogs.microsoft.com\u002Fdirectx\u002Fadvanced-shader-delivery-whats-new-at-gdc-2026\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 — GDC 2026 上的高级着色器交付\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">2026 年官方开发者更新，涵盖 SODB 集成、应用程序标识、统计信息和 Xbox 合作伙伴中心工作流程。\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevblogs.microsoft.com\u002Fdirectx\u002Fadvanced-shader-delivery-expands-public-preview-with-amd\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 — 高级着色器交付扩展至 AMD\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">2026 年官方可用性更新，涵盖 Windows 11、AMD RDNA 支持、Xbox PC 应用分发和《极限竞速：地平线 6》测量数据。\u003C\u002Fp>\u003C\u002Fa>",{"time":538,"blocks":539,"version":1200},1790406832027,[540,546,554,561,568,574,579,584,589,594,599,604,609,614,623,628,651,656,661,666,671,676,681,705,712,717,748,753,758,763,768,773,778,783,788,795,800,828,833,838,843,848,853,877,882,887,892,897,905,910,915,920,925,930,935,940,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,1158,1163,1173,1182,1191],{"id":541,"data":542,"type":544,"tunes":545},"3cee674645",{"text":543},"PC 着色器卡顿之所以存在，是因为游戏通常无法使用某个着色器，直到该着色器已针对运行游戏的精确 GPU 和驱动环境完成编译。Microsoft 高级着色器交付改变了编译发生的位置：无需等待玩家的 PC，工作可以提前完成，编译后的着色器数据可以随游戏一起到达。","paragraph",{},{"id":547,"data":548,"type":552,"tunes":553},"24a1733ca8",{"body":549,"title":550,"variant":551},"\u003Cstrong>高级着色器交付并不会让着色器消失。\u003C\u002Fstrong>它将大量编译工作从玩家的 PC 上移走。游戏提供着色器状态信息，平台构建特定硬件的预编译着色器数据库，商店将正确的编译数据交付给玩家。","直接回答","info","callout",{},{"id":555,"data":556,"type":552,"tunes":560},"48a3661d84",{"body":557,"title":558,"variant":559},"高级着色器交付可通过 Xbox PC 应用在受支持的 Windows 11 系统上使用，目前已有文档记录的 AMD RDNA 支持。Microsoft 表示更广泛的硬件支持仍在扩展中。","2026 年当前状态","note",{},{"id":562,"data":563,"type":566,"tunes":567},"2a609230a5",{"title":564,"maxLevel":565,"minLevel":47},"目录",3,"tableOfContents",{},{"id":569,"data":570,"type":572,"tunes":573},"629087889e",{"text":571,"level":47},"PC 游戏为何一开始就要编译着色器","header",{},{"id":575,"data":576,"type":544,"tunes":578},"598e794c99",{"text":577},"着色器是一个小型 GPU 程序，用于渲染任务，例如光照、材质、阴影、后处理和其他图形工作。",{},{"id":580,"data":581,"type":544,"tunes":583},"72d7b4a8a7",{"text":582},"游戏通常以中间形式提供着色器代码。在 GPU 能够高效执行之前，图形驱动会将该代码编译为特定硬件的形式。",{},{"id":585,"data":586,"type":544,"tunes":588},"dc6d594d0a",{"text":587},"在游戏主机上，目标硬件和驱动环境要可预测得多。在 Windows PC 上，游戏可能运行在许多 GPU 型号、驱动版本和系统配置上。",{},{"id":590,"data":591,"type":544,"tunes":593},"66bff5badb",{"text":592},"这种硬件矩阵正是 PC 着色器编译更难完全提前准备的原因。",{},{"id":595,"data":596,"type":572,"tunes":598},"9d6edb14c9",{"text":597,"level":47},"着色器卡顿从何而来",{},{"id":600,"data":601,"type":544,"tunes":603},"ed90f5091b",{"text":602},"如果游戏遇到尚未编译的着色器，驱动可能不得不在游戏运行时进行编译。",{},{"id":605,"data":606,"type":544,"tunes":608},"7551ab324d",{"text":607},"这项工作可能会中断正常的帧管线。即使平均 FPS 很高，结果也可能出现短暂卡顿。",{},{"id":610,"data":611,"type":544,"tunes":613},"a75fc2b3d4",{"text":612},"一旦编译后的着色器被缓存，同样的卡顿可能不会再次发生，直到缓存失效或需要新的着色器组合。",{},{"id":615,"data":616,"type":621,"tunes":622},"6aed79503f",{"url":617,"title":618,"excerpt":619,"ctaLabel":620},"https:\u002F\u002Ffigure.rocks\u002Fzh\u002Fblog\u002Fwhy-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained","为什么 120 FPS 仍然感觉糟糕：帧时间、1% Low 和卡顿详解","为什么平均 FPS 看起来健康，但少数长帧会让游戏感觉不均匀。","阅读帧时间指南","referralArticle",{},{"id":624,"data":625,"type":572,"tunes":627},"6417a8a29e",{"text":626,"level":47},"正常的着色器编译路径",{},{"id":629,"data":630,"type":649,"tunes":650},"a28d732096",{"steps":631,"title":647,"orientation":648},[632,635,638,641,644],{"label":633,"description":634},"1. 游戏提供着色器源代码或中间数据","包中包含驱动构建 GPU 特定程序所需的内容。",{"label":636,"description":637},"2. 玩家启动游戏","系统缓存中尚未拥有所有编译后的着色器变体。",{"label":639,"description":640},"3. 驱动在本地编译着色器","编译发生在启动时、专用预编译屏幕期间，或游戏过程中即时进行。",{"label":642,"description":643},"4. 编译后的着色器被缓存","只要缓存仍然有效，未来的运行可以重用结果。",{"label":645,"description":646},"5. 驱动或游戏更改可能使缓存失效","在相关更新后，系统可能需要重新编译。","没有高级着色器交付","auto","processFlow",{},{"id":652,"data":653,"type":572,"tunes":655},"873418b9cd",{"text":654,"level":47},"高级着色器交付改变了什么",{},{"id":657,"data":658,"type":544,"tunes":660},"2d58ee74cb",{"text":659},"高级着色器交付将昂贵的编译步骤移入分发管线。",{},{"id":662,"data":663,"type":544,"tunes":665},"265d255da5",{"text":664},"游戏以标准化方式描述其可能需要的着色器状态对象。微软将这一集合称为状态对象数据库，即 SODB。",{},{"id":667,"data":668,"type":544,"tunes":670},"816925a31d",{"text":669},"平台将该游戏数据与针对相关硬件和驱动环境的独立着色器编译器相结合，生成预编译着色器数据库，即 PSDB。",{},{"id":672,"data":673,"type":544,"tunes":675},"0f09842033",{"text":674},"随后，PSDB 可以通过商店与游戏一同分发。",{},{"id":677,"data":678,"type":572,"tunes":680},"9ce7e91c28",{"text":679,"level":47},"SODB → PSDB 流程",{},{"id":682,"data":683,"type":649,"tunes":704},"bba52a816e",{"steps":684,"title":703,"orientation":648},[685,688,691,694,697,700],{"label":686,"description":687},"1. 游戏创建 SODB","开发者收集描述游戏着色器所需的状态对象信息。",{"label":689,"description":690},"2. SODB 随游戏提交","着色器状态数据库成为分发工作流的一部分。",{"label":692,"description":693},"3. 提前进行硬件特定编译","着色器编译器为受支持的 GPU 和驱动环境生成正确的编译形式。",{"label":695,"description":696},"4. 生成 PSDB","预编译着色器数据库包含针对该目标环境的已编译着色器数据。",{"label":698,"description":699},"5. 商店交付 PSDB","已编译的着色器数据库随游戏下载或与游戏一同到达。",{"label":701,"description":702},"6. Windows 注册已编译的着色器","当游戏启动时，许多着色器已经存在，无需在本地编译。","高级着色器交付的工作原理",{},{"id":706,"data":707,"type":552,"tunes":711},"1fcbe512dc",{"body":708,"title":709,"variant":710},"\u003Cstrong>SODB = 游戏可能需要什么。\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>编译器 = 将其转换为硬件特定的 GPU 程序。\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>PSDB = 编译后的结果。\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>商店 = 在你游玩之前交付它。\u003C\u002Fstrong>","最简单的思维模型","success",{},{"id":713,"data":714,"type":572,"tunes":716},"ac158345e6",{"text":715,"level":47},"为什么这在 PC 上比在主机上更难",{},{"id":718,"data":719,"type":746,"tunes":747},"77f75d14dd",{"rows":720,"title":737,"layout":738,"columns":739},[721,725,729,733],{"id":722,"label":723,"values":724},"hardware","硬件目标",[13,13],{"id":726,"label":727,"values":728},"driver","驱动环境",[13,13],{"id":730,"label":731,"values":732},"compile","预编译",[13,13],{"id":734,"label":735,"values":736},"cache","缓存稳定性",[13,13],"主机与 PC 着色器准备对比","table",[740,743],{"id":741,"label":742},"console","主机",{"id":744,"label":745},"pc","Windows PC","comparison",{},{"id":749,"data":750,"type":572,"tunes":752},"284835a743",{"text":751,"level":47},"为什么驱动更新可能很重要",{},{"id":754,"data":755,"type":544,"tunes":757},"348a23401d",{"text":756},"已编译的着色器并非完全独立于图形驱动。",{},{"id":759,"data":760,"type":544,"tunes":762},"7c4efce81d",{"text":761},"驱动更新可能会更改编译器或使先前编译的缓存数据失效。",{},{"id":764,"data":765,"type":544,"tunes":767},"fb009b6277",{"text":766},"微软的高级着色器交付架构旨在检测该环境变化并刷新预编译的着色器数据，而不是让玩家手动重建所有内容。",{},{"id":769,"data":770,"type":572,"tunes":772},"428a0ec70d",{"text":771,"level":47},"这是否意味着着色器编译界面会消失？",{},{"id":774,"data":775,"type":544,"tunes":777},"4aa0142d15",{"text":776},"其中许多可能会变得短得多或不再必要，但高级着色器交付并不保证所有与着色器相关的等待都会消失。",{},{"id":779,"data":780,"type":544,"tunes":782},"90741fcfd5",{"text":781},"SODB 的质量很重要。如果游戏未能描述后续需要的着色器组合，这些缺失的情况可能仍需要在本地处理。",{},{"id":784,"data":785,"type":544,"tunes":787},"c5a2b190ed",{"text":786},"游戏更新也可能引入需要新的预编译数据的新着色器状态。",{},{"id":789,"data":790,"type":552,"tunes":794},"89507e115a",{"body":791,"title":792,"variant":793},"高级着色器交付可以消除一大类运行时编译工作，但仅限于已正确捕获、编译和分发的着色器状态。","预编译并不意味着完整","warning",{},{"id":796,"data":797,"type":572,"tunes":799},"8bbaf279d1",{"text":798,"level":47},"着色器可用性边界",{},{"id":801,"data":802,"type":746,"tunes":827},"931b012b46",{"rows":803,"title":819,"layout":738,"columns":820},[804,808,811,815],{"id":805,"label":806,"values":807},"state","着色器状态",[13,13],{"id":809,"label":723,"values":810},"target",[13,13],{"id":812,"label":813,"values":814},"version","游戏版本",[13,13],{"id":816,"label":817,"values":818},"delivery","分发",[13,13],"什么决定了游戏能否避免本地编译？",[821,824],{"id":822,"label":823},"covered","由ASD覆盖",{"id":825,"label":826},"missing","不在交付的数据库中",{},{"id":829,"data":830,"type":572,"tunes":832},"e941fa79d5",{"text":831,"level":47},"微软的90%和95%数字实际意味着什么",{},{"id":834,"data":835,"type":544,"tunes":837},"0118140982",{"text":836},"微软表示，在支持的场景中，高级着色器交付可以将与着色器相关的加载时间减少高达90%。",{},{"id":839,"data":840,"type":544,"tunes":842},"c3971ea047",{"text":841},"对于《极限竞速：地平线6》，微软报告了一个具体的内部示例：在搭载Radeon RX 7600的Ryzen 7 5800系统上，加载时间从近1.5分钟降至约4秒，微软称这大约节省了95%的时间。",{},{"id":844,"data":845,"type":544,"tunes":847},"7670e213a0",{"text":846},"这些数字不应被解释为对每款游戏、每个GPU或每个加载界面的普遍保证。",{},{"id":849,"data":850,"type":572,"tunes":852},"839c0e3988",{"text":851,"level":47},"着色器卡顿诊断测试",{},{"id":854,"data":855,"type":649,"tunes":876},"5aa5bd206c",{"steps":856,"title":875,"orientation":648},[857,860,863,866,869,872],{"label":858,"description":859},"1. 重复同一场景","如果卡顿只发生一次，并在第二次运行时消失，缓存预热是一个强有力的线索。",{"label":861,"description":862},"2. 清除或使着色器缓存失效后进行比较","卡顿再次出现可能表明是着色器编译，而不是永久性的性能瓶颈。",{"label":864,"description":865},"3. 检查帧时间峰值","着色器卡顿表现为个别帧时间过长，而不仅仅是稳定的平均FPS较低。",{"label":867,"description":868},"4. 将资产流式传输与着色器编译区分开","两者都可能在遍历时产生卡顿，但它们是不同的管线。",{"label":870,"description":871},"5. 检查游戏和驱动更新","新的更新可能会使着色器缓存失效或扩展着色器缓存。",{"label":873,"description":874},"6. 查看ASD状态","在支持的Xbox PC应用游戏中，启动窗口可以指示预编译的着色器已安装。","如何判断卡顿是否真的是着色器编译",{},{"id":878,"data":879,"type":572,"tunes":881},"f769a5fe57",{"text":880,"level":47},"着色器卡顿与资产流式传输卡顿不同",{},{"id":883,"data":884,"type":544,"tunes":886},"a97fc94605",{"text":885},"这两个问题在进入新区域时都可能造成卡顿，因此很容易混淆。",{},{"id":888,"data":889,"type":544,"tunes":891},"ad12701b27",{"text":890},"着色器编译是关于创建可执行的GPU程序。资产流式传输是关于将纹理、几何体和其他内容移入可用内存。",{},{"id":893,"data":894,"type":544,"tunes":896},"b94a2dd59f",{"text":895},"高级着色器交付针对的是第一个问题。DirectStorage针对的是第二条管线。",{},{"id":898,"data":899,"type":621,"tunes":904},"a9dfa4c70c",{"url":900,"title":901,"excerpt":902,"ctaLabel":903},"https:\u002F\u002Ffigure.rocks\u002Fzh\u002Fblog\u002Fdirectstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do","DirectStorage 1.4不会让你的SSD解压游戏：Zstd和GPU解压实际做了什么","单独探讨资产加载路径：SSD读取、DirectStorage调度以及CPU\u002FGPU解压。","阅读DirectStorage指南",{},{"id":906,"data":907,"type":572,"tunes":909},"4dd6f52499",{"text":908,"level":47},"为什么商店平台很重要",{},{"id":911,"data":912,"type":544,"tunes":914},"ce08ac7263",{"text":913},"高级着色器交付不仅仅是Direct3D API的功能。",{},{"id":916,"data":917,"type":544,"tunes":919},"a0ab668bcb",{"text":918},"该系统依赖于一个分发服务，该服务知道哪个游戏版本、GPU环境和编译数据库是相互匹配的。",{},{"id":921,"data":922,"type":544,"tunes":924},"4eb480c656",{"text":923},"这就是为什么微软当前的实现与Xbox PC应用分发绑定，而不是个人玩家可以全局简单开启的功能。",{},{"id":926,"data":927,"type":572,"tunes":929},"b8693ba872",{"text":928,"level":47},"为什么这不仅仅是另一个着色器缓存",{},{"id":931,"data":932,"type":544,"tunes":934},"4af48bdc6c",{"text":933},"普通的本地着色器缓存是在你自己的机器已经支付了编译成本之后才建立的。",{},{"id":936,"data":937,"type":544,"tunes":939},"8c45dac918",{"text":938},"高级着色器交付试图在成本到达你的机器之前，交付那个有用的已编译状态。",{},{"id":941,"data":942,"type":746,"tunes":968},"693e6f7d83",{"rows":943,"title":960,"layout":738,"columns":961},[944,948,952,956],{"id":945,"label":946,"values":947},"when","编译发生的时间",[13,13],{"id":949,"label":950,"values":951},"cost","谁承担初始编译成本",[13,13],{"id":953,"label":954,"values":955},"first-run","首次运行行为",[13,13],{"id":957,"label":958,"values":959},"stutter","JIT 着色器卡顿",[13,13],"本地着色器缓存 vs 高级着色器交付",[962,965],{"id":963,"label":964},"local","本地着色器缓存",{"id":966,"label":967},"asd","高级着色器交付",{},{"id":970,"data":971,"type":572,"tunes":973},"76cff75952",{"text":972,"level":47},"开发者实际需要做什么",{},{"id":975,"data":976,"type":544,"tunes":978},"bfaa3db2d6",{"text":977},"游戏仍然必须暴露足够的信息，以便平台构建有用的数据库。",{},{"id":980,"data":981,"type":544,"tunes":983},"ed2d5b8b93",{"text":982},"微软当前的工作流程要求开发者收集或以编程方式生成 SODB，通过在本地编译 PSDB 进行测试，并通过商店管道提交 SODB。",{},{"id":985,"data":986,"type":544,"tunes":988},"186600f899",{"text":987},"Agility SDK 1.619 还引入了应用程序标识和统计 API，以便开发者能够一致地识别游戏，并衡量 PSDB 的使用效果。",{},{"id":990,"data":991,"type":572,"tunes":993},"da7b0ce8b5",{"text":992,"level":47},"目前哪些硬件可用？",{},{"id":995,"data":996,"type":544,"tunes":998},"e2e43ce998",{"text":997},"微软 2026 年 6 月的更新列出了 Windows 11 版本 24H2 或更高版本、所需的 Xbox Gaming Services 版本、基于 RDNA 1 到 RDNA 4 的 AMD Radeon 硬件，以及 AMD Adrenalin 26.6.1 或更高版本，用于当前记录的 Xbox PC 应用路径。",{},{"id":1000,"data":1001,"type":544,"tunes":1003},"7c82f021e1",{"text":1002},"微软还表示正在与英特尔和其他硬件供应商合作，支持将扩展到更多设备。",{},{"id":1005,"data":1006,"type":544,"tunes":1008},"9e9a02e41c",{"text":1007},"这意味着高级着色器交付应被视为一个不断扩展的平台功能，而不是当今每块 GPU 上通用的 Windows 能力。",{},{"id":1010,"data":1011,"type":572,"tunes":1013},"bd182f72b0",{"text":1012,"level":47},"为什么这比另一个 FPS 功能更重要",{},{"id":1015,"data":1016,"type":544,"tunes":1018},"9decb9c1b9",{"text":1017},"放大和帧生成在游戏已经运行后改善渲染管线的输出。",{},{"id":1020,"data":1021,"type":544,"tunes":1023},"64eec31a18",{"text":1022},"高级着色器交付解决的是另一个质量问题：在错误时刻准备 GPU 程序导致的帧时间尖峰。",{},{"id":1025,"data":1026,"type":544,"tunes":1028},"a6a0db382e",{"text":1027},"这就是为什么即使平均 FPS 完全没有变化，收益也可能可见。",{},{"id":1030,"data":1031,"type":572,"tunes":1033},"09bde21a8d",{"text":1032,"level":47},"什么会改变这个答案？",{},{"id":1035,"data":1036,"type":544,"tunes":1038},"b0e7ca01a4",{"text":1037},"最大的变动边界是生态系统支持。",{},{"id":1040,"data":1041,"type":544,"tunes":1043},"537568c224",{"text":1042},"微软仍在将高级着色器交付扩展到 GPU、商店工作流程和游戏引擎集成中。因此，硬件要求和支持的发布路径可能会迅速变化。",{},{"id":1045,"data":1046,"type":544,"tunes":1048},"fe24516c11",{"text":1047},"未来在主要 PC 商店中广泛集成的实现，可能会使预编译着色器交付对玩家来说比今天透明得多。",{},{"id":1050,"data":1051,"type":572,"tunes":1053},"0e31e2d54d",{"text":1052,"level":47},"局限性",{},{"id":1055,"data":1056,"type":544,"tunes":1058},"a7881e11e1",{"text":1057},"本文介绍截至 2026 年 9 月微软已记录的高级着色器交付架构以及当前 Windows\u002FXbox PC 应用支持情况。",{},{"id":1060,"data":1061,"type":544,"tunes":1063},"71ebc16fda",{"text":1062},"微软报告的加载时间节省数据来自特定受支持场景下的厂商测量结果。不应将其视为通用的性能保证。",{},{"id":1065,"data":1066,"type":572,"tunes":1068},"f7a38af5be",{"text":1067,"level":47},"结论",{},{"id":1070,"data":1071,"type":544,"tunes":1073},"f1308f3e80",{"text":1072},"高级着色器交付用一个平台级方案解决了一个简单的问题。",{},{"id":1075,"data":1076,"type":544,"tunes":1078},"b102a861bb",{"text":1077},"PC 游戏需要针对特定 GPU 编译的着色器。在玩家机器上构建这些着色器可能导致首次启动时间过长和即时卡顿。ASD 捕获游戏所需的内容，为目标环境提前编译，并通过商店平台交付结果。",{},{"id":1080,"data":1081,"type":544,"tunes":1083},"da805fabf0",{"text":1082},"着色器仍然存在。编译仍然会发生。重要的变化是它发生在玩家需要之前。",{},{"id":1085,"data":1086,"type":572,"tunes":1088},"0354b8daaf",{"text":1087,"level":47},"常见问题",{},{"id":1090,"data":1091,"type":1118,"tunes":1119},"e75bc04532",{"items":1092,"title":1117},[1093,1097,1101,1105,1109,1113],{"id":1094,"answer":1095,"question":1096},"faq1","一项 Windows 11 Direct3D 12 技术，可提前预编译着色器并随游戏一起交付，而不是在玩家 PC 上编译所有内容。","什么是高级着色器交付？",{"id":1098,"answer":1099,"question":1100},"faq2","状态对象数据库，描述游戏可能需要的着色器状态，以便在交付前进行编译。","什么是 SODB？",{"id":1102,"answer":1103,"question":1104},"faq3","预编译着色器数据库，包含已针对目标硬件和驱动程序环境编译的着色器程序。","什么是 PSDB？",{"id":1106,"answer":1107,"question":1108},"faq4","不能自动消除。缺失的着色器状态、不受支持的环境或新的游戏内容仍可能需要本地编译。","ASD 能消除所有着色器卡顿吗？",{"id":1110,"answer":1111,"question":1112},"faq5","不同。本地缓存是在你的 PC 编译着色器后创建的。ASD 尝试在你运行游戏之前交付已编译的着色器数据。","ASD 与本地着色器缓存相同吗？",{"id":1114,"answer":1115,"question":1116},"faq6","其主要目的是加快着色器准备速度并减少与编译相关的帧时间尖峰，而不是提高稳态 FPS。","高级着色器交付能提高 FPS 吗？","通俗易懂的高级着色器交付","faq",{},{"id":1121,"data":1122,"type":572,"tunes":1124},"8733f298cd",{"text":1123,"level":47},"术语表",{},{"id":1126,"data":1127,"type":1156,"tunes":1157},"407257a6d1",{"title":1128,"entries":1129},"着色器交付关键术语",[1130,1134,1138,1142,1146,1150,1153],{"term":1131,"anchor":1132,"definition":1133},"着色器","shader","用于图形或计算工作（如光照、材质和后处理）的 GPU 程序。",{"term":1135,"anchor":1136,"definition":1137},"着色器编译","shader-compilation","将着色器代码转换为驱动程序和硬件可运行的 GPU 特定可执行形式。",{"term":1139,"anchor":1140,"definition":1141},"SODB","sodb","状态对象数据库，包含从游戏收集或为游戏生成的着色器状态信息。",{"term":1143,"anchor":1144,"definition":1145},"PSDB","psdb","预编译着色器数据库，包含为目标环境提前编译的着色器数据。",{"term":1147,"anchor":1148,"definition":1149},"JIT 编译","jit-compilation","在启动或游戏过程中首次需要着色器时执行的即时编译。",{"term":798,"anchor":1151,"definition":1152},"shader-availability-boundary","Figure Rocks 模型，描述着色器何时可以从交付的预编译数据中提供，以及何时仍需要本地编译。",{"term":851,"anchor":1154,"definition":1155},"shader-stutter-diagnosis-test","Figure Rocks 工作流程，用于将着色器编译引起的卡顿与其他帧时间尖峰原因区分开来。","glossary",{},{"id":1159,"data":1160,"type":572,"tunes":1162},"3ab856f2b4",{"text":1161,"level":47},"主要来源",{},{"id":1164,"data":1165,"type":1171,"tunes":1172},"367d2e3548",{"link":1166,"meta":1167},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fwin32\u002Fdirect3d12\u002Fadvanced-shader-delivery",{"image":1168,"title":1169,"description":1170},{"url":13},"Microsoft Learn — 高级着色器交付","官方 Windows 文档，涵盖 SODB 到 PSDB 的工作流程、优势及当前平台模型。","linkTool",{},{"id":1174,"data":1175,"type":1171,"tunes":1181},"5641b514c0",{"link":1176,"meta":1177},"https:\u002F\u002Fdevblogs.microsoft.com\u002Fdirectx\u002Fintroducing-advanced-shader-delivery\u002F",{"image":1178,"title":1179,"description":1180},{"url":13},"Microsoft DirectX — 引入高级着色器交付","官方架构说明，涵盖本地着色器编译、SODB、PSDB 和商店分发。",{},{"id":1183,"data":1184,"type":1171,"tunes":1190},"22a5b77a1b",{"link":1185,"meta":1186},"https:\u002F\u002Fdevblogs.microsoft.com\u002Fdirectx\u002Fadvanced-shader-delivery-whats-new-at-gdc-2026\u002F",{"image":1187,"title":1188,"description":1189},{"url":13},"Microsoft DirectX — GDC 2026 上的高级着色器交付","2026 年官方开发者更新，涵盖 SODB 集成、应用程序标识、统计信息和 Xbox 合作伙伴中心工作流程。",{},{"id":1192,"data":1193,"type":1171,"tunes":1199},"cc3301d997",{"link":1194,"meta":1195},"https:\u002F\u002Fdevblogs.microsoft.com\u002Fdirectx\u002Fadvanced-shader-delivery-expands-public-preview-with-amd\u002F",{"image":1196,"title":1197,"description":1198},{"url":13},"Microsoft DirectX — 高级着色器交付扩展至 AMD","2026 年官方可用性更新，涵盖 Windows 11、AMD RDNA 支持、Xbox PC 应用分发和《极限竞速：地平线 6》测量数据。",{},"2.31","着色器卡顿发生在 PC 游戏不得不在错误时机编译 GPU 程序的时候。Microsoft 高级着色器交付通过提前准备硬件专用着色器并随游戏一起交付，将大部分工作从玩家 PC 上移走。","\u002Fuploads\u002F2026\u002F09\u002Fwhy-pc-games-stutter-when-compiling-shaders-and-how-advanced-shader-delivery-changes-it-1790406602956-ewtgf3.webp","why-pc-games-stutter-when-compiling-shaders-and-how-advanced-shader-delivery-changes-it-1790406602956-ewtgf3",false,"PUBLISHED","2026-09-26T01:08:00.000Z","2026-09-26T07:08:09.269Z","2026-09-26T07:43:04.346Z",{"en":1210,"de":1211,"sr":1212,"es":1213,"fr":1214,"it":1215,"ru":1216,"zh":1217},"\u002Fblog\u002Fwhy-pc-games-stutter-when-compiling-shaders-and-how-advanced-shader-delivery-changes-it","\u002Fde\u002Fblog\u002Fwhy-pc-games-stutter-when-compiling-shaders-and-how-advanced-shader-delivery-changes-it","\u002Fsr\u002Fblog\u002Fwhy-pc-games-stutter-when-compiling-shaders-and-how-advanced-shader-delivery-changes-it","\u002Fes\u002Fblog\u002Fwhy-pc-games-stutter-when-compiling-shaders-and-how-advanced-shader-delivery-changes-it","\u002Ffr\u002Fblog\u002Fwhy-pc-games-stutter-when-compiling-shaders-and-how-advanced-shader-delivery-changes-it","\u002Fit\u002Fblog\u002Fwhy-pc-games-stutter-when-compiling-shaders-and-how-advanced-shader-delivery-changes-it","\u002Fru\u002Fblog\u002Fwhy-pc-games-stutter-when-compiling-shaders-and-how-advanced-shader-delivery-changes-it","\u002Fzh\u002Fblog\u002Fwhy-pc-games-stutter-when-compiling-shaders-and-how-advanced-shader-delivery-changes-it",[1219,1223,1225,1229,1233,1237],{"id":1220,"name":1221,"slug":1222},62,"着色器卡顿","shader-stutter",{"id":1224,"name":1135,"slug":1136},236,{"id":1226,"name":1227,"slug":1228},328,"识别卡顿类型","identify-stutter-type",{"id":1230,"name":1231,"slug":1232},253,"刷新率与清晰度","refresh-and-clarity",{"id":1234,"name":1235,"slug":1236},251,"模糊与余辉","blur-and-persistence",{"id":1238,"name":1239,"slug":1240},137,"关键设置","settings-that-matter",{"id":283,"login":1242,"email":1243,"displayName":1244},"aleksandar","aleksandar@stajic.de","Aleksandar Stajic",[1246,1773],{"lang":8,"title":1247,"content":1248,"contentJson":1249,"excerpt":1772},"Why PC Games Stutter When Compiling Shaders — and How Advanced Shader Delivery Changes It","{\"time\":1790406603890,\"blocks\":[{\"id\":\"3cee674645\",\"type\":\"paragraph\",\"data\":{\"text\":\"PC shader stutter exists because a game often cannot use a shader until that shader has been compiled for the exact GPU and driver environment running the game. Microsoft Advanced Shader Delivery changes where that compilation happens: instead of waiting for the player's PC, the work can be done ahead of time and the compiled shader data can arrive with the game.\"},\"tunes\":{}},{\"id\":\"24a1733ca8\",\"type\":\"callout\",\"data\":{\"variant\":\"info\",\"title\":\"Direct answer\",\"body\":\"\u003Cstrong>Advanced Shader Delivery does not make shaders disappear.\u003C\u002Fstrong> It moves much of the compilation work away from the player's PC. A game supplies shader state information, the platform builds hardware-specific precompiled shader databases, and the storefront delivers the right compiled data to the player.\"},\"tunes\":{}},{\"id\":\"48a3661d84\",\"type\":\"callout\",\"data\":{\"variant\":\"note\",\"title\":\"Current status in 2026\",\"body\":\"Advanced Shader Delivery is available through the Xbox PC app for supported Windows 11 systems and currently has documented AMD RDNA support. Microsoft says broader hardware support is still expanding.\"},\"tunes\":{}},{\"id\":\"2a609230a5\",\"type\":\"tableOfContents\",\"data\":{\"title\":\"Contents\",\"minLevel\":2,\"maxLevel\":3},\"tunes\":{}},{\"id\":\"629087889e\",\"type\":\"header\",\"data\":{\"text\":\"Why PC games compile shaders in the first place\",\"level\":2},\"tunes\":{}},{\"id\":\"598e794c99\",\"type\":\"paragraph\",\"data\":{\"text\":\"A shader is a small GPU program used for rendering tasks such as lighting, materials, shadows, post-processing and other graphics work.\"},\"tunes\":{}},{\"id\":\"72d7b4a8a7\",\"type\":\"paragraph\",\"data\":{\"text\":\"The game usually ships shader code in an intermediate form. Before the GPU can execute it efficiently, the graphics driver compiles that code into a hardware-specific form.\"},\"tunes\":{}},{\"id\":\"dc6d594d0a\",\"type\":\"paragraph\",\"data\":{\"text\":\"On a console, the target hardware and driver environment are much more predictable. On a Windows PC, the game may run on many GPU models, driver versions and system configurations.\"},\"tunes\":{}},{\"id\":\"66bff5badb\",\"type\":\"paragraph\",\"data\":{\"text\":\"That hardware matrix is the reason PC shader compilation is harder to prepare completely in advance.\"},\"tunes\":{}},{\"id\":\"9d6edb14c9\",\"type\":\"header\",\"data\":{\"text\":\"Where shader stutter comes from\",\"level\":2},\"tunes\":{}},{\"id\":\"ed90f5091b\",\"type\":\"paragraph\",\"data\":{\"text\":\"If the game encounters a shader that is not already compiled, the driver may have to compile it while the game is running.\"},\"tunes\":{}},{\"id\":\"7551ab324d\",\"type\":\"paragraph\",\"data\":{\"text\":\"That work can interrupt the normal frame pipeline. The result can be a short hitch even when average FPS is high.\"},\"tunes\":{}},{\"id\":\"a75fc2b3d4\",\"type\":\"paragraph\",\"data\":{\"text\":\"Once the compiled shader has been cached, the same hitch may not happen again until the cache is invalidated or new shader combinations are needed.\"},\"tunes\":{}},{\"id\":\"6aed79503f\",\"type\":\"referralArticle\",\"data\":{\"url\":\"https:\u002F\u002Ffigure.rocks\u002Fblog\u002Fwhy-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained\",\"title\":\"Why 120 FPS Can Still Feel Bad: Frame Time, 1% Lows and Stutter Explained\",\"excerpt\":\"Why average FPS can look healthy while a few long frames make the game feel uneven.\",\"ctaLabel\":\"Read the frame-time guide\"},\"tunes\":{}},{\"id\":\"6417a8a29e\",\"type\":\"header\",\"data\":{\"text\":\"The normal shader-compilation path\",\"level\":2},\"tunes\":{}},{\"id\":\"a28d732096\",\"type\":\"processFlow\",\"data\":{\"title\":\"Without Advanced Shader Delivery\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Game ships shader source or intermediate data\",\"description\":\"The package contains what the driver needs to build GPU-specific programs.\"},{\"label\":\"2. Player launches the game\",\"description\":\"The system does not yet have every compiled shader variant in cache.\"},{\"label\":\"3. Driver compiles shaders locally\",\"description\":\"Compilation happens at startup, during a dedicated precompilation screen, or just in time during gameplay.\"},{\"label\":\"4. Compiled shaders are cached\",\"description\":\"Future runs can reuse the results while the cache remains valid.\"},{\"label\":\"5. Driver or game changes can invalidate the cache\",\"description\":\"The system may need to compile again after relevant updates.\"}]},\"tunes\":{}},{\"id\":\"873418b9cd\",\"type\":\"header\",\"data\":{\"text\":\"What Advanced Shader Delivery changes\",\"level\":2},\"tunes\":{}},{\"id\":\"2d58ee74cb\",\"type\":\"paragraph\",\"data\":{\"text\":\"Advanced Shader Delivery moves the expensive compilation step into a distribution pipeline.\"},\"tunes\":{}},{\"id\":\"265d255da5\",\"type\":\"paragraph\",\"data\":{\"text\":\"The game provides a standardized description of the shader state objects it can need. Microsoft calls that collection a State Object Database, or SODB.\"},\"tunes\":{}},{\"id\":\"816925a31d\",\"type\":\"paragraph\",\"data\":{\"text\":\"The platform combines that game data with a separated shader compiler for the relevant hardware and driver environment to produce a Precompiled Shader Database, or PSDB.\"},\"tunes\":{}},{\"id\":\"0f09842033\",\"type\":\"paragraph\",\"data\":{\"text\":\"The PSDB can then be distributed through the storefront alongside the game.\"},\"tunes\":{}},{\"id\":\"9ce7e91c28\",\"type\":\"header\",\"data\":{\"text\":\"The SODB → PSDB pipeline\",\"level\":2},\"tunes\":{}},{\"id\":\"bba52a816e\",\"type\":\"processFlow\",\"data\":{\"title\":\"How Advanced Shader Delivery works\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Game creates an SODB\",\"description\":\"The developer collects the state-object information needed to describe the game's shaders.\"},{\"label\":\"2. SODB is submitted with the game\",\"description\":\"The shader-state database becomes part of the distribution workflow.\"},{\"label\":\"3. Hardware-specific compilation happens ahead of time\",\"description\":\"The shader compiler produces the correct compiled form for a supported GPU and driver environment.\"},{\"label\":\"4. A PSDB is produced\",\"description\":\"The Precompiled Shader Database contains compiled shader data for that target environment.\"},{\"label\":\"5. Storefront delivers the PSDB\",\"description\":\"The compiled shader database arrives with or alongside the game download.\"},{\"label\":\"6. Windows registers the compiled shaders\",\"description\":\"When the game starts, many shaders can already be present instead of being compiled locally.\"}]},\"tunes\":{}},{\"id\":\"1fcbe512dc\",\"type\":\"callout\",\"data\":{\"variant\":\"success\",\"title\":\"The simplest mental model\",\"body\":\"\u003Cstrong>SODB = what the game may need.\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>Compiler = turns it into hardware-specific GPU programs.\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>PSDB = the compiled result.\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>Storefront = delivers it before you play.\u003C\u002Fstrong>\"},\"tunes\":{}},{\"id\":\"ac158345e6\",\"type\":\"header\",\"data\":{\"text\":\"Why this is harder on PC than on console\",\"level\":2},\"tunes\":{}},{\"id\":\"77f75d14dd\",\"type\":\"comparison\",\"data\":{\"title\":\"Console vs PC shader preparation\",\"layout\":\"table\",\"columns\":[{\"id\":\"console\",\"label\":\"Console\"},{\"id\":\"pc\",\"label\":\"Windows PC\"}],\"rows\":[{\"id\":\"hardware\",\"label\":\"Hardware target\",\"values\":[\"\",\"\"]},{\"id\":\"driver\",\"label\":\"Driver environment\",\"values\":[\"\",\"\"]},{\"id\":\"compile\",\"label\":\"Precompilation\",\"values\":[\"\",\"\"]},{\"id\":\"cache\",\"label\":\"Cache stability\",\"values\":[\"\",\"\"]}]},\"tunes\":{}},{\"id\":\"284835a743\",\"type\":\"header\",\"data\":{\"text\":\"Why a driver update can matter\",\"level\":2},\"tunes\":{}},{\"id\":\"348a23401d\",\"type\":\"paragraph\",\"data\":{\"text\":\"Compiled shaders are not completely independent of the graphics driver.\"},\"tunes\":{}},{\"id\":\"7c4efce81d\",\"type\":\"paragraph\",\"data\":{\"text\":\"A driver update can change the compiler or invalidate previously compiled cache data.\"},\"tunes\":{}},{\"id\":\"fb009b6277\",\"type\":\"paragraph\",\"data\":{\"text\":\"Microsoft's Advanced Shader Delivery architecture is designed to detect that environment change and refresh the precompiled shader data instead of leaving the player to rebuild everything manually.\"},\"tunes\":{}},{\"id\":\"428a0ec70d\",\"type\":\"header\",\"data\":{\"text\":\"Does this mean shader compilation screens disappear?\",\"level\":2},\"tunes\":{}},{\"id\":\"4aa0142d15\",\"type\":\"paragraph\",\"data\":{\"text\":\"Potentially many of them can become much shorter or unnecessary, but Advanced Shader Delivery does not guarantee that every shader-related wait disappears.\"},\"tunes\":{}},{\"id\":\"90741fcfd5\",\"type\":\"paragraph\",\"data\":{\"text\":\"The quality of the SODB matters. If the game fails to describe shader combinations that are later needed, those missing cases may still require local work.\"},\"tunes\":{}},{\"id\":\"c5a2b190ed\",\"type\":\"paragraph\",\"data\":{\"text\":\"Game updates can also introduce new shader states that need new precompiled data.\"},\"tunes\":{}},{\"id\":\"89507e115a\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"Precompiled does not mean complete\",\"body\":\"Advanced Shader Delivery can remove a large class of runtime compilation work, but only for shader states that have been captured, compiled and distributed correctly.\"},\"tunes\":{}},{\"id\":\"8bbaf279d1\",\"type\":\"header\",\"data\":{\"text\":\"The Shader Availability Boundary\",\"level\":2},\"tunes\":{}},{\"id\":\"931b012b46\",\"type\":\"comparison\",\"data\":{\"title\":\"What decides whether the game can avoid local compilation?\",\"layout\":\"table\",\"columns\":[{\"id\":\"covered\",\"label\":\"Covered by ASD\"},{\"id\":\"missing\",\"label\":\"Outside the delivered database\"}],\"rows\":[{\"id\":\"state\",\"label\":\"Shader state\",\"values\":[\"\",\"\"]},{\"id\":\"target\",\"label\":\"Hardware target\",\"values\":[\"\",\"\"]},{\"id\":\"version\",\"label\":\"Game version\",\"values\":[\"\",\"\"]},{\"id\":\"delivery\",\"label\":\"Distribution\",\"values\":[\"\",\"\"]}]},\"tunes\":{}},{\"id\":\"e941fa79d5\",\"type\":\"header\",\"data\":{\"text\":\"What Microsoft's 90% and 95% numbers actually mean\",\"level\":2},\"tunes\":{}},{\"id\":\"0118140982\",\"type\":\"paragraph\",\"data\":{\"text\":\"Microsoft says Advanced Shader Delivery can reduce shader-related loading time by up to 90% in supported scenarios.\"},\"tunes\":{}},{\"id\":\"c3971ea047\",\"type\":\"paragraph\",\"data\":{\"text\":\"For Forza Horizon 6, Microsoft reported a specific internal example where loading dropped from almost 1.5 minutes to about 4 seconds on a Ryzen 7 5800 system with a Radeon RX 7600, which it described as roughly a 95% time saving.\"},\"tunes\":{}},{\"id\":\"7670e213a0\",\"type\":\"paragraph\",\"data\":{\"text\":\"Those figures should not be interpreted as a universal guarantee for every game, GPU or loading screen.\"},\"tunes\":{}},{\"id\":\"839c0e3988\",\"type\":\"header\",\"data\":{\"text\":\"The Shader-Stutter Diagnosis Test\",\"level\":2},\"tunes\":{}},{\"id\":\"5aa5bd206c\",\"type\":\"processFlow\",\"data\":{\"title\":\"How to tell whether a hitch is really shader compilation\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Repeat the same scene\",\"description\":\"If the hitch happens once and disappears on the second run, cache warm-up is a strong clue.\"},{\"label\":\"2. Compare after clearing or invalidating shader cache\",\"description\":\"A returning hitch can indicate shader compilation rather than a permanent performance bottleneck.\"},{\"label\":\"3. Check frame-time spikes\",\"description\":\"Shader stutter appears as long individual frames, not merely a lower stable average FPS.\"},{\"label\":\"4. Separate asset streaming from shader compilation\",\"description\":\"Both can produce traversal stutter, but they are different pipelines.\"},{\"label\":\"5. Check game and driver updates\",\"description\":\"A new update can invalidate or expand shader caches.\"},{\"label\":\"6. Look for ASD status\",\"description\":\"In supported Xbox PC app titles, the launch window can indicate that precompiled shaders were installed.\"}]},\"tunes\":{}},{\"id\":\"f769a5fe57\",\"type\":\"header\",\"data\":{\"text\":\"Shader stutter is not the same as asset-streaming stutter\",\"level\":2},\"tunes\":{}},{\"id\":\"a97fc94605\",\"type\":\"paragraph\",\"data\":{\"text\":\"Both problems can create a hitch when entering a new area, which makes them easy to confuse.\"},\"tunes\":{}},{\"id\":\"ad12701b27\",\"type\":\"paragraph\",\"data\":{\"text\":\"Shader compilation is about creating executable GPU programs. Asset streaming is about moving textures, geometry and other content into usable memory.\"},\"tunes\":{}},{\"id\":\"b94a2dd59f\",\"type\":\"paragraph\",\"data\":{\"text\":\"Advanced Shader Delivery targets the first problem. DirectStorage targets the second pipeline.\"},\"tunes\":{}},{\"id\":\"a9dfa4c70c\",\"type\":\"referralArticle\",\"data\":{\"url\":\"https:\u002F\u002Ffigure.rocks\u002Fblog\u002Fdirectstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do\",\"title\":\"DirectStorage 1.4 Does Not Make Your SSD Decompress Games: What Zstd and GPU Decompression Actually Do\",\"excerpt\":\"A separate look at the asset-loading path: SSD reads, DirectStorage scheduling and CPU\u002FGPU decompression.\",\"ctaLabel\":\"Read the DirectStorage guide\"},\"tunes\":{}},{\"id\":\"4dd6f52499\",\"type\":\"header\",\"data\":{\"text\":\"Why the storefront matters\",\"level\":2},\"tunes\":{}},{\"id\":\"ce08ac7263\",\"type\":\"paragraph\",\"data\":{\"text\":\"Advanced Shader Delivery is not only a Direct3D API feature.\"},\"tunes\":{}},{\"id\":\"a0ab668bcb\",\"type\":\"paragraph\",\"data\":{\"text\":\"The system depends on a distribution service that knows which game version, GPU environment and compiled database belong together.\"},\"tunes\":{}},{\"id\":\"4eb480c656\",\"type\":\"paragraph\",\"data\":{\"text\":\"That is why Microsoft's current implementation is tied to Xbox PC app distribution rather than being something an individual player simply switches on globally.\"},\"tunes\":{}},{\"id\":\"b8693ba872\",\"type\":\"header\",\"data\":{\"text\":\"Why this is not just another shader cache\",\"level\":2},\"tunes\":{}},{\"id\":\"4af48bdc6c\",\"type\":\"paragraph\",\"data\":{\"text\":\"A normal local shader cache is built after your own machine has already paid the compilation cost.\"},\"tunes\":{}},{\"id\":\"8c45dac918\",\"type\":\"paragraph\",\"data\":{\"text\":\"Advanced Shader Delivery attempts to deliver that useful compiled state before the cost reaches your machine.\"},\"tunes\":{}},{\"id\":\"693e6f7d83\",\"type\":\"comparison\",\"data\":{\"title\":\"Local shader cache vs Advanced Shader Delivery\",\"layout\":\"table\",\"columns\":[{\"id\":\"local\",\"label\":\"Local shader cache\"},{\"id\":\"asd\",\"label\":\"Advanced Shader Delivery\"}],\"rows\":[{\"id\":\"when\",\"label\":\"When compilation happens\",\"values\":[\"\",\"\"]},{\"id\":\"cost\",\"label\":\"Who pays the initial compile cost\",\"values\":[\"\",\"\"]},{\"id\":\"first-run\",\"label\":\"First-run behavior\",\"values\":[\"\",\"\"]},{\"id\":\"stutter\",\"label\":\"JIT shader stutter\",\"values\":[\"\",\"\"]}]},\"tunes\":{}},{\"id\":\"76cff75952\",\"type\":\"header\",\"data\":{\"text\":\"What developers actually have to do\",\"level\":2},\"tunes\":{}},{\"id\":\"bfaa3db2d6\",\"type\":\"paragraph\",\"data\":{\"text\":\"The game still has to expose enough information for the platform to build a useful database.\"},\"tunes\":{}},{\"id\":\"ed2d5b8b93\",\"type\":\"paragraph\",\"data\":{\"text\":\"Microsoft's current workflow asks developers to collect or programmatically generate an SODB, test it by compiling a PSDB locally, and submit the SODB through the storefront pipeline.\"},\"tunes\":{}},{\"id\":\"186600f899\",\"type\":\"paragraph\",\"data\":{\"text\":\"Agility SDK 1.619 also introduced application identity and statistics APIs so developers can identify the title consistently and measure how effectively a PSDB is being used.\"},\"tunes\":{}},{\"id\":\"da7b0ce8b5\",\"type\":\"header\",\"data\":{\"text\":\"What hardware works today?\",\"level\":2},\"tunes\":{}},{\"id\":\"e2e43ce998\",\"type\":\"paragraph\",\"data\":{\"text\":\"Microsoft's June 2026 update lists Windows 11 version 24H2 or newer, the required Xbox Gaming Services version, AMD Radeon hardware based on RDNA 1 through RDNA 4, and AMD Adrenalin 26.6.1 or newer for the currently documented Xbox PC app path.\"},\"tunes\":{}},{\"id\":\"7c82f021e1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Microsoft has also said it is working with Intel and other hardware vendors, and that support will expand to more devices.\"},\"tunes\":{}},{\"id\":\"9e9a02e41c\",\"type\":\"paragraph\",\"data\":{\"text\":\"That means Advanced Shader Delivery should be treated as an expanding platform feature rather than a universal Windows capability on every GPU today.\"},\"tunes\":{}},{\"id\":\"bd182f72b0\",\"type\":\"header\",\"data\":{\"text\":\"Why this matters more than another FPS feature\",\"level\":2},\"tunes\":{}},{\"id\":\"9decb9c1b9\",\"type\":\"paragraph\",\"data\":{\"text\":\"Upscaling and frame generation improve the output of the rendering pipeline after the game is already running.\"},\"tunes\":{}},{\"id\":\"64eec31a18\",\"type\":\"paragraph\",\"data\":{\"text\":\"Advanced Shader Delivery attacks a different quality problem: a frame-time spike caused by preparing GPU programs at the wrong moment.\"},\"tunes\":{}},{\"id\":\"a6a0db382e\",\"type\":\"paragraph\",\"data\":{\"text\":\"That is why the benefit can be visible even when average FPS does not change at all.\"},\"tunes\":{}},{\"id\":\"09bde21a8d\",\"type\":\"header\",\"data\":{\"text\":\"What would change this answer?\",\"level\":2},\"tunes\":{}},{\"id\":\"b0e7ca01a4\",\"type\":\"paragraph\",\"data\":{\"text\":\"The biggest moving boundary is ecosystem support.\"},\"tunes\":{}},{\"id\":\"537568c224\",\"type\":\"paragraph\",\"data\":{\"text\":\"Microsoft is still expanding Advanced Shader Delivery across GPUs, storefront workflows and game-engine integrations. Hardware requirements and supported distribution paths can therefore change quickly.\"},\"tunes\":{}},{\"id\":\"fe24516c11\",\"type\":\"paragraph\",\"data\":{\"text\":\"A future implementation integrated broadly across major PC storefronts could make precompiled shader delivery much more transparent to players than it is today.\"},\"tunes\":{}},{\"id\":\"0e31e2d54d\",\"type\":\"header\",\"data\":{\"text\":\"Limitations\",\"level\":2},\"tunes\":{}},{\"id\":\"a7881e11e1\",\"type\":\"paragraph\",\"data\":{\"text\":\"This article describes Microsoft's documented Advanced Shader Delivery architecture and current Windows\u002FXbox PC app support as of September 2026.\"},\"tunes\":{}},{\"id\":\"71ebc16fda\",\"type\":\"paragraph\",\"data\":{\"text\":\"Microsoft's reported load-time savings are vendor measurements from specific supported scenarios. They should not be treated as universal performance guarantees.\"},\"tunes\":{}},{\"id\":\"f7a38af5be\",\"type\":\"header\",\"data\":{\"text\":\"Conclusion\",\"level\":2},\"tunes\":{}},{\"id\":\"f1308f3e80\",\"type\":\"paragraph\",\"data\":{\"text\":\"Advanced Shader Delivery solves a simple problem with a platform-level answer.\"},\"tunes\":{}},{\"id\":\"b102a861bb\",\"type\":\"paragraph\",\"data\":{\"text\":\"A PC game needs GPU-specific compiled shaders. Building them on the player's machine can cause long first launches and just-in-time stutter. ASD captures what the game needs, compiles it ahead of time for the target environment and delivers the result through the storefront.\"},\"tunes\":{}},{\"id\":\"da805fabf0\",\"type\":\"paragraph\",\"data\":{\"text\":\"The shader still exists. The compilation still happens. The important change is that it happens before the player needs it.\"},\"tunes\":{}},{\"id\":\"0354b8daaf\",\"type\":\"header\",\"data\":{\"text\":\"FAQ\",\"level\":2},\"tunes\":{}},{\"id\":\"e75bc04532\",\"type\":\"faq\",\"data\":{\"title\":\"Advanced Shader Delivery in plain English\",\"items\":[{\"id\":\"faq1\",\"question\":\"What is Advanced Shader Delivery?\",\"answer\":\"A Windows 11 Direct3D 12 technology that precompiles shaders ahead of time and delivers them with the game instead of compiling everything on the player's PC.\"},{\"id\":\"faq2\",\"question\":\"What is an SODB?\",\"answer\":\"A State Object Database describing the shader states a game may need so they can be compiled ahead of delivery.\"},{\"id\":\"faq3\",\"question\":\"What is a PSDB?\",\"answer\":\"A Precompiled Shader Database containing shader programs already compiled for a target hardware and driver environment.\"},{\"id\":\"faq4\",\"question\":\"Does ASD eliminate all shader stutter?\",\"answer\":\"Not automatically. Missing shader states, unsupported environments or new game content can still require local compilation.\"},{\"id\":\"faq5\",\"question\":\"Is ASD the same as a local shader cache?\",\"answer\":\"No. A local cache is created after your PC compiles shaders. ASD tries to deliver compiled shader data before you run the game.\"},{\"id\":\"faq6\",\"question\":\"Does Advanced Shader Delivery increase FPS?\",\"answer\":\"Its main purpose is faster shader preparation and fewer compilation-related frame-time spikes, not higher steady-state FPS.\"}]},\"tunes\":{}},{\"id\":\"8733f298cd\",\"type\":\"header\",\"data\":{\"text\":\"Glossary\",\"level\":2},\"tunes\":{}},{\"id\":\"407257a6d1\",\"type\":\"glossary\",\"data\":{\"title\":\"Key shader-delivery terms\",\"entries\":[{\"term\":\"Shader\",\"definition\":\"A GPU program used for graphics or compute work such as lighting, materials and post-processing.\",\"anchor\":\"shader\"},{\"term\":\"Shader compilation\",\"definition\":\"Turning shader code into a GPU-specific executable form that the driver and hardware can run.\",\"anchor\":\"shader-compilation\"},{\"term\":\"SODB\",\"definition\":\"State Object Database containing shader-state information collected from or generated for a game.\",\"anchor\":\"sodb\"},{\"term\":\"PSDB\",\"definition\":\"Precompiled Shader Database containing shader data compiled ahead of time for a target environment.\",\"anchor\":\"psdb\"},{\"term\":\"JIT compilation\",\"definition\":\"Just-in-time compilation performed when a shader is first needed during startup or gameplay.\",\"anchor\":\"jit-compilation\"},{\"term\":\"Shader Availability Boundary\",\"definition\":\"A Figure Rocks model describing when a shader can be served from delivered precompiled data and when local compilation is still required.\",\"anchor\":\"shader-availability-boundary\"},{\"term\":\"Shader-Stutter Diagnosis Test\",\"definition\":\"A Figure Rocks workflow for separating shader-compilation hitches from other causes of frame-time spikes.\",\"anchor\":\"shader-stutter-diagnosis-test\"}]},\"tunes\":{}},{\"id\":\"3ab856f2b4\",\"type\":\"header\",\"data\":{\"text\":\"Primary sources\",\"level\":2},\"tunes\":{}},{\"id\":\"367d2e3548\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fwin32\u002Fdirect3d12\u002Fadvanced-shader-delivery\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Microsoft Learn — Advanced Shader Delivery\",\"description\":\"Official Windows documentation covering the SODB-to-PSDB workflow, benefits and current platform model.\"}},\"tunes\":{}},{\"id\":\"5641b514c0\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevblogs.microsoft.com\u002Fdirectx\u002Fintroducing-advanced-shader-delivery\u002F\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Microsoft DirectX — Introducing Advanced Shader Delivery\",\"description\":\"Official architecture explanation covering local shader compilation, SODB, PSDB and storefront distribution.\"}},\"tunes\":{}},{\"id\":\"22a5b77a1b\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevblogs.microsoft.com\u002Fdirectx\u002Fadvanced-shader-delivery-whats-new-at-gdc-2026\u002F\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Microsoft DirectX — Advanced Shader Delivery at GDC 2026\",\"description\":\"Official 2026 developer update covering SODB integration, application identity, statistics and Xbox Partner Center workflow.\"}},\"tunes\":{}},{\"id\":\"cc3301d997\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevblogs.microsoft.com\u002Fdirectx\u002Fadvanced-shader-delivery-expands-public-preview-with-amd\u002F\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Microsoft DirectX — Advanced Shader Delivery expands with AMD\",\"description\":\"Official 2026 availability update covering Windows 11, AMD RDNA support, Xbox PC app distribution and Forza Horizon 6 measurements.\"}},\"tunes\":{}}],\"version\":\"2.31.6\"}",{"time":1250,"blocks":1251,"version":1771},1790406603890,[1252,1256,1261,1266,1270,1274,1278,1282,1286,1290,1294,1298,1302,1306,1313,1317,1337,1341,1345,1349,1353,1357,1361,1384,1389,1393,1414,1418,1422,1426,1430,1434,1438,1442,1446,1451,1455,1476,1480,1484,1488,1492,1496,1519,1523,1527,1531,1535,1542,1546,1550,1554,1558,1562,1566,1570,1592,1596,1600,1604,1608,1612,1616,1620,1624,1628,1632,1636,1640,1644,1648,1652,1656,1660,1664,1668,1672,1676,1680,1684,1688,1711,1715,1739,1743,1750,1757,1764],{"id":541,"data":1253,"type":544,"tunes":1255},{"text":1254},"PC shader stutter exists because a game often cannot use a shader until that shader has been compiled for the exact GPU and driver environment running the game. Microsoft Advanced Shader Delivery changes where that compilation happens: instead of waiting for the player's PC, the work can be done ahead of time and the compiled shader data can arrive with the game.",{},{"id":547,"data":1257,"type":552,"tunes":1260},{"body":1258,"title":1259,"variant":551},"\u003Cstrong>Advanced Shader Delivery does not make shaders disappear.\u003C\u002Fstrong> It moves much of the compilation work away from the player's PC. A game supplies shader state information, the platform builds hardware-specific precompiled shader databases, and the storefront delivers the right compiled data to the player.","Direct answer",{},{"id":555,"data":1262,"type":552,"tunes":1265},{"body":1263,"title":1264,"variant":559},"Advanced Shader Delivery is available through the Xbox PC app for supported Windows 11 systems and currently has documented AMD RDNA support. Microsoft says broader hardware support is still expanding.","Current status in 2026",{},{"id":562,"data":1267,"type":566,"tunes":1269},{"title":1268,"maxLevel":565,"minLevel":47},"Contents",{},{"id":569,"data":1271,"type":572,"tunes":1273},{"text":1272,"level":47},"Why PC games compile shaders in the first place",{},{"id":575,"data":1275,"type":544,"tunes":1277},{"text":1276},"A shader is a small GPU program used for rendering tasks such as lighting, materials, shadows, post-processing and other graphics work.",{},{"id":580,"data":1279,"type":544,"tunes":1281},{"text":1280},"The game usually ships shader code in an intermediate form. Before the GPU can execute it efficiently, the graphics driver compiles that code into a hardware-specific form.",{},{"id":585,"data":1283,"type":544,"tunes":1285},{"text":1284},"On a console, the target hardware and driver environment are much more predictable. On a Windows PC, the game may run on many GPU models, driver versions and system configurations.",{},{"id":590,"data":1287,"type":544,"tunes":1289},{"text":1288},"That hardware matrix is the reason PC shader compilation is harder to prepare completely in advance.",{},{"id":595,"data":1291,"type":572,"tunes":1293},{"text":1292,"level":47},"Where shader stutter comes from",{},{"id":600,"data":1295,"type":544,"tunes":1297},{"text":1296},"If the game encounters a shader that is not already compiled, the driver may have to compile it while the game is running.",{},{"id":605,"data":1299,"type":544,"tunes":1301},{"text":1300},"That work can interrupt the normal frame pipeline. The result can be a short hitch even when average FPS is high.",{},{"id":610,"data":1303,"type":544,"tunes":1305},{"text":1304},"Once the compiled shader has been cached, the same hitch may not happen again until the cache is invalidated or new shader combinations are needed.",{},{"id":615,"data":1307,"type":621,"tunes":1312},{"url":1308,"title":1309,"excerpt":1310,"ctaLabel":1311},"https:\u002F\u002Ffigure.rocks\u002Fblog\u002Fwhy-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained","Why 120 FPS Can Still Feel Bad: Frame Time, 1% Lows and Stutter Explained","Why average FPS can look healthy while a few long frames make the game feel uneven.","Read the frame-time guide",{},{"id":624,"data":1314,"type":572,"tunes":1316},{"text":1315,"level":47},"The normal shader-compilation path",{},{"id":629,"data":1318,"type":649,"tunes":1336},{"steps":1319,"title":1335,"orientation":648},[1320,1323,1326,1329,1332],{"label":1321,"description":1322},"1. Game ships shader source or intermediate data","The package contains what the driver needs to build GPU-specific programs.",{"label":1324,"description":1325},"2. Player launches the game","The system does not yet have every compiled shader variant in cache.",{"label":1327,"description":1328},"3. Driver compiles shaders locally","Compilation happens at startup, during a dedicated precompilation screen, or just in time during gameplay.",{"label":1330,"description":1331},"4. Compiled shaders are cached","Future runs can reuse the results while the cache remains valid.",{"label":1333,"description":1334},"5. Driver or game changes can invalidate the cache","The system may need to compile again after relevant updates.","Without Advanced Shader Delivery",{},{"id":652,"data":1338,"type":572,"tunes":1340},{"text":1339,"level":47},"What Advanced Shader Delivery changes",{},{"id":657,"data":1342,"type":544,"tunes":1344},{"text":1343},"Advanced Shader Delivery moves the expensive compilation step into a distribution pipeline.",{},{"id":662,"data":1346,"type":544,"tunes":1348},{"text":1347},"The game provides a standardized description of the shader state objects it can need. Microsoft calls that collection a State Object Database, or SODB.",{},{"id":667,"data":1350,"type":544,"tunes":1352},{"text":1351},"The platform combines that game data with a separated shader compiler for the relevant hardware and driver environment to produce a Precompiled Shader Database, or PSDB.",{},{"id":672,"data":1354,"type":544,"tunes":1356},{"text":1355},"The PSDB can then be distributed through the storefront alongside the game.",{},{"id":677,"data":1358,"type":572,"tunes":1360},{"text":1359,"level":47},"The SODB → PSDB pipeline",{},{"id":682,"data":1362,"type":649,"tunes":1383},{"steps":1363,"title":1382,"orientation":648},[1364,1367,1370,1373,1376,1379],{"label":1365,"description":1366},"1. Game creates an SODB","The developer collects the state-object information needed to describe the game's shaders.",{"label":1368,"description":1369},"2. SODB is submitted with the game","The shader-state database becomes part of the distribution workflow.",{"label":1371,"description":1372},"3. Hardware-specific compilation happens ahead of time","The shader compiler produces the correct compiled form for a supported GPU and driver environment.",{"label":1374,"description":1375},"4. A PSDB is produced","The Precompiled Shader Database contains compiled shader data for that target environment.",{"label":1377,"description":1378},"5. Storefront delivers the PSDB","The compiled shader database arrives with or alongside the game download.",{"label":1380,"description":1381},"6. Windows registers the compiled shaders","When the game starts, many shaders can already be present instead of being compiled locally.","How Advanced Shader Delivery works",{},{"id":706,"data":1385,"type":552,"tunes":1388},{"body":1386,"title":1387,"variant":710},"\u003Cstrong>SODB = what the game may need.\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>Compiler = turns it into hardware-specific GPU programs.\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>PSDB = the compiled result.\u003C\u002Fstrong>\u003Cbr>\u003Cstrong>Storefront = delivers it before you play.\u003C\u002Fstrong>","The simplest mental model",{},{"id":713,"data":1390,"type":572,"tunes":1392},{"text":1391,"level":47},"Why this is harder on PC than on console",{},{"id":718,"data":1394,"type":746,"tunes":1413},{"rows":1395,"title":1408,"layout":738,"columns":1409},[1396,1399,1402,1405],{"id":722,"label":1397,"values":1398},"Hardware target",[13,13],{"id":726,"label":1400,"values":1401},"Driver environment",[13,13],{"id":730,"label":1403,"values":1404},"Precompilation",[13,13],{"id":734,"label":1406,"values":1407},"Cache stability",[13,13],"Console vs PC shader preparation",[1410,1412],{"id":741,"label":1411},"Console",{"id":744,"label":745},{},{"id":749,"data":1415,"type":572,"tunes":1417},{"text":1416,"level":47},"Why a driver update can matter",{},{"id":754,"data":1419,"type":544,"tunes":1421},{"text":1420},"Compiled shaders are not completely independent of the graphics driver.",{},{"id":759,"data":1423,"type":544,"tunes":1425},{"text":1424},"A driver update can change the compiler or invalidate previously compiled cache data.",{},{"id":764,"data":1427,"type":544,"tunes":1429},{"text":1428},"Microsoft's Advanced Shader Delivery architecture is designed to detect that environment change and refresh the precompiled shader data instead of leaving the player to rebuild everything manually.",{},{"id":769,"data":1431,"type":572,"tunes":1433},{"text":1432,"level":47},"Does this mean shader compilation screens disappear?",{},{"id":774,"data":1435,"type":544,"tunes":1437},{"text":1436},"Potentially many of them can become much shorter or unnecessary, but Advanced Shader Delivery does not guarantee that every shader-related wait disappears.",{},{"id":779,"data":1439,"type":544,"tunes":1441},{"text":1440},"The quality of the SODB matters. If the game fails to describe shader combinations that are later needed, those missing cases may still require local work.",{},{"id":784,"data":1443,"type":544,"tunes":1445},{"text":1444},"Game updates can also introduce new shader states that need new precompiled data.",{},{"id":789,"data":1447,"type":552,"tunes":1450},{"body":1448,"title":1449,"variant":793},"Advanced Shader Delivery can remove a large class of runtime compilation work, but only for shader states that have been captured, compiled and distributed correctly.","Precompiled does not mean complete",{},{"id":796,"data":1452,"type":572,"tunes":1454},{"text":1453,"level":47},"The Shader Availability Boundary",{},{"id":801,"data":1456,"type":746,"tunes":1475},{"rows":1457,"title":1469,"layout":738,"columns":1470},[1458,1461,1463,1466],{"id":805,"label":1459,"values":1460},"Shader state",[13,13],{"id":809,"label":1397,"values":1462},[13,13],{"id":812,"label":1464,"values":1465},"Game version",[13,13],{"id":816,"label":1467,"values":1468},"Distribution",[13,13],"What decides whether the game can avoid local compilation?",[1471,1473],{"id":822,"label":1472},"Covered by ASD",{"id":825,"label":1474},"Outside the delivered database",{},{"id":829,"data":1477,"type":572,"tunes":1479},{"text":1478,"level":47},"What Microsoft's 90% and 95% numbers actually mean",{},{"id":834,"data":1481,"type":544,"tunes":1483},{"text":1482},"Microsoft says Advanced Shader Delivery can reduce shader-related loading time by up to 90% in supported scenarios.",{},{"id":839,"data":1485,"type":544,"tunes":1487},{"text":1486},"For Forza Horizon 6, Microsoft reported a specific internal example where loading dropped from almost 1.5 minutes to about 4 seconds on a Ryzen 7 5800 system with a Radeon RX 7600, which it described as roughly a 95% time saving.",{},{"id":844,"data":1489,"type":544,"tunes":1491},{"text":1490},"Those figures should not be interpreted as a universal guarantee for every game, GPU or loading screen.",{},{"id":849,"data":1493,"type":572,"tunes":1495},{"text":1494,"level":47},"The Shader-Stutter Diagnosis Test",{},{"id":854,"data":1497,"type":649,"tunes":1518},{"steps":1498,"title":1517,"orientation":648},[1499,1502,1505,1508,1511,1514],{"label":1500,"description":1501},"1. Repeat the same scene","If the hitch happens once and disappears on the second run, cache warm-up is a strong clue.",{"label":1503,"description":1504},"2. Compare after clearing or invalidating shader cache","A returning hitch can indicate shader compilation rather than a permanent performance bottleneck.",{"label":1506,"description":1507},"3. Check frame-time spikes","Shader stutter appears as long individual frames, not merely a lower stable average FPS.",{"label":1509,"description":1510},"4. Separate asset streaming from shader compilation","Both can produce traversal stutter, but they are different pipelines.",{"label":1512,"description":1513},"5. Check game and driver updates","A new update can invalidate or expand shader caches.",{"label":1515,"description":1516},"6. Look for ASD status","In supported Xbox PC app titles, the launch window can indicate that precompiled shaders were installed.","How to tell whether a hitch is really shader compilation",{},{"id":878,"data":1520,"type":572,"tunes":1522},{"text":1521,"level":47},"Shader stutter is not the same as asset-streaming stutter",{},{"id":883,"data":1524,"type":544,"tunes":1526},{"text":1525},"Both problems can create a hitch when entering a new area, which makes them easy to confuse.",{},{"id":888,"data":1528,"type":544,"tunes":1530},{"text":1529},"Shader compilation is about creating executable GPU programs. Asset streaming is about moving textures, geometry and other content into usable memory.",{},{"id":893,"data":1532,"type":544,"tunes":1534},{"text":1533},"Advanced Shader Delivery targets the first problem. DirectStorage targets the second pipeline.",{},{"id":898,"data":1536,"type":621,"tunes":1541},{"url":1537,"title":1538,"excerpt":1539,"ctaLabel":1540},"https:\u002F\u002Ffigure.rocks\u002Fblog\u002Fdirectstorage-1-4-does-not-make-your-ssd-decompress-games-what-zstd-and-gpu-decompression-actually-do","DirectStorage 1.4 Does Not Make Your SSD Decompress Games: What Zstd and GPU Decompression Actually Do","A separate look at the asset-loading path: SSD reads, DirectStorage scheduling and CPU\u002FGPU decompression.","Read the DirectStorage guide",{},{"id":906,"data":1543,"type":572,"tunes":1545},{"text":1544,"level":47},"Why the storefront matters",{},{"id":911,"data":1547,"type":544,"tunes":1549},{"text":1548},"Advanced Shader Delivery is not only a Direct3D API feature.",{},{"id":916,"data":1551,"type":544,"tunes":1553},{"text":1552},"The system depends on a distribution service that knows which game version, GPU environment and compiled database belong together.",{},{"id":921,"data":1555,"type":544,"tunes":1557},{"text":1556},"That is why Microsoft's current implementation is tied to Xbox PC app distribution rather than being something an individual player simply switches on globally.",{},{"id":926,"data":1559,"type":572,"tunes":1561},{"text":1560,"level":47},"Why this is not just another shader cache",{},{"id":931,"data":1563,"type":544,"tunes":1565},{"text":1564},"A normal local shader cache is built after your own machine has already paid the compilation cost.",{},{"id":936,"data":1567,"type":544,"tunes":1569},{"text":1568},"Advanced Shader Delivery attempts to deliver that useful compiled state before the cost reaches your machine.",{},{"id":941,"data":1571,"type":746,"tunes":1591},{"rows":1572,"title":1585,"layout":738,"columns":1586},[1573,1576,1579,1582],{"id":945,"label":1574,"values":1575},"When compilation happens",[13,13],{"id":949,"label":1577,"values":1578},"Who pays the initial compile cost",[13,13],{"id":953,"label":1580,"values":1581},"First-run behavior",[13,13],{"id":957,"label":1583,"values":1584},"JIT shader stutter",[13,13],"Local shader cache vs Advanced Shader Delivery",[1587,1589],{"id":963,"label":1588},"Local shader cache",{"id":966,"label":1590},"Advanced Shader Delivery",{},{"id":970,"data":1593,"type":572,"tunes":1595},{"text":1594,"level":47},"What developers actually have to do",{},{"id":975,"data":1597,"type":544,"tunes":1599},{"text":1598},"The game still has to expose enough information for the platform to build a useful database.",{},{"id":980,"data":1601,"type":544,"tunes":1603},{"text":1602},"Microsoft's current workflow asks developers to collect or programmatically generate an SODB, test it by compiling a PSDB locally, and submit the SODB through the storefront pipeline.",{},{"id":985,"data":1605,"type":544,"tunes":1607},{"text":1606},"Agility SDK 1.619 also introduced application identity and statistics APIs so developers can identify the title consistently and measure how effectively a PSDB is being used.",{},{"id":990,"data":1609,"type":572,"tunes":1611},{"text":1610,"level":47},"What hardware works today?",{},{"id":995,"data":1613,"type":544,"tunes":1615},{"text":1614},"Microsoft's June 2026 update lists Windows 11 version 24H2 or newer, the required Xbox Gaming Services version, AMD Radeon hardware based on RDNA 1 through RDNA 4, and AMD Adrenalin 26.6.1 or newer for the currently documented Xbox PC app path.",{},{"id":1000,"data":1617,"type":544,"tunes":1619},{"text":1618},"Microsoft has also said it is working with Intel and other hardware vendors, and that support will expand to more devices.",{},{"id":1005,"data":1621,"type":544,"tunes":1623},{"text":1622},"That means Advanced Shader Delivery should be treated as an expanding platform feature rather than a universal Windows capability on every GPU today.",{},{"id":1010,"data":1625,"type":572,"tunes":1627},{"text":1626,"level":47},"Why this matters more than another FPS feature",{},{"id":1015,"data":1629,"type":544,"tunes":1631},{"text":1630},"Upscaling and frame generation improve the output of the rendering pipeline after the game is already running.",{},{"id":1020,"data":1633,"type":544,"tunes":1635},{"text":1634},"Advanced Shader Delivery attacks a different quality problem: a frame-time spike caused by preparing GPU programs at the wrong moment.",{},{"id":1025,"data":1637,"type":544,"tunes":1639},{"text":1638},"That is why the benefit can be visible even when average FPS does not change at all.",{},{"id":1030,"data":1641,"type":572,"tunes":1643},{"text":1642,"level":47},"What would change this answer?",{},{"id":1035,"data":1645,"type":544,"tunes":1647},{"text":1646},"The biggest moving boundary is ecosystem support.",{},{"id":1040,"data":1649,"type":544,"tunes":1651},{"text":1650},"Microsoft is still expanding Advanced Shader Delivery across GPUs, storefront workflows and game-engine integrations. Hardware requirements and supported distribution paths can therefore change quickly.",{},{"id":1045,"data":1653,"type":544,"tunes":1655},{"text":1654},"A future implementation integrated broadly across major PC storefronts could make precompiled shader delivery much more transparent to players than it is today.",{},{"id":1050,"data":1657,"type":572,"tunes":1659},{"text":1658,"level":47},"Limitations",{},{"id":1055,"data":1661,"type":544,"tunes":1663},{"text":1662},"This article describes Microsoft's documented Advanced Shader Delivery architecture and current Windows\u002FXbox PC app support as of September 2026.",{},{"id":1060,"data":1665,"type":544,"tunes":1667},{"text":1666},"Microsoft's reported load-time savings are vendor measurements from specific supported scenarios. They should not be treated as universal performance guarantees.",{},{"id":1065,"data":1669,"type":572,"tunes":1671},{"text":1670,"level":47},"Conclusion",{},{"id":1070,"data":1673,"type":544,"tunes":1675},{"text":1674},"Advanced Shader Delivery solves a simple problem with a platform-level answer.",{},{"id":1075,"data":1677,"type":544,"tunes":1679},{"text":1678},"A PC game needs GPU-specific compiled shaders. Building them on the player's machine can cause long first launches and just-in-time stutter. ASD captures what the game needs, compiles it ahead of time for the target environment and delivers the result through the storefront.",{},{"id":1080,"data":1681,"type":544,"tunes":1683},{"text":1682},"The shader still exists. The compilation still happens. The important change is that it happens before the player needs it.",{},{"id":1085,"data":1685,"type":572,"tunes":1687},{"text":1686,"level":47},"FAQ",{},{"id":1090,"data":1689,"type":1118,"tunes":1710},{"items":1690,"title":1709},[1691,1694,1697,1700,1703,1706],{"id":1094,"answer":1692,"question":1693},"A Windows 11 Direct3D 12 technology that precompiles shaders ahead of time and delivers them with the game instead of compiling everything on the player's PC.","What is Advanced Shader Delivery?",{"id":1098,"answer":1695,"question":1696},"A State Object Database describing the shader states a game may need so they can be compiled ahead of delivery.","What is an SODB?",{"id":1102,"answer":1698,"question":1699},"A Precompiled Shader Database containing shader programs already compiled for a target hardware and driver environment.","What is a PSDB?",{"id":1106,"answer":1701,"question":1702},"Not automatically. Missing shader states, unsupported environments or new game content can still require local compilation.","Does ASD eliminate all shader stutter?",{"id":1110,"answer":1704,"question":1705},"No. A local cache is created after your PC compiles shaders. ASD tries to deliver compiled shader data before you run the game.","Is ASD the same as a local shader cache?",{"id":1114,"answer":1707,"question":1708},"Its main purpose is faster shader preparation and fewer compilation-related frame-time spikes, not higher steady-state FPS.","Does Advanced Shader Delivery increase FPS?","Advanced Shader Delivery in plain English",{},{"id":1121,"data":1712,"type":572,"tunes":1714},{"text":1713,"level":47},"Glossary",{},{"id":1126,"data":1716,"type":1156,"tunes":1738},{"title":1717,"entries":1718},"Key shader-delivery terms",[1719,1722,1725,1727,1729,1732,1735],{"term":1720,"anchor":1132,"definition":1721},"Shader","A GPU program used for graphics or compute work such as lighting, materials and post-processing.",{"term":1723,"anchor":1136,"definition":1724},"Shader compilation","Turning shader code into a GPU-specific executable form that the driver and hardware can run.",{"term":1139,"anchor":1140,"definition":1726},"State Object Database containing shader-state information collected from or generated for a game.",{"term":1143,"anchor":1144,"definition":1728},"Precompiled Shader Database containing shader data compiled ahead of time for a target environment.",{"term":1730,"anchor":1148,"definition":1731},"JIT compilation","Just-in-time compilation performed when a shader is first needed during startup or gameplay.",{"term":1733,"anchor":1151,"definition":1734},"Shader Availability Boundary","A Figure Rocks model describing when a shader can be served from delivered precompiled data and when local compilation is still required.",{"term":1736,"anchor":1154,"definition":1737},"Shader-Stutter Diagnosis Test","A Figure Rocks workflow for separating shader-compilation hitches from other causes of frame-time spikes.",{},{"id":1159,"data":1740,"type":572,"tunes":1742},{"text":1741,"level":47},"Primary sources",{},{"id":1164,"data":1744,"type":1171,"tunes":1749},{"link":1166,"meta":1745},{"image":1746,"title":1747,"description":1748},{"url":13},"Microsoft Learn — Advanced Shader Delivery","Official Windows documentation covering the SODB-to-PSDB workflow, benefits and current platform model.",{},{"id":1174,"data":1751,"type":1171,"tunes":1756},{"link":1176,"meta":1752},{"image":1753,"title":1754,"description":1755},{"url":13},"Microsoft DirectX — Introducing Advanced Shader Delivery","Official architecture explanation covering local shader compilation, SODB, PSDB and storefront distribution.",{},{"id":1183,"data":1758,"type":1171,"tunes":1763},{"link":1185,"meta":1759},{"image":1760,"title":1761,"description":1762},{"url":13},"Microsoft DirectX — Advanced Shader Delivery at GDC 2026","Official 2026 developer update covering SODB integration, application identity, statistics and Xbox Partner Center workflow.",{},{"id":1192,"data":1765,"type":1171,"tunes":1770},{"link":1194,"meta":1766},{"image":1767,"title":1768,"description":1769},{"url":13},"Microsoft DirectX — Advanced Shader Delivery expands with AMD","Official 2026 availability update covering Windows 11, AMD RDNA support, Xbox PC app distribution and Forza Horizon 6 measurements.",{},"2.31.6","Shader stutter happens when a PC game has to compile GPU programs at the wrong moment. Microsoft Advanced Shader Delivery moves much of that work off the player’s PC by preparing hardware-specific shaders ahead of time and delivering them with the game.",{"lang":7,"title":534,"content":536,"contentJson":1774,"excerpt":1201},{"time":538,"blocks":1775,"version":1200},[1776,1779,1782,1785,1788,1791,1794,1797,1800,1803,1806,1809,1812,1815,1818,1821,1830,1833,1836,1839,1842,1845,1848,1858,1861,1864,1879,1882,1885,1888,1891,1894,1897,1900,1903,1906,1909,1924,1927,1930,1933,1936,1939,1949,1952,1955,1958,1961,1964,1967,1970,1973,1976,1979,1982,1985,2000,2003,2006,2009,2012,2015,2018,2021,2024,2027,2030,2033,2036,2039,2042,2045,2048,2051,2054,2057,2060,2063,2066,2069,2072,2082,2085,2096,2099,2104,2109,2114],{"id":541,"data":1777,"type":544,"tunes":1778},{"text":543},{},{"id":547,"data":1780,"type":552,"tunes":1781},{"body":549,"title":550,"variant":551},{},{"id":555,"data":1783,"type":552,"tunes":1784},{"body":557,"title":558,"variant":559},{},{"id":562,"data":1786,"type":566,"tunes":1787},{"title":564,"maxLevel":565,"minLevel":47},{},{"id":569,"data":1789,"type":572,"tunes":1790},{"text":571,"level":47},{},{"id":575,"data":1792,"type":544,"tunes":1793},{"text":577},{},{"id":580,"data":1795,"type":544,"tunes":1796},{"text":582},{},{"id":585,"data":1798,"type":544,"tunes":1799},{"text":587},{},{"id":590,"data":1801,"type":544,"tunes":1802},{"text":592},{},{"id":595,"data":1804,"type":572,"tunes":1805},{"text":597,"level":47},{},{"id":600,"data":1807,"type":544,"tunes":1808},{"text":602},{},{"id":605,"data":1810,"type":544,"tunes":1811},{"text":607},{},{"id":610,"data":1813,"type":544,"tunes":1814},{"text":612},{},{"id":615,"data":1816,"type":621,"tunes":1817},{"url":617,"title":618,"excerpt":619,"ctaLabel":620},{},{"id":624,"data":1819,"type":572,"tunes":1820},{"text":626,"level":47},{},{"id":629,"data":1822,"type":649,"tunes":1829},{"steps":1823,"title":647,"orientation":648},[1824,1825,1826,1827,1828],{"label":633,"description":634},{"label":636,"description":637},{"label":639,"description":640},{"label":642,"description":643},{"label":645,"description":646},{},{"id":652,"data":1831,"type":572,"tunes":1832},{"text":654,"level":47},{},{"id":657,"data":1834,"type":544,"tunes":1835},{"text":659},{},{"id":662,"data":1837,"type":544,"tunes":1838},{"text":664},{},{"id":667,"data":1840,"type":544,"tunes":1841},{"text":669},{},{"id":672,"data":1843,"type":544,"tunes":1844},{"text":674},{},{"id":677,"data":1846,"type":572,"tunes":1847},{"text":679,"level":47},{},{"id":682,"data":1849,"type":649,"tunes":1857},{"steps":1850,"title":703,"orientation":648},[1851,1852,1853,1854,1855,1856],{"label":686,"description":687},{"label":689,"description":690},{"label":692,"description":693},{"label":695,"description":696},{"label":698,"description":699},{"label":701,"description":702},{},{"id":706,"data":1859,"type":552,"tunes":1860},{"body":708,"title":709,"variant":710},{},{"id":713,"data":1862,"type":572,"tunes":1863},{"text":715,"level":47},{},{"id":718,"data":1865,"type":746,"tunes":1878},{"rows":1866,"title":737,"layout":738,"columns":1875},[1867,1869,1871,1873],{"id":722,"label":723,"values":1868},[13,13],{"id":726,"label":727,"values":1870},[13,13],{"id":730,"label":731,"values":1872},[13,13],{"id":734,"label":735,"values":1874},[13,13],[1876,1877],{"id":741,"label":742},{"id":744,"label":745},{},{"id":749,"data":1880,"type":572,"tunes":1881},{"text":751,"level":47},{},{"id":754,"data":1883,"type":544,"tunes":1884},{"text":756},{},{"id":759,"data":1886,"type":544,"tunes":1887},{"text":761},{},{"id":764,"data":1889,"type":544,"tunes":1890},{"text":766},{},{"id":769,"data":1892,"type":572,"tunes":1893},{"text":771,"level":47},{},{"id":774,"data":1895,"type":544,"tunes":1896},{"text":776},{},{"id":779,"data":1898,"type":544,"tunes":1899},{"text":781},{},{"id":784,"data":1901,"type":544,"tunes":1902},{"text":786},{},{"id":789,"data":1904,"type":552,"tunes":1905},{"body":791,"title":792,"variant":793},{},{"id":796,"data":1907,"type":572,"tunes":1908},{"text":798,"level":47},{},{"id":801,"data":1910,"type":746,"tunes":1923},{"rows":1911,"title":819,"layout":738,"columns":1920},[1912,1914,1916,1918],{"id":805,"label":806,"values":1913},[13,13],{"id":809,"label":723,"values":1915},[13,13],{"id":812,"label":813,"values":1917},[13,13],{"id":816,"label":817,"values":1919},[13,13],[1921,1922],{"id":822,"label":823},{"id":825,"label":826},{},{"id":829,"data":1925,"type":572,"tunes":1926},{"text":831,"level":47},{},{"id":834,"data":1928,"type":544,"tunes":1929},{"text":836},{},{"id":839,"data":1931,"type":544,"tunes":1932},{"text":841},{},{"id":844,"data":1934,"type":544,"tunes":1935},{"text":846},{},{"id":849,"data":1937,"type":572,"tunes":1938},{"text":851,"level":47},{},{"id":854,"data":1940,"type":649,"tunes":1948},{"steps":1941,"title":875,"orientation":648},[1942,1943,1944,1945,1946,1947],{"label":858,"description":859},{"label":861,"description":862},{"label":864,"description":865},{"label":867,"description":868},{"label":870,"description":871},{"label":873,"description":874},{},{"id":878,"data":1950,"type":572,"tunes":1951},{"text":880,"level":47},{},{"id":883,"data":1953,"type":544,"tunes":1954},{"text":885},{},{"id":888,"data":1956,"type":544,"tunes":1957},{"text":890},{},{"id":893,"data":1959,"type":544,"tunes":1960},{"text":895},{},{"id":898,"data":1962,"type":621,"tunes":1963},{"url":900,"title":901,"excerpt":902,"ctaLabel":903},{},{"id":906,"data":1965,"type":572,"tunes":1966},{"text":908,"level":47},{},{"id":911,"data":1968,"type":544,"tunes":1969},{"text":913},{},{"id":916,"data":1971,"type":544,"tunes":1972},{"text":918},{},{"id":921,"data":1974,"type":544,"tunes":1975},{"text":923},{},{"id":926,"data":1977,"type":572,"tunes":1978},{"text":928,"level":47},{},{"id":931,"data":1980,"type":544,"tunes":1981},{"text":933},{},{"id":936,"data":1983,"type":544,"tunes":1984},{"text":938},{},{"id":941,"data":1986,"type":746,"tunes":1999},{"rows":1987,"title":960,"layout":738,"columns":1996},[1988,1990,1992,1994],{"id":945,"label":946,"values":1989},[13,13],{"id":949,"label":950,"values":1991},[13,13],{"id":953,"label":954,"values":1993},[13,13],{"id":957,"label":958,"values":1995},[13,13],[1997,1998],{"id":963,"label":964},{"id":966,"label":967},{},{"id":970,"data":2001,"type":572,"tunes":2002},{"text":972,"level":47},{},{"id":975,"data":2004,"type":544,"tunes":2005},{"text":977},{},{"id":980,"data":2007,"type":544,"tunes":2008},{"text":982},{},{"id":985,"data":2010,"type":544,"tunes":2011},{"text":987},{},{"id":990,"data":2013,"type":572,"tunes":2014},{"text":992,"level":47},{},{"id":995,"data":2016,"type":544,"tunes":2017},{"text":997},{},{"id":1000,"data":2019,"type":544,"tunes":2020},{"text":1002},{},{"id":1005,"data":2022,"type":544,"tunes":2023},{"text":1007},{},{"id":1010,"data":2025,"type":572,"tunes":2026},{"text":1012,"level":47},{},{"id":1015,"data":2028,"type":544,"tunes":2029},{"text":1017},{},{"id":1020,"data":2031,"type":544,"tunes":2032},{"text":1022},{},{"id":1025,"data":2034,"type":544,"tunes":2035},{"text":1027},{},{"id":1030,"data":2037,"type":572,"tunes":2038},{"text":1032,"level":47},{},{"id":1035,"data":2040,"type":544,"tunes":2041},{"text":1037},{},{"id":1040,"data":2043,"type":544,"tunes":2044},{"text":1042},{},{"id":1045,"data":2046,"type":544,"tunes":2047},{"text":1047},{},{"id":1050,"data":2049,"type":572,"tunes":2050},{"text":1052,"level":47},{},{"id":1055,"data":2052,"type":544,"tunes":2053},{"text":1057},{},{"id":1060,"data":2055,"type":544,"tunes":2056},{"text":1062},{},{"id":1065,"data":2058,"type":572,"tunes":2059},{"text":1067,"level":47},{},{"id":1070,"data":2061,"type":544,"tunes":2062},{"text":1072},{},{"id":1075,"data":2064,"type":544,"tunes":2065},{"text":1077},{},{"id":1080,"data":2067,"type":544,"tunes":2068},{"text":1082},{},{"id":1085,"data":2070,"type":572,"tunes":2071},{"text":1087,"level":47},{},{"id":1090,"data":2073,"type":1118,"tunes":2081},{"items":2074,"title":1117},[2075,2076,2077,2078,2079,2080],{"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":2083,"type":572,"tunes":2084},{"text":1123,"level":47},{},{"id":1126,"data":2086,"type":1156,"tunes":2095},{"title":1128,"entries":2087},[2088,2089,2090,2091,2092,2093,2094],{"term":1131,"anchor":1132,"definition":1133},{"term":1135,"anchor":1136,"definition":1137},{"term":1139,"anchor":1140,"definition":1141},{"term":1143,"anchor":1144,"definition":1145},{"term":1147,"anchor":1148,"definition":1149},{"term":798,"anchor":1151,"definition":1152},{"term":851,"anchor":1154,"definition":1155},{},{"id":1159,"data":2097,"type":572,"tunes":2098},{"text":1161,"level":47},{},{"id":1164,"data":2100,"type":1171,"tunes":2103},{"link":1166,"meta":2101},{"image":2102,"title":1169,"description":1170},{"url":13},{},{"id":1174,"data":2105,"type":1171,"tunes":2108},{"link":1176,"meta":2106},{"image":2107,"title":1179,"description":1180},{"url":13},{},{"id":1183,"data":2110,"type":1171,"tunes":2113},{"link":1185,"meta":2111},{"image":2112,"title":1188,"description":1189},{"url":13},{},{"id":1192,"data":2115,"type":1171,"tunes":2118},{"link":1194,"meta":2116},{"image":2117,"title":1197,"description":1198},{"url":13},{},"Post erfolgreich abgerufen",{"items":2121,"source":2201,"manualIds":2202,"manualMatchedIds":2203},[2122,2128,2134,2141,2148,2155,2162,2168,2175,2182,2188,2195],{"id":2123,"slug":2124,"title":2125,"excerpt":2126,"featuredImage":14,"publishedAt":2127},"246","router-checklist-for-gaming-the-settings-that-actually-matter","游戏路由器设置清单：真正重要的配置项","大多数路由器调整并无助益。真正有效的设置包括：负载下的队列管理、稳定的Wi-Fi表现，以及避免增加延迟或不稳定性的功能。","2026-02-21T01:30:00.000Z",{"id":2129,"slug":2130,"title":2131,"excerpt":2132,"featuredImage":14,"publishedAt":2133},"237","shader-stutter-why-first-runs-hitch-and-how-to-reduce-it","着色器卡顿：首次运行为何卡顿及如何减少","着色器卡顿发生在实时编译新特效时。了解如何快速识别它，以及无需安慰剂调整即可减少卡顿的实用方法。","2026-02-20T23:40:00.000Z",{"id":2135,"slug":2136,"title":2137,"excerpt":2138,"featuredImage":2139,"publishedAt":2140},"446","directx-is-becoming-an-ml-platform-what-linear-algebra-and-neural-shaders-mean-for-future-games","DirectX 正在成为一个机器学习平台：线性代数和神经着色器对未来游戏意味着什么","DirectX 正在超越传统的图形着色器。微软正在将硬件加速的线性代数直接添加到 HLSL 中，并为更大的机器学习模型提供一条独立路径，为神经纹理、学习材质、神经光照以及其他 AI 驱动的渲染技术奠定基础。","\u002Fuploads\u002F2026\u002F09\u002Fdirectx-is-becoming-an-ml-platform-what-linear-algebra-and-neural-shaders-mean-for-future-games-1790378019857-utigyk.webp","2026-09-25T15:12:00.000Z",{"id":2142,"slug":2143,"title":2144,"excerpt":2145,"featuredImage":2146,"publishedAt":2147},"444","pubg-ally-shows-why-ai-teammates-need-two-brains-fast-reflexes-and-slow-reasoning","PUBG Ally展示了为什么AI队友需要两个大脑：快速反射和慢速推理","语言模型可以理解战术和玩家意图，但不应该直接控制每一个动作和战斗反应。PUBG Ally展示了一种更实用的架构：用快速的行为树控制反射动作，并结合一个小型语言模型进行规划、协调和自然对话。","\u002Fuploads\u002F2026\u002F09\u002Fpubg-ally-shows-why-ai-teammates-need-two-brains-fast-reflexes-and-slow-reasoning-1790376777825-bi2zzb.webp","2026-09-25T14:51:00.000Z",{"id":2149,"slug":2150,"title":2151,"excerpt":2152,"featuredImage":2153,"publishedAt":2154},"451","windows-auto-sr-is-not-dlss-how-npu-upscaling-works-without-game-integration","Windows Auto SR 不是 DLSS：NPU 如何在无需游戏集成的情况下实现超分辨率","Windows Auto SR 可以在没有 DLSS、FSR 或 XeSS 集成的情况下对支持的游戏进行超分辨率处理。Windows 不是在游戏内于 GPU 上运行重建模型，而是使用 NPU 从较低分辨率的渲染中重建出更高分辨率的图像。","\u002Fuploads\u002F2026\u002F09\u002Fwindows-auto-sr-is-not-dlss-how-npu-upscaling-works-without-game-integration-1790406942266-77ihme.webp","2026-09-26T03:14:00.000Z",{"id":2156,"slug":2157,"title":2158,"excerpt":2159,"featuredImage":2160,"publishedAt":2161},"445","amd-fsr-redstone-is-not-just-fsr-4-upscaling-frame-generation-ray-regeneration-and-radiance-caching-explained","AMD FSR Redstone 不仅仅是 FSR 4：超分辨率、帧生成、光线再生与辐射缓存详解","AMD 的 FSR 命名之所以改变，是因为 FSR 不再是一项单一功能。Redstone 现在是一套神经渲染套件，包含用于超分辨率、帧生成、光线追踪重建和学习型全局光照的独立技术。","\u002Fuploads\u002F2026\u002F09\u002Famd-fsr-redstone-is-not-just-fsr-4-upscaling-frame-generation-ray-regeneration-and-radiance-caching-explained-1790377725715-arwmri.webp","2026-09-25T15:07:00.000Z",{"id":2163,"slug":2164,"title":2165,"excerpt":2166,"featuredImage":14,"publishedAt":2167},"180","router-checklist-v2-the-12-settings-that-prevent-lag-spikes","路由器检查清单 v2：防止延迟尖峰的12项设置","大多数延迟峰值源于负载和不稳定性，而非“高延迟”。在购买新设备前，请使用这份路由器检查清单，以确保在高负载下延迟稳定。","2026-02-20T16:00:00.000Z",{"id":2169,"slug":2170,"title":2171,"excerpt":2172,"featuredImage":2173,"publishedAt":2174},"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":2176,"slug":2177,"title":2178,"excerpt":2179,"featuredImage":2180,"publishedAt":2181},"439","why-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained","为什么120 FPS仍然感觉糟糕：帧时间、1%低帧与卡顿解析","一款游戏可能报告120、144甚至200 FPS，但感觉仍然卡顿。本指南解释了为什么平均FPS可能掩盖糟糕的帧交付，帧时间和1%低帧如何暴露卡顿，以及如何诊断是CPU、GPU还是管道的其他部分导致了问题。","\u002Fuploads\u002F2026\u002F09\u002Fwhy-120-fps-can-still-feel-bad-frame-time-1-lows-and-stutter-explained-1790374675922-u9tp75.webp","2026-09-25T18:17:00.000Z",{"id":2183,"slug":2184,"title":2185,"excerpt":2186,"featuredImage":14,"publishedAt":2187},"213","hdr-vs-sdr-decision-matrix-when-hdr-helps-and-when-sdr-wins","HDR与SDR决策矩阵：何时HDR更优，何时SDR胜出","HDR并非总是更优选择。根据可读性、稳定性及显示器实际表现，使用这个简单的决策矩阵来为每款游戏选择HDR或SDR模式。","2026-02-21T05:20:00.000Z",{"id":2189,"slug":2190,"title":2191,"excerpt":2192,"featuredImage":2193,"publishedAt":2194},"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",{"id":2196,"slug":2197,"title":2198,"excerpt":2199,"featuredImage":14,"publishedAt":2200},"220","shader-cache-reality-what-it-fixes-what-it-doesnt-and-why-stutter-returns","着色器缓存真相：它能解决什么，不能解决什么，以及为何卡顿会重现","着色器缓存可以减少重复编译导致的卡顿，但它无法解决CPU峰值或流式传输卡顿问题。了解其实际作用及正确测试方法。","2026-02-20T21:00:00.000Z","fallback",[],[]]