Un meshlet est simplement un sous-bloc d’un maillage : un nombre fixe de primitives et de sommets. Un maillage peut être entièrement défini par un ensemble de meshlets, chacun étant constitué d’un ensemble unique de primitives du maillage. Nous qualifierons de meshletisé un maillage converti en structure de meshlets.Le nombre fixe de primitives et de sommets utilisé pour construire le maillage meshletisé est identique dans toute la liste de meshlets et définit la taille maximale de chaque meshlet. Idéalement, chaque meshlet est aussi proche que possible de cette taille, sans nécessairement l’atteindre. Le tampon d’index traditionnel est remplacé par trois nouvelles structures de données : une liste de meshlets, une liste d’index de sommets uniques et une liste de primitives.Figure 1. Rendu d’un maillage meshletisé coloré par meshlet (un dragon). Notez que les meshlets sont constitués de primitives présentant une cohérence spatiale raisonnable.L’exemple de code suivant est une implémentation C++ d’une structure de meshlet d’exécution. Ces données décrivent entièrement un maillage pouvant être rendu.
Cette structure de meshlet présente plusieurs avantages pour le rendu avec Mesh Shader. Chaque meshlet a une taille maximale fixe, ce qui est idéal pour associer un groupe de threads de taille fixe à un seul meshlet et offre une correspondance intuitive entre thread et sommet/primitive. Les nombres de sommets et de primitives sont connus à l’avance, ce qui évite d’avoir à les calculer dans le code du shader. Les index de sommets sont déjà dédoublonnés, ce qui élimine les transformations et exportations de sommets redondantes. Les index de primitives sont localisés par rapport à la liste de sommets du meshlet. Les meshlets offrent également une granularité supplémentaire pour l’élimination (culling) grâce à des informations spatiales et d’orientation.L’exemple de code précédent montre les relations entre les nouveaux tampons de meshlets. La liste de meshlets est une liste plate de la structure « meshlet » d’exécution, qui contient au minimum un décalage et un nombre dans les listes d’index de sommets uniques et de primitives. La liste d’index de sommets uniques est une liste dédoublonnée d’index dans le tampon de données de sommets. La liste de primitives définit les primitives du maillage et se compose d’index dans la liste d’index de sommets uniques, localisés par rapport au décalage de sommets du meshlet.Figure 2. Diagramme illustrant la relation entre les tampons de meshlets.
La meshletisation d’un maillage à tampon d’index traditionnel ne nécessite aucune modification du flux de travail des artistes : il s’agit d’une étape procédurale de post-traitement après la création du modèle. Le tampon d’index traditionnel peut également être régénéré rapidement à l’exécution, ce qui évite d’avoir à livrer à la fois des tampons d’index traditionnels et des tampons de meshlets. La meshletisation pouvant être coûteuse en calcul, nous vous recommandons de l’effectuer hors ligne au préalable.Un exemple de projet de convertisseur de meshlets, comprenant une bibliothèque C++ et un outil en ligne de commande, est fourni par ATG pour effectuer cette conversion, avec nos autres exemples, sur la page XBOX Developer Downloads. Cet outil ne modifie pas les données de sommets elles-mêmes ; nous vous recommandons donc d’exécuter un optimiseur de cache de sommets, tel que l’algorithme de Forsyth, sur les données du maillage avant la meshletisation. Les optimiseurs ont tendance à créer des maillages plus cohérents spatialement que ce que l’on peut attendre universellement des outils de création de contenu. Des heuristiques supplémentaires pourraient être ajoutées pour équilibrer la réutilisation des sommets avec les propriétés d’élimination avantageuses de la structure de maillage résultante.
La structure du meshlet rend le rendu très simple avec les Mesh Shaders. Déclarez la taille du groupe de threads comme étant la taille maximale d’un meshlet et distribuez un groupe de threads pour chaque meshlet du maillage. Chaque thread est chargé de traiter et d’exporter un sommet et une primitive.L’exemple suivant présente un code Mesh Shader simple qui effectue le rendu d’un maillage meshletisé. Tout d’abord, le meshlet du groupe de threads est chargé et les nombres de sorties peuvent être déclarés immédiatement. Enfin, PrimitiveCount threads sont chargés de lire et d’écrire les données d’index de primitives, et VertexCount threads chargent l’index de sommet utilisé pour accéder aux données de sommet, puis l’ombrent et l’écrivent dans le tableau de sortie.L’exemple complet est disponible sur la page XBOX Developer Downloads.L’exemple de code suivant est un exemple d’implémentation de rendu d’un meshlet par un Mesh Shader.
#define MAX_MESHLET_SIZE 128StructureBuffer<MyVertex> Vertices;StructureBuffer<Meshlet> Meshlets;StructuredBuffer<uint> UniqueVertexIndices;StructureBuffer<uint3> PrimitiveIndices;VertexOut TransformVertex(MyVertex v) { ... }[NumThreads(MAX_MESHLET_SIZE, 1, 1)][OutputTopology("triangle")]void main( uint groupThreadId : SV_GroupIndex, uint groupId : SV_GroupID, out vertices VertexOut verts[MAX_MESHLET_SIZE], out indices uint3 tris[MAX_MESHLET_SIZE]){ Meshlet m = Meshlets[groupId]; SetMeshOutputCounts(m.VertCount, m.PrimCount); if (groupThreadId < m.PrimCount) { tris[groupThreadId] = PrimitiveIndices[m.PrimOffset + groupThreadId]; } if (groupThreadId < m.VertCount) { uint index = UniqueVertexIndices[m.VertOffset + groupThreadId]; MyVertex vin = Vertices[index]; verts[groupThreadId] = TransformVertex(vin); }}
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"XBOX Game Development Documentation","description":"Official developer documentation for the Microsoft Game Development Kit (GDK), XBOX Services APIs, PlayFab, PIX, and Partner Center — build, publish, and operate games on XBOX and Windows.","colors":{"primary":"#7CC400","light":"#7CC400","dark":"#7CC400"},"logo":{"light":"https://mintcdn.com/microsoft-4404708b/EGENQIzNH9RmFI5A/images/We_Are_Xbox_Email-Signature_200x200.png?fit=max\u0026auto=format\u0026n=EGENQIzNH9RmFI5A\u0026q=85\u0026s=78627ddb1e16ee7d1baa7bf50fdd25f5","dark":"https://mintcdn.com/microsoft-4404708b/EGENQIzNH9RmFI5A/images/We_Are_Xbox_Email-Signature_200x200.png?fit=max\u0026auto=format\u0026n=EGENQIzNH9RmFI5A\u0026q=85\u0026s=78627ddb1e16ee7d1baa7bf50fdd25f5"},"favicon":{"light":"https://mintcdn.com/microsoft-4404708b/EGENQIzNH9RmFI5A/images/We_Are_Xbox_Email-Signature_200x200.png?fit=max\u0026auto=format\u0026n=EGENQIzNH9RmFI5A\u0026q=85\u0026s=78627ddb1e16ee7d1baa7bf50fdd25f5","dark":"https://mintcdn.com/microsoft-4404708b/EGENQIzNH9RmFI5A/images/We_Are_Xbox_Email-Signature_200x200.png?fit=max\u0026auto=format\u0026n=EGENQIzNH9RmFI5A\u0026q=85\u0026s=78627ddb1e16ee7d1baa7bf50fdd25f5"},"appearance":{"default":"dark"},"background":{"color":{"light":"#FFFFFF","dark":"#09090b"}},"navbar":{"links":[{"href":"https://forms.cloud.microsoft/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR0NCPI86XoxGliSdH5F4obBUNUJFVE1BN0U4MlRUQzRSQUtGTjkwVDFaNy4u","label":"Submit a Bug / Issue"}],"primary":{"type":"button","label":"User Experience Feedback","href":"https://forms.cloud.microsoft/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR0NCPI86XoxGliSdH5F4obBUM0FQSjUwQkYyVFdDQ0tLQlI0MjhJTzQ1Wi4u"}},"footer":{"socials":{"website":"https://developer.microsoft.com/en-us/games","discord":"https://discord.com/invite/BDVZ8yY38W","youtube":"https://www.youtube.com/msftgamedev"},"links":[{"header":"GDK","items":[{"label":"GDK Download","href":"https://www.microsoft.com/en-us/software-download/gdk"},{"label":"GDK on GitHub","href":"https://github.com/microsoft/GDK"},{"label":"GDK Samples","href":"https://github.com/microsoft/Xbox-GDK-Samples"}]},{"header":"Services \u0026 Tools","items":[{"label":"PlayFab","href":"https://developer.microsoft.com/en-us/games/products/playfab"},{"label":"Microsoft Azure","href":"https://azure.microsoft.com/"},{"label":"Visual Studio","href":"https://visualstudio.microsoft.com/"},{"label":"Havok","href":"https://www.havok.com/"},{"label":"Simplygon","href":"https://www.simplygon.com/"}]},{"header":"Publishing","items":[{"label":"Onboarding HUB","href":"https://developer.microsoft.com/en-US/games/publish"},{"label":"Publish with ID@XBOX","href":"https://www.xbox.com/en-US/developers/id"},{"label":"XBOX Publisher Guide","href":"https://developer.microsoft.com/en-us/games/publish"},{"label":"Partner Center","href":"https://partner.microsoft.com/en-us/dashboard"}]}]},"seo":{"metatags":{"author":"XBOX","category":"Game Development","og:site_name":"XBOX Game Development Documentation","og:image":"/images/We_Are_Xbox_Email-Signature_200x200.png","twitter:card":"summary_large_image","twitter:image":"/images/We_Are_Xbox_Email-Signature_200x200.png","description":"Official developer documentation for the Microsoft Game Development Kit (GDK), XBOX Services APIs, PlayFab, PIX, and Partner Center — build, publish, and operate games on XBOX and Windows.","keywords":"XBOX, GDK, Game Development Kit, XSAPI, PlayFab, Partner Center, PIX, Microsoft Game Development, XBOX Series X, XBOX One, Windows game development, xbox-live, achievements, multiplayer","og:type":"website","twitter:site":"@msftgamedev"},"organization":{"name":"Microsoft","url":"https://developer.microsoft.com/en-us/games/","logo":"https://developer.microsoft.com/en-us/games/favicon.ico","sameAs":["https://github.com/microsoft/Xbox-GDK-Samples","https://www.youtube.com/msftgamedev","https://developer.microsoft.com/en-us/games/"]},"indexing":"navigable"},"fonts":{"heading":{"family":"Segoe UI Bold","weight":700,"source":"fonts/Segoe UI Bold.woff","format":"woff"},"body":{"family":"Segoe UI","weight":400,"source":"fonts/Segoe UI.woff","format":"woff"}},"styling":{"eyebrows":"breadcrumbs","latex":true},"thumbnails":{"background":"https://mintcdn.com/microsoft-4404708b/yWviP1jMKvfGdjTk/images/We_Are_Xbox_Teams-Background_01_Original_1920x1080.webp?fit=max\u0026auto=format\u0026n=yWviP1jMKvfGdjTk\u0026q=85\u0026s=80319a2dac1bf15401e6b379afe9e911"},"metadata":{"timestamp":true},"navigation":{"languages":[{"language":"en","href":""},{"language":"es","href":"es"},{"language":"fr-CA","href":"fr-CA"},{"language":"fr","href":"fr"},{"language":"ja-jp","href":"ja-jp"},{"language":"ko","href":"ko"},{"language":"pt-BR","href":"pt-BR"},{"language":"zh-CN","href":"zh-CN"},{"language":"zh-TW","href":"zh-TW"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"microsoft-4404708b","hasAudioNarration":false,"actualSubdomain":"microsoft-4404708b","customDomains":["docs.xbox.com","devdocs.xbox.com"],"gitSource":{"type":"github","owner":"microsoft","repo":"xbox-game-development-documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"a53d8103-258a-48d0-9c2f-ad441791c866","liveDeploymentHistoryId":"6ae5192f5cfdbf5c9e60e0e4","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae5192f5cfdbf5c9e60e0e4"},"feedback":{"thumbs":true,"agentFeedback":true,"issues":false,"edits":false,"contextualFeedback":{"allowEmail":true}},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae5192f5cfdbf5c9e60e0e4","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"en","tag":"GDK APIs","count":3482},{"language":"fr-CA","tag":"GDK APIs","count":3417},{"language":"fr","tag":"GDK APIs","count":3417},{"language":"zh-TW","tag":"GDK APIs","count":3417},{"language":"pt-BR","tag":"GDK APIs","count":3416},{"language":"ko","tag":"GDK APIs","count":3386},{"language":"en","tag":"PlayFab APIs","count":3346},{"language":"fr-CA","tag":"PlayFab APIs","count":3346},{"language":"fr","tag":"PlayFab APIs","count":3346},{"language":"pt-BR","tag":"PlayFab APIs","count":3346},{"language":"zh-TW","tag":"PlayFab APIs","count":3346},{"language":"zh-CN","tag":"PlayFab APIs","count":3341},{"language":"es","tag":"PlayFab APIs","count":3340},{"language":"ja-jp","tag":"PlayFab APIs","count":3340},{"language":"ko","tag":"PlayFab APIs","count":3340},{"language":"zh-CN","tag":"GDK APIs","count":3337},{"language":"ja-jp","tag":"GDK APIs","count":3336},{"language":"es","tag":"GDK APIs","count":3330},{"language":"en","tag":"PlayFab API","count":2556},{"language":"fr-CA","tag":"PlayFab API","count":2556},{"language":"fr","tag":"PlayFab API","count":2556},{"language":"pt-BR","tag":"PlayFab API","count":2556},{"language":"zh-CN","tag":"PlayFab API","count":2556},{"language":"zh-TW","tag":"PlayFab API","count":2556},{"language":"es","tag":"PlayFab API","count":2555},{"language":"ja-jp","tag":"PlayFab API","count":2555},{"language":"ko","tag":"PlayFab API","count":2555},{"language":"en","tag":"API Reference","count":2428},{"language":"fr-CA","tag":"API Reference","count":2428},{"language":"fr","tag":"API Reference","count":2428},{"language":"pt-BR","tag":"API Reference","count":2428},{"language":"zh-CN","tag":"API Reference","count":2428},{"language":"zh-TW","tag":"API Reference","count":2428},{"language":"es","tag":"API Reference","count":2427},{"language":"ja-jp","tag":"API Reference","count":2427},{"language":"ko","tag":"API Reference","count":2427},{"language":"en","tag":"Functions","count":1982},{"language":"fr-CA","tag":"Functions","count":1920},{"language":"fr","tag":"Functions","count":1920},{"language":"pt-BR","tag":"Functions","count":1920},{"language":"zh-TW","tag":"Functions","count":1920},{"language":"ko","tag":"Functions","count":1918},{"language":"ja-jp","tag":"Functions","count":1914},{"language":"es","tag":"Functions","count":1912},{"language":"zh-CN","tag":"Functions","count":1912},{"language":"en","tag":"Services C API","count":1523},{"language":"es","tag":"Services C API","count":1523},{"language":"fr-CA","tag":"Services C API","count":1523},{"language":"fr","tag":"Services C API","count":1523},{"language":"ja-jp","tag":"Services C API","count":1523},{"language":"ko","tag":"Services C API","count":1523},{"language":"pt-BR","tag":"Services C API","count":1523},{"language":"zh-CN","tag":"Services C API","count":1523},{"language":"zh-TW","tag":"Services C API","count":1523},{"language":"en","tag":"XBOX services API reference","count":1105},{"language":"zh-CN","tag":"XBOX services API reference","count":1048},{"language":"ja-jp","tag":"XBOX services API reference","count":1044},{"language":"fr-CA","tag":"XBOX services API reference","count":1043},{"language":"fr","tag":"XBOX services API reference","count":1043},{"language":"ko","tag":"XBOX services API reference","count":1043},{"language":"zh-TW","tag":"XBOX services API reference","count":1043},{"language":"pt-BR","tag":"XBOX services API reference","count":1042},{"language":"es","tag":"XBOX services API reference","count":1041},{"language":"pt-BR","tag":"Services","count":988},{"language":"fr","tag":"Services","count":987},{"language":"zh-TW","tag":"Services","count":987},{"language":"fr-CA","tag":"Services","count":986},{"language":"en","tag":"Services","count":977},{"language":"zh-CN","tag":"Services","count":969},{"language":"ja-jp","tag":"Services","count":963},{"language":"ko","tag":"Services","count":960},{"language":"es","tag":"Services","count":949},{"language":"en","tag":"Structures","count":927},{"language":"fr-CA","tag":"Structures","count":927},{"language":"fr","tag":"Structures","count":927},{"language":"pt-BR","tag":"Structures","count":927},{"language":"zh-TW","tag":"Structures","count":927},{"language":"ko","tag":"Structures","count":907},{"language":"zh-CN","tag":"Structures","count":898},{"language":"es","tag":"Structures","count":897},{"language":"ja-jp","tag":"Structures","count":897},{"language":"en","tag":"PlayFab REST API References","count":757},{"language":"es","tag":"PlayFab REST API References","count":757},{"language":"fr-CA","tag":"PlayFab REST API References","count":757},{"language":"fr","tag":"PlayFab REST API References","count":757},{"language":"ja-jp","tag":"PlayFab REST API References","count":757},{"language":"ko","tag":"PlayFab REST API References","count":757},{"language":"pt-BR","tag":"PlayFab REST API References","count":757},{"language":"zh-CN","tag":"PlayFab REST API References","count":757},{"language":"zh-TW","tag":"PlayFab REST API References","count":757},{"language":"default","tag":"PlayFab APIs","count":596},{"language":"default","tag":"PlayFab REST API References","count":596},{"language":"default","tag":"Server","count":162},{"language":"default","tag":"Account Management","count":112},{"language":"default","tag":"Multiplayer","count":88},{"language":"default","tag":"Client","count":79},{"language":"default","tag":"Admin","count":74},{"language":"default","tag":"Addon","count":62},{"language":"default","tag":"MultiplayerServer","count":51},{"language":"default","tag":"Groups","count":50}],"searchSettings":{"maxResults":10,"isFiltersEnabled":true,"showContentSnippets":true}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":true,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":false,"type":"link"}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"starterQuestions":[{"_id":"6ac9660d63bf063e3d634cde","deploymentId":"6a1f493825ae88ce6e69dab9","questionText":"What do I need to do before I can publish my game?","status":"active","generatedBy":"manual","createdAt":"2026-10-09T22:09:17.346Z","updatedAt":"2026-10-09T22:09:17.346Z","__v":0},{"_id":"6ac965e463bf063e3d634a49","deploymentId":"6a1f493825ae88ce6e69dab9","questionText":"How do I get access to game development tools?","status":"active","generatedBy":"manual","createdAt":"2026-10-09T22:08:36.356Z","updatedAt":"2026-10-09T22:08:36.356Z","__v":0},{"_id":"6ac965c863bf063e3d634792","deploymentId":"6a1f493825ae88ce6e69dab9","questionText":"How do I get started in building my XBOX game?","status":"active","generatedBy":"manual","createdAt":"2026-10-09T22:08:08.403Z","updatedAt":"2026-10-09T22:08:08.403Z","__v":0}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"#content-area{max-width:none;min-width:0}#content [data-table-wrapper] [data-component-part=scroll-area-viewport]{scrollbar-width:thin}#content [data-table-wrapper] [data-component-part=scroll-area-viewport]::-webkit-scrollbar{display:block;height:8px}#content [data-table-wrapper] [data-component-part=scroll-area-viewport]::-webkit-scrollbar-thumb{background-color:gray;border-radius:4px}#content [data-table-wrapper] [data-component-part=scroll-area-scrollbar][data-orientation=horizontal]{display:none}#background-color::after{content:\"\";position:fixed;inset:0;pointer-events:none;z-index:0;background:linear-gradient(to top left,rgba(124,196,0,.18) 0,rgba(124,196,0,.08) 10%,rgba(124,196,0,.02) 25%,rgba(124,196,0,0) 60%)}html.light #background-color::after{background:linear-gradient(to top left,rgba(124,196,0,.1) 0,rgba(124,196,0,.05) 10%,rgba(124,196,0,.02) 25%,rgba(124,196,0,0) 60%)}#sidebar{background:linear-gradient(to right,rgba(124,196,0,.08) 0,rgba(124,196,0,.03) 25%,rgba(124,196,0,0) 60%);border-right:1px solid rgba(124,196,0,.15)}html.light #sidebar{background:linear-gradient(to right,rgba(124,196,0,.05) 0,rgba(124,196,0,.02) 25%,rgba(124,196,0,0) 60%);border-right:1px solid rgba(124,196,0,.12)}#content-area a.link,#mdx-content a,#mdx-content a.link,mdx-content a{color:#1e6feb}#content-area a.link:hover,#mdx-content a.link:hover,#mdx-content a:hover,mdx-content a:hover{color:#1552b8}html.dark #content-area a.link,html.dark #mdx-content a,html.dark mdx-content a{color:#4c9aff}html.dark #content-area a.link:hover,html.dark #mdx-content a:hover,html.dark mdx-content a:hover{color:#7bb6ff}html.light #content-area,html.light #mdx-content,html.light #mdx-content dd,html.light #mdx-content dt,html.light #mdx-content li,html.light #mdx-content p,html.light #mdx-content span,html.light #mdx-content td,html.light #mdx-content th,html.light mdx-content{color:#1f1f1f}html.light #mdx-content h1,html.light #mdx-content h2,html.light #mdx-content h3,html.light #mdx-content h4,html.light #mdx-content h5,html.light #mdx-content h6,html.light #page-title,html.light #sidebar,html.light #sidebar a,html.light #sidebar-content,html.light #table-of-contents,html.light breadcrumb-item,html.light breadcrumb-list,html.light sidebar-group,html.light sidebar-group-header,html.light sidebar-title,html.light toc-item,html.light toc-item a{color:#000}html.dark #content-area,html.dark #mdx-content,html.dark #mdx-content dd,html.dark #mdx-content dt,html.dark #mdx-content li,html.dark #mdx-content p,html.dark #mdx-content span,html.dark #mdx-content td,html.dark #mdx-content th,html.dark mdx-content{color:#e6e6e6}html.dark #mdx-content h1,html.dark #mdx-content h2,html.dark #mdx-content h3,html.dark #mdx-content h4,html.dark #mdx-content h5,html.dark #mdx-content h6,html.dark #page-title,html.dark #sidebar,html.dark #sidebar a,html.dark #sidebar-content,html.dark #table-of-contents,html.dark breadcrumb-item,html.dark breadcrumb-list,html.dark sidebar-group,html.dark sidebar-group-header,html.dark sidebar-title,html.dark toc-item,html.dark toc-item a{color:#fff}"},{"filePath":"style.css","content":":root{--sidebar-width:17rem;--content-width:100%}@media (min-width:1024px){html:not([data-page-mode=custom]) #content-container{padding-inline:2rem;column-gap:1.5rem}}@media (min-width:1280px){#content-side-layout:not([data-api-example]){flex:0 0 13rem;width:13rem;max-width:13rem}#content-side-layout:not([data-api-example]) #table-of-contents-layout{width:100%;padding-inline-start:0}}#content [data-table-wrapper]{--page-padding:0px;width:100%;max-width:100%;margin-inline:0}#content [data-table-wrapper]>[data-component-part=scroll-area-viewport],#content table [data-component-part=code-block-root]>[data-component-part=scroll-area-viewport]{overflow:visible!important}#content [data-table-wrapper]>[data-component-part=scroll-area-viewport]>[data-component-part=scroll-area-content]{display:block;width:100%;min-width:0!important}#content [data-table-wrapper]>[data-component-part=scroll-area-viewport]>[data-component-part=scroll-area-content]>div{display:block;width:100%;min-width:0}#content table{table-layout:fixed;width:100%;min-width:0;max-width:100%}#content table td,#content table th{min-width:0;word-break:normal;vertical-align:top}#content table code,#content table td,#content table th{white-space:normal;overflow-wrap:anywhere}#content table pre,#content table pre code,#content table pre code span{white-space:pre-wrap!important;overflow-wrap:anywhere;word-break:normal}#content table [data-component-part=code-block-root],#content table [data-component-part=scroll-area-content]{width:100%;min-width:0!important;max-width:100%}#content [data-table-wrapper]>[data-fade-overlay],#content table [data-fade-overlay]{display:none}#content .xbox-home{--xbox-text:#181d14;--xbox-secondary:#4d5646;--xbox-muted:#5d6755;--xbox-card:#f4f7ef;--xbox-border:#dce3d5;--xbox-accent:#427100;width:min(100%,902px);margin-inline:auto;padding:120px 32px 96px;color:var(--xbox-text);font-family:var(--font-inter),Inter,\"Segoe UI\",sans-serif;font-size:16px;line-height:1.6}html.dark #content .xbox-home{--xbox-text:#fafafa;--xbox-secondary:#cccfc9;--xbox-muted:#a2a49e;--xbox-card:#0d100b;--xbox-border:#252922;--xbox-accent:#7cc400}#content .xbox-home,#content .xbox-home *,#content .xbox-home ::after,#content .xbox-home ::before{box-sizing:border-box}#content .xbox-home :is(h1, h2, h3, p, dl, dt, dd, ol){margin:0}#content .xbox-home a{color:inherit;text-decoration:none}#content .xbox-home a:focus-visible,#content .xbox-home summary:focus-visible{outline:2px solid var(--xbox-accent);outline-offset:5px}#content .xbox-home img{display:block;margin:0;flex-shrink:0}#content .xbox-home-hero{display:grid;grid-template-columns:minmax(0,1fr) 376px;gap:48px;align-items:start;margin-bottom:76px}#content .xbox-home h1{font-size:52px;font-weight:500;line-height:1.05;letter-spacing:-1.2px}#content .xbox-home .xbox-home-description{display:block;margin-top:24px;color:var(--xbox-secondary);font-size:17px;line-height:28px}#content .xbox-home-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;font-size:13px}#content .xbox-home-primary,#content .xbox-home-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 14px;border:1px solid var(--xbox-border);border-radius:10px}#content .xbox-home .xbox-home-primary{border-color:#7cc400;background:#7cc400;color:#101708;font-weight:600}#content .xbox-home-start{padding:20px 20px 8px;border:1px solid var(--xbox-border);border-radius:16px;background:var(--xbox-card)}#content .xbox-home-start h2{font-size:14px;font-weight:600;line-height:24px}#content .xbox-home .xbox-home-start-description{display:block;margin:4px 0 16px;color:var(--xbox-muted);font-size:12px;line-height:20px}#content .xbox-home-start-link{display:flex;align-items:center;gap:12px;min-height:52px;padding-block:12px;border-top:1px solid var(--xbox-border);font-size:13px;line-height:20px}#content .xbox-home-start-link span,#content .xbox-home-step span{flex:1}#content .xbox-home-section+.xbox-home-section{margin-top:52px}#content .xbox-home-section>h2{margin-bottom:24px;font-size:24px;font-weight:500;line-height:32px;letter-spacing:-.3px}#content .xbox-home-section>.xbox-home-section-description{margin-top:-12px;margin-bottom:24px;color:var(--xbox-muted);font-size:15px}#content .xbox-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}#content .xbox-home-product{border-radius:12px;background:var(--xbox-card)}#content .xbox-home-product-media{display:flex;align-items:center;justify-content:center;height:144px;border-radius:12px 12px 0 0;background:#121907}#content .xbox-home-product-label{display:block;padding:22px;font-size:14px;line-height:24px}#content .xbox-home-terms>div{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;padding-block:20px;border-top:1px solid var(--xbox-border);font-size:14px;line-height:24px}#content .xbox-home-terms>div:last-child{border-bottom:1px solid var(--xbox-border)}#content .xbox-home-definition{color:var(--xbox-muted)}#content .xbox-home-steps{display:grid;gap:12px;padding:0;list-style:none;counter-reset:xbox-step}#content .xbox-home-step-row{display:flex;align-items:center;gap:16px;counter-increment:xbox-step}#content .xbox-home-step-row::before{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:var(--xbox-border);color:var(--xbox-muted);font-size:12px;content:counter(xbox-step)}#content .xbox-home-step{display:flex;flex:1;align-items:center;gap:16px;min-height:60px;padding:16px;border:1px solid var(--xbox-border);border-radius:12px;font-size:15px}#content .xbox-home-faq{border:1px solid var(--xbox-border);border-radius:16px}#content .xbox-home-faq details+details{border-top:1px solid var(--xbox-border)}#content .xbox-home-faq summary{padding:16px 24px;color:var(--xbox-secondary);font-size:14px;cursor:pointer}#content .xbox-home-faq details>p{padding:0 24px 20px;color:var(--xbox-muted);font-size:14px}#content .xbox-home-faq a{color:var(--xbox-accent);text-decoration:underline;text-underline-offset:3px}#content .xbox-home-card{display:flex;flex-direction:column;gap:16px;min-height:180px;padding:16px;border:1px solid transparent;border-radius:12px;background:var(--xbox-card)}#content .xbox-home-card h3{font-size:16px;font-weight:500;line-height:24px}#content .xbox-home-card :is(p, span[data-as=\"p\"]){margin-top:-12px;color:var(--xbox-muted);font-size:12px;line-height:18px}#content .xbox-home-card-outline{min-height:118px;border-color:var(--xbox-border);background:0 0}#content .xbox-home :is(\n .xbox-home-start-link,\n #content .xbox-home-step,\n #content .xbox-home-card,\n #content .xbox-home-secondary\n ):hover{color:var(--xbox-accent);border-color:var(--xbox-accent)}@media (max-width:900px){#content .xbox-home{padding:48px 24px 64px}#content .xbox-home-hero{gap:32px;margin-bottom:48px}#content .xbox-home h1{max-width:440px;font-size:42px}#content .xbox-home-grid,#content .xbox-home-hero,#content .xbox-home-terms>div{grid-template-columns:minmax(0,1fr)}#content .xbox-home-terms>div{gap:8px}#content .xbox-home-card{min-height:0}#content .xbox-home-step{gap:12px;font-size:14px}}html[data-page-mode=custom][data-current-path=\"/\"] #navbar,html[data-page-mode=custom][data-current-path=\"/\"] #navbar-transition-maple,html[data-page-mode=custom][data-current-path=\"/\"] #sidebar{display:none}html[data-page-mode=custom][data-current-path=\"/\"] #content-container{margin-inline-start:0;padding-top:0}html[data-page-mode=custom][data-current-path=\"/\"] #content-area{margin-top:0}#content .xbox-home-navigation{display:flex;align-items:center;gap:24px;min-height:56px;padding:8px 32px;border-bottom:1px solid #dce3d5;color:#181d14;font-family:var(--font-inter),Inter,\"Segoe UI\",sans-serif;font-size:13px;line-height:20px}html.dark #content .xbox-home-navigation{border-color:#252922;color:#fafafa}#content .xbox-home-navigation a{text-decoration:none;color:inherit}#content .xbox-home-brand{display:flex;align-items:center;gap:8px;flex-shrink:0;font-size:18px}#content .xbox-home-brand img{display:block;margin:0}#content .xbox-home-navigation .xbox-home-nav-links{display:flex;flex:1;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px}#content .xbox-home-navigation .xbox-home-nav-links a{padding:6px 12px;border-radius:999px}#content .xbox-home-navigation a[aria-current=page]{background:#e5eadf}html.dark #content .xbox-home-navigation a[aria-current=page]{background:#34372e}#content .xbox-home-support{padding:6px 14px;border:1px solid #6f7865;border-radius:999px}#content .xbox-home-navigation a:focus-visible{outline:2px solid #7cc400;outline-offset:3px}#content .xbox-home-faq.accordion-group{margin:0}#content .xbox-home-question{margin:0;border:0;border-radius:0;background:0 0}#content .xbox-home-question+.xbox-home-question{border-top:1px solid var(--xbox-border)}#content .xbox-home-question [data-component-part=accordion-title]{color:var(--xbox-secondary);font-family:inherit;font-size:14px;font-weight:400}#content .xbox-home-question [data-component-part=accordion-content] :is(p, span[data-as=\"p\"]){color:var(--xbox-muted);font-size:14px}@media (max-width:1023px){#content .xbox-home-navigation{flex-wrap:wrap;gap:12px;padding:12px 24px}#content .xbox-home-navigation .xbox-home-nav-links{order:3;justify-content:flex-start;flex-basis:100%;gap:0}#content .xbox-home-navigation .xbox-home-nav-links a{padding:6px 10px;font-size:12px}#content .xbox-home-support{margin-inline-start:auto}}#content .xbox-home :is(h1, h2, h3){font-family:var(--font-inter),Inter,\"Segoe UI\",sans-serif}#content .xbox-home .xbox-home-primary img,html:not(.dark) #content .xbox-home :is(.xbox-home-start-link, .xbox-home-step, .xbox-home-card) img{filter:brightness(0)}#content .xbox-home-controls{display:flex;align-items:center;gap:10px;width:356px;max-width:100%;min-height:36px;margin-top:24px}#content .xbox-home-assistant,#content .xbox-home-search{display:flex;align-items:center;height:36px;border:1px solid var(--xbox-border);border-radius:12px;background:0 0;color:var(--xbox-muted);cursor:pointer}#content .xbox-home-search{flex:1;min-width:0;gap:8px;padding:0 12px 0 14px;font-family:inherit;font-size:14px}#content .xbox-home-search kbd{margin-inline-start:auto;padding:0;border:0;background:0 0;color:inherit;font-family:inherit;font-size:12px;font-weight:400}#content .xbox-home-assistant{flex:0 0 36px;justify-content:center}#content .xbox-home-controls button:hover{border-color:var(--xbox-muted)}#content .xbox-home-controls button:focus-visible{outline:2px solid var(--xbox-accent);outline-offset:4px}html:not(.dark) #content .xbox-home-controls img{filter:brightness(0)}"}],"page":{"pagePath":"fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render","slug":"/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render","pageMetadata":{"title":"Meshlets","description":"Meshlets","sidebarTitle":"Meshlets","icon":"palette","href":"/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Meshlets\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{CodeBlock,Heading,OptimizedImage}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Un `,_jsx(_components.em,{children:`meshlet`}),` est simplement un sous-bloc d’un maillage : un nombre fixe de primitives et de sommets. Un `,_jsx(_components.em,{children:`maillage`}),` peut être entièrement défini par un ensemble de meshlets, chacun étant constitué d’un ensemble unique de primitives du maillage. Nous qualifierons de `,_jsx(_components.em,{children:`meshletisé`}),` un maillage converti en structure de meshlets.`]}),`\n`,_jsx(_components.p,{children:`Le nombre fixe de primitives et de sommets utilisé pour construire le maillage meshletisé est identique dans toute la liste de meshlets et définit la taille maximale de chaque meshlet. Idéalement, chaque meshlet est aussi proche que possible de cette taille, sans nécessairement l’atteindre. Le tampon d’index traditionnel est remplacé par trois nouvelles structures de données : une liste de meshlets, une liste d’index de sommets uniques et une liste de primitives.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Figure 1. Rendu d’un maillage meshletisé coloré par meshlet (un dragon). Notez que les meshlets sont constitués de primitives présentant une cohérence spatiale raisonnable.`})}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/microsoft-4404708b/6hkHc7s12mHcTMCE/images/gdk/features/graphics/ms_dragon_meshlets.png?fit=max\u0026auto=format\u0026n=6hkHc7s12mHcTMCE\u0026q=85\u0026s=dc30dfff622025378255edbf728ba775`,alt:`Dragon`,\"data-og-width\":`519`,width:`519`,\"data-og-height\":`500`,height:`500`,\"data-path\":`images/gdk/features/graphics/ms_dragon_meshlets.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/microsoft-4404708b/6hkHc7s12mHcTMCE/images/gdk/features/graphics/ms_dragon_meshlets.png?w=280\u0026fit=max\u0026auto=format\u0026n=6hkHc7s12mHcTMCE\u0026q=85\u0026s=1f4bd100c24b054558a280e3aa4cabb5 280w, https://mintcdn.com/microsoft-4404708b/6hkHc7s12mHcTMCE/images/gdk/features/graphics/ms_dragon_meshlets.png?w=560\u0026fit=max\u0026auto=format\u0026n=6hkHc7s12mHcTMCE\u0026q=85\u0026s=bb39d8b00da86dec6d2ea98a3e6da044 560w, https://mintcdn.com/microsoft-4404708b/6hkHc7s12mHcTMCE/images/gdk/features/graphics/ms_dragon_meshlets.png?w=840\u0026fit=max\u0026auto=format\u0026n=6hkHc7s12mHcTMCE\u0026q=85\u0026s=021fcfcfd228b5876f8db9f8c4717aca 840w, https://mintcdn.com/microsoft-4404708b/6hkHc7s12mHcTMCE/images/gdk/features/graphics/ms_dragon_meshlets.png?w=1100\u0026fit=max\u0026auto=format\u0026n=6hkHc7s12mHcTMCE\u0026q=85\u0026s=38b08106b1c1bdd84a86a5e25a1e989d 1100w, https://mintcdn.com/microsoft-4404708b/6hkHc7s12mHcTMCE/images/gdk/features/graphics/ms_dragon_meshlets.png?w=1650\u0026fit=max\u0026auto=format\u0026n=6hkHc7s12mHcTMCE\u0026q=85\u0026s=7f4980eccb4c1295c6373a70a042bc8b 1650w, https://mintcdn.com/microsoft-4404708b/6hkHc7s12mHcTMCE/images/gdk/features/graphics/ms_dragon_meshlets.png?w=2500\u0026fit=max\u0026auto=format\u0026n=6hkHc7s12mHcTMCE\u0026q=85\u0026s=68c05d5a27125f5cb85e8caad01f96ce 2500w`}),`\n`,_jsx(_components.p,{children:`L’exemple de code suivant est une implémentation C++ d’une structure de meshlet d’exécution. Ces données décrivent entièrement un maillage pouvant être rendu.`}),`\n`,_jsx(CodeBlock,{numberOfLines:`17`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`17`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`struct Meshlet`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`{`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` // Meshlet data.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` uint VertexOffset;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` uint VertexCount;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` uint PrimitiveOffset;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` uint PrimitiveCount;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` // Culling data.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ...`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`};`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`std::vector\u003cMyVertex> Vertices;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`std::vector\u003cMeshlet> Meshlets;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`std::vector\u003cuint16_t> UniqueVertexIndices;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`std::vector\u003cuint8_t> PrimitiveIndices;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Cette structure de meshlet présente plusieurs avantages pour le rendu avec Mesh Shader. Chaque meshlet a une taille maximale fixe, ce qui est idéal pour associer un groupe de threads de taille fixe à un seul meshlet et offre une correspondance intuitive entre thread et sommet/primitive. Les nombres de sommets et de primitives sont connus à l’avance, ce qui évite d’avoir à les calculer dans le code du shader. Les index de sommets sont déjà dédoublonnés, ce qui élimine les transformations et exportations de sommets redondantes. Les index de primitives sont localisés par rapport à la liste de sommets du meshlet. Les meshlets offrent également une granularité supplémentaire pour l’élimination (culling) grâce à des informations spatiales et d’orientation.`}),`\n`,_jsx(_components.p,{children:`L’exemple de code précédent montre les relations entre les nouveaux tampons de meshlets. La liste de meshlets est une liste plate de la structure « meshlet » d’exécution, qui contient au minimum un décalage et un nombre dans les listes d’index de sommets uniques et de primitives. La liste d’index de sommets uniques est une liste dédoublonnée d’index dans le tampon de données de sommets. La liste de primitives définit les primitives du maillage et se compose d’index dans la liste d’index de sommets uniques, localisés par rapport au décalage de sommets du meshlet.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Figure 2. Diagramme illustrant la relation entre les tampons de meshlets.`})}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/microsoft-4404708b/6hkHc7s12mHcTMCE/images/gdk/features/graphics/ms_meshlet_data.png?fit=max\u0026auto=format\u0026n=6hkHc7s12mHcTMCE\u0026q=85\u0026s=e8e9587e2ed7cde69d6bb91adb78971f`,alt:`Diagramme illustrant la relation entre les tampons de meshlets`,\"data-og-width\":`1000`,width:`1000`,\"data-og-height\":`283`,height:`283`,\"data-path\":`images/gdk/features/graphics/ms_meshlet_data.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/microsoft-4404708b/6hkHc7s12mHcTMCE/images/gdk/features/graphics/ms_meshlet_data.png?w=280\u0026fit=max\u0026auto=format\u0026n=6hkHc7s12mHcTMCE\u0026q=85\u0026s=0ebc55949276356c6c880f335e1f22b2 280w, https://mintcdn.com/microsoft-4404708b/6hkHc7s12mHcTMCE/images/gdk/features/graphics/ms_meshlet_data.png?w=560\u0026fit=max\u0026auto=format\u0026n=6hkHc7s12mHcTMCE\u0026q=85\u0026s=fb06ecbc27eb35db49eba099ff278a0f 560w, https://mintcdn.com/microsoft-4404708b/6hkHc7s12mHcTMCE/images/gdk/features/graphics/ms_meshlet_data.png?w=840\u0026fit=max\u0026auto=format\u0026n=6hkHc7s12mHcTMCE\u0026q=85\u0026s=0157ee637d33fa3a38bd85fefdbb78ee 840w, https://mintcdn.com/microsoft-4404708b/6hkHc7s12mHcTMCE/images/gdk/features/graphics/ms_meshlet_data.png?w=1100\u0026fit=max\u0026auto=format\u0026n=6hkHc7s12mHcTMCE\u0026q=85\u0026s=f255e54cb56a615adb54e356b8c81b15 1100w, https://mintcdn.com/microsoft-4404708b/6hkHc7s12mHcTMCE/images/gdk/features/graphics/ms_meshlet_data.png?w=1650\u0026fit=max\u0026auto=format\u0026n=6hkHc7s12mHcTMCE\u0026q=85\u0026s=ad6c9aa766081b23a2f4a99def4a9961 1650w, https://mintcdn.com/microsoft-4404708b/6hkHc7s12mHcTMCE/images/gdk/features/graphics/ms_meshlet_data.png?w=2500\u0026fit=max\u0026auto=format\u0026n=6hkHc7s12mHcTMCE\u0026q=85\u0026s=6128af3c0267ba9ff3c5e835b031fcab 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`conversion-en-meshlets`,children:`Conversion en meshlets`}),`\n`,_jsx(_components.p,{children:`La meshletisation d’un maillage à tampon d’index traditionnel ne nécessite aucune modification du flux de travail des artistes : il s’agit d’une étape procédurale de post-traitement après la création du modèle. Le tampon d’index traditionnel peut également être régénéré rapidement à l’exécution, ce qui évite d’avoir à livrer à la fois des tampons d’index traditionnels et des tampons de meshlets. La meshletisation pouvant être coûteuse en calcul, nous vous recommandons de l’effectuer hors ligne au préalable.`}),`\n`,_jsxs(_components.p,{children:[`Un exemple de projet de convertisseur de meshlets, comprenant une bibliothèque C++ et un outil en ligne de commande, est fourni par ATG pour effectuer cette conversion, avec nos autres exemples, sur la `,_jsx(_components.a,{href:`https://aka.ms/xgddl`,children:`page XBOX Developer Downloads`}),`. Cet outil ne modifie pas les données de sommets elles-mêmes ; nous vous recommandons donc d’exécuter un optimiseur de cache de sommets, tel que l’algorithme de Forsyth, sur les données du maillage avant la meshletisation. Les optimiseurs ont tendance à créer des maillages plus cohérents spatialement que ce que l’on peut attendre universellement des outils de création de contenu. Des heuristiques supplémentaires pourraient être ajoutées pour équilibrer la réutilisation des sommets avec les propriétés d’élimination avantageuses de la structure de maillage résultante.`]}),`\n`,_jsx(Heading,{level:`2`,id:`rendu-avec-des-meshlets`,children:`Rendu avec des meshlets`}),`\n`,_jsx(_components.p,{children:`La structure du meshlet rend le rendu très simple avec les Mesh Shaders. Déclarez la taille du groupe de threads comme étant la taille maximale d’un meshlet et distribuez un groupe de threads pour chaque meshlet du maillage. Chaque thread est chargé de traiter et d’exporter un sommet et une primitive.`}),`\n`,_jsx(_components.p,{children:`L’exemple suivant présente un code Mesh Shader simple qui effectue le rendu d’un maillage meshletisé. Tout d’abord, le meshlet du groupe de threads est chargé et les nombres de sorties peuvent être déclarés immédiatement. Enfin, PrimitiveCount threads sont chargés de lire et d’écrire les données d’index de primitives, et VertexCount threads chargent l’index de sommet utilisé pour accéder aux données de sommet, puis l’ombrent et l’écrivent dans le tableau de sortie.`}),`\n`,_jsxs(_components.p,{children:[`L’exemple complet est disponible sur la `,_jsx(_components.a,{href:`https://aka.ms/xgddl`,children:`page XBOX Developer Downloads`}),`.`]}),`\n`,_jsx(_components.p,{children:`L’exemple de code suivant est un exemple d’implémentation de rendu d’un meshlet par un Mesh Shader.`}),`\n`,_jsx(CodeBlock,{numberOfLines:`35`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`35`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`#define MAX_MESHLET_SIZE 128`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`StructureBuffer\u003cMyVertex> Vertices;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`StructureBuffer\u003cMeshlet> Meshlets;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`StructuredBuffer\u003cuint> UniqueVertexIndices;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`StructureBuffer\u003cuint3> PrimitiveIndices;`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`VertexOut TransformVertex(MyVertex v) { ... }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`[NumThreads(MAX_MESHLET_SIZE, 1, 1)]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`[OutputTopology(\"triangle\")]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`void main(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` uint groupThreadId : SV_GroupIndex,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` uint groupId : SV_GroupID,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` out vertices VertexOut verts[MAX_MESHLET_SIZE],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` out indices uint3 tris[MAX_MESHLET_SIZE])`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`{`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` Meshlet m = Meshlets[groupId];`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` SetMeshOutputCounts(m.VertCount, m.PrimCount);`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` if (groupThreadId \u003c m.PrimCount) `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` tris[groupThreadId] = PrimitiveIndices[m.PrimOffset + groupThreadId];`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` if (groupThreadId \u003c m.VertCount) `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` uint index = UniqueVertexIndices[m.VertOffset + groupThreadId];`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` MyVertex vin = Vertices[index];`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` verts[groupThreadId] = TransformVertex(vin);`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`2`,id:`voir-aussi`,children:`Voir aussi`}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`/fr/build/core-features/graphics/newfeatures/ms/ms-overview`,children:`Vue d’ensemble du pipeline Mesh Shader`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`/fr/build/core-features/graphics/newfeatures/ms/ms-api-design`,children:`Vue d’ensemble de l’API Mesh Shader`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`/fr/build/core-features/graphics/newfeatures/ms/ms-usage`,children:`Utilisation du Mesh Shader`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-culling`,children:`Élimination des meshlets`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Meshlets","description":"Meshlets","sidebarTitle":"Meshlets","icon":"palette","href":"/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Conversion en meshlets","slug":"conversion-en-meshlets","depth":2,"children":[]},{"title":"Rendu avec des meshlets","slug":"rendu-avec-des-meshlets","depth":2,"children":[]},{"title":"Voir aussi","slug":"voir-aussi","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"microsoft-4404708b","siteName":"XBOX Game Development Documentation","title":"Meshlets - XBOX Game Development Documentation","relatedPagesConfig":{"enabled":true,"limit":5,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/build/core-features/graphics/newfeatures/ms/ms-meshlet-render","matchLevel":1},"es":{"href":"/es/build/core-features/graphics/newfeatures/ms/ms-meshlet-render","matchLevel":1},"fr-CA":{"href":"/fr-CA/build/core-features/graphics/newfeatures/ms/ms-meshlet-render","matchLevel":1},"fr":{"href":"/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render","matchLevel":0},"ja-jp":{"href":"/ja-jp/build/core-features/graphics/newfeatures/ms/ms-meshlet-render","matchLevel":1},"ko":{"href":"/ko/build/core-features/graphics/newfeatures/ms/ms-meshlet-render","matchLevel":1},"pt-BR":{"href":"/pt-BR/build/core-features/graphics/newfeatures/ms/ms-meshlet-render","matchLevel":1},"zh-CN":{"href":"/zh-CN/build/core-features/graphics/newfeatures/ms/ms-meshlet-render","matchLevel":1},"zh-TW":{"href":"/zh-TW/build/core-features/graphics/newfeatures/ms/ms-meshlet-render","matchLevel":1}}},"lastModified":"2026-10-07T17:22:00.254Z","gitLastModified":"2026-10-06T23:18:36.000Z","originalFileLocation":"fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render.mdx","locale":"fr"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Meshlets\">\u003cmeta data-mint-head name=\"keywords\" content=\"XBOX, GDK, Game Development Kit, XSAPI, PlayFab, Partner Center, PIX, Microsoft Game Development, XBOX Series X, XBOX One, Windows game development, xbox-live, achievements, multiplayer\">\u003cmeta data-mint-head name=\"application-name\" content=\"XBOX Game Development Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://mintcdn.com/microsoft-4404708b/EGENQIzNH9RmFI5A/images/We_Are_Xbox_Email-Signature_200x200.png?fit=max\u0026amp;auto=format\u0026amp;n=EGENQIzNH9RmFI5A\u0026amp;q=85\u0026amp;s=78627ddb1e16ee7d1baa7bf50fdd25f5\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintcdn.com/microsoft-4404708b/EGENQIzNH9RmFI5A/images/We_Are_Xbox_Email-Signature_200x200.png?fit=max\u0026amp;auto=format\u0026amp;n=EGENQIzNH9RmFI5A\u0026amp;q=85\u0026amp;s=78627ddb1e16ee7d1baa7bf50fdd25f5\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintcdn.com/microsoft-4404708b/EGENQIzNH9RmFI5A/images/We_Are_Xbox_Email-Signature_200x200.png?fit=max\u0026amp;auto=format\u0026amp;n=EGENQIzNH9RmFI5A\u0026amp;q=85\u0026amp;s=78627ddb1e16ee7d1baa7bf50fdd25f5\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/png\" href=\"https://mintcdn.com/microsoft-4404708b/EGENQIzNH9RmFI5A/images/We_Are_Xbox_Email-Signature_200x200.png?fit=max\u0026amp;auto=format\u0026amp;n=EGENQIzNH9RmFI5A\u0026amp;q=85\u0026amp;s=78627ddb1e16ee7d1baa7bf50fdd25f5\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintcdn.com/microsoft-4404708b/EGENQIzNH9RmFI5A/images/We_Are_Xbox_Email-Signature_200x200.png?fit=max\u0026amp;auto=format\u0026amp;n=EGENQIzNH9RmFI5A\u0026amp;q=85\u0026amp;s=78627ddb1e16ee7d1baa7bf50fdd25f5\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintcdn.com/microsoft-4404708b/EGENQIzNH9RmFI5A/images/We_Are_Xbox_Email-Signature_200x200.png?fit=max\u0026amp;auto=format\u0026amp;n=EGENQIzNH9RmFI5A\u0026amp;q=85\u0026amp;s=78627ddb1e16ee7d1baa7bf50fdd25f5\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/png\" href=\"https://mintcdn.com/microsoft-4404708b/EGENQIzNH9RmFI5A/images/We_Are_Xbox_Email-Signature_200x200.png?fit=max\u0026amp;auto=format\u0026amp;n=EGENQIzNH9RmFI5A\u0026amp;q=85\u0026amp;s=78627ddb1e16ee7d1baa7bf50fdd25f5\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Meshlets - XBOX Game Development Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Meshlets\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"XBOX Game Development Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.xbox.com/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://microsoft-4404708b.mintlify.app/images/We_Are_Xbox_Email-Signature_200x200.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Meshlets - XBOX Game Development Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Meshlets\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://microsoft-4404708b.mintlify.app/images/We_Are_Xbox_Email-Signature_200x200.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/microsoft-4404708b/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"XBOX Game Development Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7CC400\">\u003cmeta data-mint-head name=\"author\" content=\"XBOX\">\u003cmeta data-mint-head name=\"category\" content=\"Game Development\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.xbox.com/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.xbox.com/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.xbox.com/build/core-features/graphics/newfeatures/ms/ms-meshlet-render\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.xbox.com/es/build/core-features/graphics/newfeatures/ms/ms-meshlet-render\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr-CA\" href=\"https://docs.xbox.com/fr-CA/build/core-features/graphics/newfeatures/ms/ms-meshlet-render\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja-JP\" href=\"https://docs.xbox.com/ja-jp/build/core-features/graphics/newfeatures/ms/ms-meshlet-render\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.xbox.com/ko/build/core-features/graphics/newfeatures/ms/ms-meshlet-render\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.xbox.com/pt-BR/build/core-features/graphics/newfeatures/ms/ms-meshlet-render\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh-CN\" href=\"https://docs.xbox.com/zh-CN/build/core-features/graphics/newfeatures/ms/ms-meshlet-render\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh-TW\" href=\"https://docs.xbox.com/zh-TW/build/core-features/graphics/newfeatures/ms/ms-meshlet-render\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.xbox.com/build/core-features/graphics/newfeatures/ms/ms-meshlet-render\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developer.microsoft.com/en-us/games/#organization\",\"name\":\"Microsoft\",\"url\":\"https://developer.microsoft.com/en-us/games/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://developer.microsoft.com/en-us/games/favicon.ico\"},\"sameAs\":[\"https://github.com/microsoft/Xbox-GDK-Samples\",\"https://www.youtube.com/msftgamedev\",\"https://developer.microsoft.com/en-us/games/\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.xbox.com#website\",\"name\":\"XBOX Game Development Documentation\",\"url\":\"https://docs.xbox.com\",\"publisher\":{\"@id\":\"https://developer.microsoft.com/en-us/games/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.xbox.com/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render#webpage\",\"url\":\"https://docs.xbox.com/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render\",\"name\":\"Meshlets\",\"description\":\"Meshlets\",\"dateModified\":\"2026-10-06T23:18:36.000Z\",\"isPartOf\":{\"@id\":\"https://docs.xbox.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.xbox.com/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.xbox.com/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Core Features\",\"item\":\"https://docs.xbox.com/fr/build/core-features/common/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Graphics and Rendering\",\"item\":\"https://docs.xbox.com/fr/build/core-features/common/lighting/gc-lighting-toc\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Meshlets\",\"item\":\"https://docs.xbox.com/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.xbox.com/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render#article\",\"headline\":\"Meshlets\",\"name\":\"Meshlets\",\"description\":\"Meshlets\",\"url\":\"https://docs.xbox.com/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render\",\"mainEntityOfPage\":{\"@id\":\"https://docs.xbox.com/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render#webpage\"},\"image\":\"https://docs.xbox.com/images/We_Are_Xbox_Email-Signature_200x200.png\",\"dateModified\":\"2026-10-06T23:18:36.000Z\",\"publisher\":{\"@id\":\"https://developer.microsoft.com/en-us/games/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.xbox.com#website\"}}]}\u003c/script>","siteName":"XBOX Game Development Documentation","nav":{"languages":[{"language":"en","pages":[{"title":"en","href":"/build/core-features/graphics/newfeatures/ms/ms-meshlet-render"}]},{"language":"es","pages":[{"title":"es","href":"/es/build/core-features/graphics/newfeatures/ms/ms-meshlet-render"}]},{"language":"fr-CA","pages":[{"title":"fr-CA","href":"/fr-CA/build/core-features/graphics/newfeatures/ms/ms-meshlet-render"}]},{"language":"fr","tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/fr"}]},{"tab":"Get Started","pages":[{"title":"Get Started","href":"/fr/paths/porting/overview"}]},{"tab":"Build","pages":[{"group":"GDK and Game Engines Integration","icon":"rocket","pages":[{"group":"Unity Development Guide","pages":[{"title":"Utilisation des wrappers C# pour les API GDK dans votre projet Unity","sidebarTitle":"Utilisation des wrappers C# pour les API GDK dans votre projet Unity","icon":"unity","href":"/fr/build/gdk-and-engines/unity/unity-api-wrappers"}]},{"group":"Unreal Development Guide","pages":[{"title":"Création de jeux XBOX avec les nouveaux plug-ins GDK d'Unreal Engine","sidebarTitle":"Création de jeux XBOX avec les nouveaux plug-ins GDK d'Unreal Engine","icon":"unreal-engine","href":"/fr/build/gdk-and-engines/unreal/unreal-xbox-pc"},{"title":"Prise en main d'Unreal Engine pour le développement PC","sidebarTitle":"Prise en main d'Unreal Engine pour le développement PC","icon":"u","href":"/fr/build/gdk-and-engines/unreal/unreal"},{"title":"Développement Unreal pour PC : prise en main (versions antérieures)","sidebarTitle":"Développement Unreal pour PC : prise en main (versions antérieures)","icon":"unreal-engine","href":"/fr/build/gdk-and-engines/unreal/unreal-legacy"}]},{"title":"Intégration d'un moteur personnalisé pour PC : prise en main (C/C++)","sidebarTitle":"Intégration d'un moteur personnalisé pour PC : prise en main (C/C++)","icon":"code-branch","href":"/fr/build/gdk-and-engines/custom-engine"},{"title":"Prise en main du développement GameMaker pour PC","sidebarTitle":"Prise en main du développement GameMaker pour PC","icon":"dice","href":"/fr/build/gdk-and-engines/gamemaker"},{"group":"Godot development for XBOX","pages":[{"title":"Prise en main de Godot pour le développement XBOX","sidebarTitle":"Prise en main de Godot pour le développement XBOX","icon":"robot","href":"/fr/build/gdk-and-engines/godot"},{"group":"Release notes","icon":"clipboard-list","pages":[{"icon":"clipboard-list","title":"Version v0.1.0 de l'exemple XBOX Godot NetRumble","sidebarTitle":"Version v0.1.0 de l'exemple XBOX Godot NetRumble","href":"/fr/build/gdk-and-engines/godot-release-notes/godot-netrumble-release-notes-0-1-0"},{"icon":"clipboard-list","title":"Version v0.3.0 de l'exemple XBOX Godot","sidebarTitle":"Version v0.3.0 de l'exemple XBOX Godot","href":"/fr/build/gdk-and-engines/godot-release-notes/godot-release-notes-0-3-0"},{"icon":"clipboard-list","title":"Version v0.2.0 de l'exemple XBOX Godot","sidebarTitle":"Version v0.2.0 de l'exemple XBOX Godot","href":"/fr/build/gdk-and-engines/godot-release-notes/godot-release-notes-0-2-0"},{"icon":"clipboard-list","title":"Version v0.1.0 de l'exemple XBOX Godot","sidebarTitle":"Version v0.1.0 de l'exemple XBOX Godot","href":"/fr/build/gdk-and-engines/godot-release-notes/godot-release-notes-0-1-0"}]}]},{"title":"Utiliser le GDK avec Unity, Unreal et d'autres moteurs","sidebarTitle":"GDK et moteurs","icon":"puzzle-piece","href":"/fr/build/gdk-and-engines/gdk-and-engines"},{"group":"Unity","icon":"cube","pages":[{"title":"Prise en main de Unity pour le développement PC (contenu)","sidebarTitle":"Prise en main de Unity pour le développement PC (contenu)","icon":"cube","href":"/fr/build/gdk-and-engines/unity/unity"}]},{"title":"Services facultatifs","sidebarTitle":"Services facultatifs","icon":"plug","href":"/fr/build/gdk-and-engines/optional-services"},{"group":"Handheld devices","icon":"mobile-screen","pages":[{"title":"Vue d'ensemble des PC portables","sidebarTitle":"Vue d'ensemble","icon":"mobile-screen","href":"/fr/build/gdk-and-engines/handheld/overview"}]}]},{"group":"Steam porting guide","icon":"steam","pages":[{"icon":"circle-info","title":"Vue d'ensemble du guide de portage Steam","sidebarTitle":"Vue d'ensemble","href":"/fr/build/steam-porting-guide/overview"},{"group":"Features","pages":[{"icon":"file-lines","title":"Statistiques et succès","href":"/fr/build/steam-porting-guide/features/stats-and-achievements"},{"icon":"file-lines","title":"Porter le stockage Steam Cloud vers le GDK XBOX","href":"/fr/build/steam-porting-guide/features/steam-cloud"},{"icon":"file-lines","title":"Classements","href":"/fr/build/steam-porting-guide/features/steam-leaderboards"},{"icon":"file-lines","title":"Authentification des utilisateurs et propriété","href":"/fr/build/steam-porting-guide/features/user-authentication-and-ownership"}]},{"icon":"file-lines","title":"Fonctionnalités du GDK absentes de Steamworks","href":"/fr/build/steam-porting-guide/gdk-features-not-in-steamworks"},{"icon":"file-lines","title":"Initialisation du GDK","href":"/fr/build/steam-porting-guide/initializing-the-gdk"}]},{"group":"Game Principles","icon":"compass","pages":[{"title":"Vue d'ensemble de l'accessibilité","icon":"universal-access","sidebarTitle":"Vue d'ensemble de l'accessibilité","href":"/fr/build/game-principles/accessibility/accessibility-overview"},{"group":"Localization and globalization","icon":"globe","pages":[{"title":"Langues prises en charge par la console","sidebarTitle":"Langues prises en charge par la console","icon":"language","href":"/fr/build/game-principles/localization/console-supported-languages"},{"title":"Déterminer les paramètres régionaux et la langue de la console","sidebarTitle":"Déterminer les paramètres régionaux","icon":"map-pin","href":"/fr/build/game-principles/localization/determining-console-locale"},{"title":"Déterminer l'emplacement de la console","sidebarTitle":"Déterminer l'emplacement de la console","icon":"location-dot","href":"/fr/build/game-principles/localization/determining-console-geolocation"},{"title":"Fonctions NLS prises en charge","sidebarTitle":"Fonctions NLS prises en charge","icon":"list","href":"/fr/build/game-principles/localization/supported-nls-apis"},{"title":"Localisation des ressources empaquetées","sidebarTitle":"Localiser les ressources empaquetées","icon":"box","href":"/fr/build/game-principles/localization/localization-of-packaged-resources"},{"title":"Paramètres régionaux pris en charge et non pris en charge par le jeu","sidebarTitle":"Paramètres régionaux pris en charge et non pris en charge","icon":"circle-check","href":"/fr/build/game-principles/localization/game-supported-and-unsupported-locales"},{"title":"Localisation Economy v2","icon":"globe","sidebarTitle":"Localisation Economy v2","href":"/fr/build/game-principles/localization"}]},{"title":"Vue d'ensemble du développement durable","sidebarTitle":"Vue d'ensemble du développement durable","icon":"leaf","href":"/fr/build/game-principles/sustainability/sustainability-overview"},{"title":"Game security concepts","href":"/fr/build/game-principles/security/game-security-concepts"},{"title":"Communication security overview","href":"/fr/build/game-principles/security/communication-security-overview"},{"title":"Secure communication impl","href":"/fr/build/game-principles/security/secure-communication-impl"},{"title":"Secure webrequest impl","href":"/fr/build/game-principles/security/secure-webrequest-impl"},{"title":"Secure game mesh impl","href":"/fr/build/game-principles/security/secure-game-mesh-impl"},{"title":"Secure samples","href":"/fr/build/game-principles/security/secure-samples"},{"title":"General game security","href":"/fr/build/game-principles/security/general-game-security"},{"title":"Game tool security","href":"/fr/build/game-principles/security/game-tool-security"},{"group":"XBOX Game Development Docs","pages":[{"group":"XBOX Sustainability","pages":[{"title":"Principes essentiels de l'efficacité énergétique des jeux Xbox","sidebarTitle":"Principes essentiels de l'efficacité énergétique des jeux Xbox","icon":"bolt","href":"/fr/build/game-principles/sustainability/energy-efficiency-essentials"},{"title":"Durabilité des jeux : références de plateforme en laboratoire","sidebarTitle":"Durabilité des jeux : références de plateforme en laboratoire","icon":"flask","href":"/fr/build/game-principles/sustainability/lab-platform-baselines"},{"title":"Durabilité des jeux : références de plateforme mondiales","sidebarTitle":"Durabilité des jeux : références de plateforme mondiales","icon":"globe","href":"/fr/build/game-principles/sustainability/global-platform-baselines"},{"group":"Developer tools","expanded":true,"pages":[{"title":"Présentation du développement durable pour les développeurs","sidebarTitle":"Présentation du développement durable pour les développeurs","icon":"gauge-high","href":"/fr/build/game-principles/sustainability/sustainability-developer-overview"},{"title":"Durabilité des jeux : tests dans PIX","sidebarTitle":"Durabilité des jeux : tests dans PIX","icon":"chart-mixed","href":"/fr/build/game-principles/sustainability/sustainability-pix-guide"},{"title":"Durabilité des jeux : tests avec votre devkit","sidebarTitle":"Durabilité des jeux : tests avec votre devkit","icon":"microchip","href":"/fr/build/game-principles/sustainability/sustainability-devkit-guide"},{"title":"Dynamic Power States","sidebarTitle":"Dynamic Power States","icon":"bolt","href":"/fr/build/game-principles/sustainability/dynamic-power-states"}]},{"title":"Durabilité des jeux : tests de certification","sidebarTitle":"Durabilité des jeux : tests de certification","icon":"clipboard-check","href":"/fr/build/game-principles/sustainability/sustainability-case-studies"},{"title":"Afficher les données de développement durable dans Partner Center","sidebarTitle":"Afficher les données de développement durable dans Partner Center","icon":"chart-line","href":"/fr/build/game-principles/sustainability/partner-center-sustainability-data"}]}]},{"group":"Security","icon":"shield","pages":[{"title":"Vue d'ensemble de la sécurité du GDK","icon":"shield","href":"/fr/build/game-principles/security/security-overview"}]},{"group":"XBOX Accessibility","icon":"universal-access","pages":[{"title":"Étiquettes de fonctionnalités d'accessibilité","sidebarTitle":"Étiquettes de fonctionnalités d'accessibilité","icon":"tags","href":"/fr/build/game-principles/accessibility/accessibility-feature-tags"},{"title":"Accessibilité des expériences de jeu basées sur l'IA","sidebarTitle":"Accessibilité des expériences de jeu basées sur l'IA","icon":"microchip-ai","href":"/fr/build/game-principles/accessibility/accessibility-of-gaming-ai"},{"title":"Ressources d'accessibilité pour les développeurs","sidebarTitle":"Ressources d'accessibilité","icon":"graduation-cap","href":"/fr/build/game-principles/accessibility/accessibility-resources"},{"title":"Savoir-vivre face au handicap","sidebarTitle":"Savoir-vivre face au handicap","icon":"handshake","href":"/fr/build/game-principles/accessibility/etiquette"},{"title":"Parcours d'apprentissage Gaming Accessibility Fundamentals","sidebarTitle":"Parcours d'apprentissage Gaming Accessibility Fundamentals","icon":"graduation-cap","href":"/fr/build/game-principles/accessibility/gaf-info"},{"title":"Guide de l'expérience des joueurs en situation de handicap","sidebarTitle":"Guide de l'expérience des joueurs en situation de handicap","icon":"user-group","href":"/fr/build/game-principles/accessibility/gadpeg"},{"title":"Boîte à outils pour les ateliers d'accessibilité des jeux","sidebarTitle":"Boîte à outils pour les ateliers d'accessibilité des jeux","icon":"chalkboard-user","href":"/fr/build/game-principles/accessibility/accessibility-workshop-toolkit"},{"title":"Xbox Accessibility Guidelines","sidebarTitle":"Xbox Accessibility Guidelines","icon":"universal-access","href":"/fr/build/game-principles/accessibility/xbox-accessibility-guidelines"},{"group":"Guidelines","pages":[{"title":"Xbox Accessibility Guideline 101","sidebarTitle":"Xbox Accessibility Guideline 101","icon":"font","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-101-text-display"},{"title":"Xbox Accessibility Guideline 102","sidebarTitle":"Xbox Accessibility Guideline 102","icon":"circle-half-stroke","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-102-contrast"},{"title":"Xbox Accessibility Guideline 103","sidebarTitle":"Xbox Accessibility Guideline 103","icon":"sitemap","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-103-additional-cues"},{"title":"Xbox Accessibility Guideline 104","sidebarTitle":"Xbox Accessibility Guideline 104","icon":"closed-captioning","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-104-subtitles-captions"},{"title":"Xbox Accessibility Guideline 105","sidebarTitle":"Xbox Accessibility Guideline 105","icon":"sliders","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-105-audio-accessibility"},{"title":"Xbox Accessibility Guideline 106","sidebarTitle":"Xbox Accessibility Guideline 106","icon":"ear-listen","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-106-screen-narration"},{"title":"Xbox Accessibility Guideline 107","sidebarTitle":"Xbox Accessibility Guideline 107","icon":"gamepad","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-107-input"},{"title":"Xbox Accessibility Guideline 108","sidebarTitle":"Xbox Accessibility Guideline 108","icon":"sliders-up","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-108-difficulty-options"},{"title":"Xbox Accessibility Guideline 109","sidebarTitle":"Xbox Accessibility Guideline 109","icon":"list-check","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-109-objective-clarity"},{"title":"Xbox Accessibility Guideline 110","sidebarTitle":"Xbox Accessibility Guideline 110","icon":"wave-square","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-110-haptic-feedback"},{"title":"Xbox Accessibility Guideline 111","sidebarTitle":"Xbox Accessibility Guideline 111","icon":"audio-description","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-111-audio-descriptions"},{"title":"Xbox Accessibility Guideline 112","sidebarTitle":"Xbox Accessibility Guideline 112","icon":"compass","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-112-ui-navigation"},{"title":"Xbox Accessibility Guideline 113","sidebarTitle":"Xbox Accessibility Guideline 113","icon":"crosshairs","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-113-ui-focus-handling"},{"title":"Xbox Accessibility Guideline 114","sidebarTitle":"Xbox Accessibility Guideline 114","icon":"circle-info","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-114-ui-context"},{"title":"Xbox Accessibility Guideline 115","sidebarTitle":"Xbox Accessibility Guideline 115","icon":"triangle-exclamation","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-115-error-messages"},{"title":"Xbox Accessibility Guideline 116","sidebarTitle":"Xbox Accessibility Guideline 116","icon":"stopwatch","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-116-time-limits"},{"title":"Xbox Accessibility Guideline 117","sidebarTitle":"Xbox Accessibility Guideline 117","icon":"eye-slash","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-117-visual-distractions-motion"},{"title":"Xbox Accessibility Guideline 118","sidebarTitle":"Xbox Accessibility Guideline 118","icon":"bolt","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-118-photosensitivity"},{"title":"Xbox Accessibility Guideline 119","sidebarTitle":"Xbox Accessibility Guideline 119","icon":"comments","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-119-chat"},{"title":"Xbox Accessibility Guideline 120","sidebarTitle":"Xbox Accessibility Guideline 120","icon":"users","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-120-communication-experiences"},{"title":"Xbox Accessibility Guideline 121","sidebarTitle":"Xbox Accessibility Guideline 121","icon":"book-open","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-121-accessible-feature-documentation"},{"title":"Xbox Accessibility Guideline 122","sidebarTitle":"Xbox Accessibility Guideline 122","icon":"headset","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-122-accessible-customer-support"},{"title":"Xbox Accessibility Guideline 123","sidebarTitle":"Xbox Accessibility Guideline 123","icon":"brain","href":"/fr/build/game-principles/accessibility/xag-deep-dives/xag-123-mental-health-best-practices"}]},{"group":"Event guidelines","pages":[{"title":"Recommandation PAGE 101 - Inscription","sidebarTitle":"Recommandation PAGE 101 - Inscription","icon":"clipboard-list","href":"/fr/build/game-principles/accessibility/page/page-101-registration"},{"title":"Recommandation PAGE 102 - Lieux","sidebarTitle":"Recommandation PAGE 102 - Lieux","icon":"building","href":"/fr/build/game-principles/accessibility/page/page-102-venues"},{"title":"Recommandation PAGE 103 - Réseaux sociaux","sidebarTitle":"Recommandation PAGE 103 - Réseaux sociaux","icon":"hashtag","href":"/fr/build/game-principles/accessibility/page/page-103-social-media"},{"title":"Recommandation PAGE 104 - Restauration","sidebarTitle":"Recommandation PAGE 104 - Restauration","icon":"utensils","href":"/fr/build/game-principles/accessibility/page/page-104-catering"},{"title":"Recommandation PAGE 105 - Intervenants, vidéos et présentations","sidebarTitle":"Recommandation PAGE 105 - Intervenants, vidéos et présentations","icon":"microphone","href":"/fr/build/game-principles/accessibility/page/page-105-speakers-videos-presentations"},{"title":"Recommandation PAGE 106 - Contenu web et applications","sidebarTitle":"Recommandation PAGE 106 - Contenu web et applications","icon":"globe","href":"/fr/build/game-principles/accessibility/page/page-106-web-content-applications"},{"title":"Recommandation PAGE 107 - Stations de démonstration de jeux","sidebarTitle":"Recommandation PAGE 107 - Stations de démonstration de jeux","icon":"gamepad","href":"/fr/build/game-principles/accessibility/page/page-107-game-demo-stations"},{"title":"Recommandation PAGE 108 - Attractions et animations","sidebarTitle":"Recommandation PAGE 108 - Attractions et animations","icon":"star","href":"/fr/build/game-principles/accessibility/page/page-108-attractions-activations"},{"title":"Recommandation PAGE 109 - Goodies et produits dérivés","sidebarTitle":"Recommandation PAGE 109 - Goodies et produits dérivés","icon":"shirt","href":"/fr/build/game-principles/accessibility/page/page-109-swag-and-merch"},{"title":"Recommandation PAGE 110 - Personnel","sidebarTitle":"Recommandation PAGE 110 - Personnel","icon":"users","href":"/fr/build/game-principles/accessibility/page/page-110-staff"},{"title":"Recommandation PAGE 101 - Transports","sidebarTitle":"Recommandation PAGE 101 - Transports","icon":"car","href":"/fr/build/game-principles/accessibility/page/page-111-transportation"},{"title":"Recommandation PAGE 112 - Après l'événement","sidebarTitle":"Recommandation PAGE 112 - Après l'événement","icon":"clipboard-check","href":"/fr/build/game-principles/accessibility/page/page-112-post-event"},{"title":"Recommandation PAGE - Informations complémentaires","sidebarTitle":"Recommandation PAGE - Informations complémentaires","icon":"list-check","href":"/fr/build/game-principles/accessibility/page/page-checklists"}]},{"title":"Pourquoi rendre les jeux accessibles","sidebarTitle":"Pourquoi rendre les jeux accessibles","icon":"heart","href":"/fr/build/game-principles/accessibility/why-make-games-accessible"},{"title":"Paramètres utilisateur d'accessibilité vocale","icon":"ear-listen","sidebarTitle":"Paramètres utilisateur pour l'accessibilité vocale","href":"/fr/build/game-principles/accessibility/speech-accessibility"}]},{"group":"Sustainability","icon":"leaf","pages":[{"group":"Case studies","icon":"book","expanded":true,"pages":[{"title":"Durabilité des jeux : études de cas Halo Infinite","sidebarTitle":"Durabilité des jeux : études de cas Halo Infinite","icon":"circle","href":"/fr/build/game-principles/sustainability/case-studies/case-studies-halo"},{"title":"Durabilité des jeux : étude de cas Fortnite","sidebarTitle":"Durabilité des jeux : étude de cas Fortnite","icon":"gamepad","href":"/fr/build/game-principles/sustainability/case-studies/case-studies-fortnite"},{"title":"Durabilité des jeux : étude de cas Call of Duty","sidebarTitle":"Durabilité des jeux : étude de cas Call of Duty","icon":"crosshairs","href":"/fr/build/game-principles/sustainability/case-studies/case-studies-cod"},{"title":"Durabilité des jeux : étude de cas The Elder Scrolls Online","sidebarTitle":"Durabilité des jeux : étude de cas The Elder Scrolls Online","icon":"scroll","href":"/fr/build/game-principles/sustainability/case-studies/case-studies-elder-scrolls-online"},{"title":"Durabilité des jeux : études de cas Minecraft","sidebarTitle":"Durabilité des jeux : études de cas Minecraft","icon":"cube","href":"/fr/build/game-principles/sustainability/case-studies/case-studies-minecraft"},{"title":"Durabilité des jeux : étude de cas Gears Of War Reloaded","sidebarTitle":"Durabilité des jeux : étude de cas Gears Of War Reloaded","icon":"gear","href":"/fr/build/game-principles/sustainability/case-studies/case-studies-gears-of-war-reloaded"},{"title":"Durabilité des jeux : étude de cas For Honor","sidebarTitle":"Durabilité des jeux : étude de cas For Honor","icon":"shield-halved","href":"/fr/build/game-principles/sustainability/case-studies/case-studies-for-honor"},{"title":"Durabilité des jeux : étude de cas Star Wars Outlaws","sidebarTitle":"Durabilité des jeux : étude de cas Star Wars Outlaws","icon":"jedi","href":"/fr/build/game-principles/sustainability/case-studies/case-studies-star-wars-outlaws"},{"title":"Vue d'ensemble des études de cas sur la durabilité","sidebarTitle":"Vue d'ensemble","icon":"book-open","href":"/fr/build/game-principles/sustainability/case-studies/case-studies-overview"}]}]}]},{"group":"Core Features","tag":"","pages":[{"title":"Fonctionnalités GDK communes pour les titres XBOX et PC","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/common/index"},{"group":"User and identity","pages":[{"title":"Identité de l'utilisateur et XUser","sidebarTitle":"Identité de l'utilisateur et XUser","icon":"right-to-bracket","href":"/fr/build/core-features/common/user/player-identity-xuser"},{"title":"Vue d'ensemble des utilisateurs invités","sidebarTitle":"Utilisateurs invités","icon":"circle-info","href":"/fr/build/core-features/common/user/users-guest-overview"},{"title":"Automatisation sans interface de XUser","sidebarTitle":"Automatisation sans interface de XUser","icon":"user","href":"/fr/build/core-features/common/user/users-headless-automation"},{"title":"Procédure : bonne pratique pour connecter un utilisateur","sidebarTitle":"Procédure : bonne pratique pour connecter un utilisateur","icon":"book-open","href":"/fr/build/core-features/common/user/xuser_howto_best_practice_signing_in"},{"title":"Utilisateurs et périphériques d'entrée","sidebarTitle":"Utilisateurs et périphériques d'entrée","icon":"user","href":"/fr/build/core-features/common/user/users-input-devices"},{"title":"Prise en charge multiplateforme de XUser","sidebarTitle":"Prise en charge multiplateforme de XUser","icon":"user","href":"/fr/build/core-features/common/user/xuser-crossplatform"},{"title":"Modèles utilisateur du Microsoft Game Development Kit","sidebarTitle":"Modèles utilisateur du Microsoft Game Development Kit","icon":"user","href":"/fr/build/core-features/common/user/gamecore-user-models"},{"title":"Choisir d'exiger un utilisateur par défaut","sidebarTitle":"Choisir d'exiger un utilisateur par défaut","icon":"user","href":"/fr/build/core-features/common/user/users-opting-into-simplified-model"},{"title":"Établissement de l'utilisateur par défaut du jeu","sidebarTitle":"Établissement de l'utilisateur par défaut du","icon":"user","href":"/fr/build/core-features/common/user/users-establishing-default-user"},{"title":"Changement de l'utilisateur par défaut du jeu","sidebarTitle":"Changement de l'utilisateur par défaut du jeu","icon":"user","href":"/fr/build/core-features/common/user/users-changing-default-user"},{"title":"Gestion de la perte de manette","sidebarTitle":"Gestion de la perte de manette","icon":"gamepad","href":"/fr/build/core-features/common/user/users-dealing-with-controller-loss"},{"title":"Quand les associations utilisateur-manette ont-elles lieu ?","sidebarTitle":"Quand les associations utilisateur-manette","icon":"user","href":"/fr/build/core-features/common/user/users-timing-of-user-to-device-association"},{"title":"Identité de l'utilisateur et API XUser dans le GDK","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/common/user/index"}]},{"group":"Core systems async programming model","pages":[{"title":"Modèle de programmation asynchrone dans le GDK XBOX","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/common/async/index"},{"group":"Async Libraries","pages":[{"group":"XTaskQueue Library","pages":[{"title":"Vue d'ensemble de la bibliothèque XTaskQueue","sidebarTitle":"Vue d'ensemble de la bibliothèque XTaskQueue","icon":"microchip","href":"/fr/build/core-features/common/async/async-libraries/async-library-xtaskqueue"},{"title":"Exemple de création d'une file d'attente de tâches","sidebarTitle":"Exemple de création d'une file d'attente de tâches","icon":"microchip","href":"/fr/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-create-task-queue"},{"title":"Exemple de distribution d'une file d'attente de tâches","sidebarTitle":"Exemple de distribution d'une file d'attente de tâches","icon":"microchip","href":"/fr/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-dispatch-task-queue"},{"title":"Exemple de nettoyage d'une file d'attente de tâches","sidebarTitle":"Exemple de nettoyage d'une file d'attente de tâches","icon":"microchip","href":"/fr/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-cleanup-task-queue"}]},{"group":"XAsync Library","pages":[{"title":"Vue d'ensemble de la bibliothèque XAsync","sidebarTitle":"Vue d'ensemble de la bibliothèque XAsync","icon":"toolbox","href":"/fr/build/core-features/common/async/async-libraries/async-library-xasync"},{"title":"Exemple de configuration d'une tâche asynchrone","sidebarTitle":"Exemple de configuration d'une tâche asynchrone","icon":"code","href":"/fr/build/core-features/common/async/async-libraries/async-library-xasync-example-setup-async-task"},{"title":"Exemple d'exécution d'une tâche simple","sidebarTitle":"Exemple d'exécution d'une tâche simple","icon":"microchip","href":"/fr/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task"},{"title":"Exécuter une tâche d'API du Microsoft Game Development Kit (GDK)","sidebarTitle":"Exécuter une tâche d'API du Microsoft Game Development Kit (GDK)","icon":"cube","href":"/fr/build/core-features/common/async/async-libraries/async-library-xasync-example-run-gdk-task"}]},{"group":"XAsyncProvider Library","pages":[{"title":"Vue d'ensemble de la bibliothèque XAsyncProvider","sidebarTitle":"Vue d'ensemble de la bibliothèque XAsyncProvider","icon":"circle-info","href":"/fr/build/core-features/common/async/async-libraries/async-library-xasyncprovider"},{"title":"Exemple de configuration d'un fournisseur personnalisé","sidebarTitle":"Exemple de configuration d'un fournisseur personnalisé","icon":"code","href":"/fr/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-custom-provider"},{"title":"Exemple de configuration de méthodes d'appel","sidebarTitle":"Exemple de configuration de méthodes d'appel","icon":"code","href":"/fr/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-invocation-methods"},{"title":"Exemple de configuration de données de retour","sidebarTitle":"Exemple de configuration de données de retour","icon":"code","href":"/fr/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-return-data"},{"title":"Exemple de configuration de la possibilité d'annulation","sidebarTitle":"Exemple de configuration de l'annulation","icon":"download","href":"/fr/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-cancelability"}]},{"title":"Bibliothèques XAsync pour la programmation de tâches asynchrones","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/common/async/async-libraries/index"}]},{"group":"Async Task Queue","pages":[{"title":"Conception de la file d'attente de tâches asynchrones","sidebarTitle":"Conception de la file d'attente de tâches asynchrones","icon":"microchip","href":"/fr/build/core-features/common/async/async-task-queue-design"},{"title":"Procédure : création d'une file d'attente de tâches de pool de threads","sidebarTitle":"Procédure : création d'une file de pool de threads","icon":"microchip","href":"/fr/build/core-features/common/async/async-task-queue-design-howto/creating-thread-pool-task-queue"},{"title":"Procédure : soumission de rappels","sidebarTitle":"Procédure : soumission de rappels","icon":"paper-plane","href":"/fr/build/core-features/common/async/async-task-queue-design-howto/submitting-callbacks"},{"title":"Procédure : duplication d'un handle de file d'attente de tâches","sidebarTitle":"Procédure : duplication d'un handle de file d'attente","icon":"microchip","href":"/fr/build/core-features/common/async/async-task-queue-design-howto/duplicating-task-queue-handle"},{"title":"Procédure : création d'une file d'attente de tâches manuelle","sidebarTitle":"Procédure : création d'une file d'attente manuelle","icon":"microchip","href":"/fr/build/core-features/common/async/async-task-queue-design-howto/creating-manual-task-queue"},{"title":"Procédure : utiliser des événements pour contrôler la distribution manuelle d'une file d'attente","sidebarTitle":"Procédure : utiliser des événements pour la distribution manuelle","icon":"microchip","href":"/fr/build/core-features/common/async/async-task-queue-design-howto/control-manual-queue-dispatching"},{"title":"Procédure : utilisation d'une file d'attente de tâches avec une boucle de messages Windows","sidebarTitle":"Utilisation d'une file d'attente de tâches avec une boucle de messages Windows","icon":"microchip","href":"/fr/build/core-features/common/async/async-task-queue-design-howto/task-queue-windows-msg-loop"},{"title":"Procédure : utilisation de la file d'attente de tâches du processus","sidebarTitle":"Procédure : file d'attente de tâches du processus","icon":"microchip","href":"/fr/build/core-features/common/async/async-task-queue-design-howto/using-process-task-queue"},{"title":"Procédure : créer une file d'attente de tâches composite","sidebarTitle":"Procédure : créer une file d'attente de tâches composite","icon":"book-open","href":"/fr/build/core-features/common/async/async-task-queue-design-howto/creating-composite-task-queue"},{"title":"Procédure : utilisation de rappels différés","sidebarTitle":"Procédure : utilisation de rappels différés","icon":"microchip","href":"/fr/build/core-features/common/async/async-task-queue-design-howto/using-delayed-callbacks"},{"title":"Procédure : utilisation d'un waiter de file d'attente de tâches","sidebarTitle":"Procédure : utilisation d'un waiter de file d'attente","icon":"microchip","href":"/fr/build/core-features/common/async/async-task-queue-design-howto/using-task-queue-waiter"}]}]},{"group":"Graphics and Rendering","pages":[{"group":"Lighting","pages":[{"title":"Vue d'ensemble de l'éclairage","sidebarTitle":"Vue d'ensemble de l'éclairage","icon":"circle-info","href":"/fr/build/core-features/common/lighting/gc-lighting-toc"},{"group":"Lighting concepts","pages":[{"title":"Notions de base sur LampArray","sidebarTitle":"Notions de base sur LampArray","icon":"note-sticky","href":"/fr/build/core-features/common/lighting/lighting-basics"},{"title":"Définition des couleurs sur un LampArray","sidebarTitle":"Définition des couleurs sur un LampArray","icon":"sliders","href":"/fr/build/core-features/common/lighting/lighting-colors"},{"title":"Effets LampArray","sidebarTitle":"Effets LampArray","icon":"compass","href":"/fr/build/core-features/common/lighting/lighting-effects"}]},{"title":"API d'éclairage et LampArray sur XBOX et PC","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/common/lighting/index"}]},{"title":"Graphismes","sidebarTitle":"Graphismes","icon":"palette","href":"/fr/build/core-features/graphics/gc-graphics-toc"},{"title":"Atoc d3d12x","href":"/fr/build/core-features/graphics/d3d12x/atoc-d3d12x"},{"title":"D3d12x overview","href":"/fr/build/core-features/graphics/d3d12x/d3d12x-overview"},{"title":"D3d12x differences from pc","href":"/fr/build/core-features/graphics/d3d12x/d3d12x-differences-from-pc"},{"title":"D3d12x xmemalloc objecttypes","href":"/fr/build/core-features/graphics/d3d12x/d3d12x-xmemalloc-objecttypes"},{"title":"Creation flags","href":"/fr/build/core-features/graphics/directx/creation-flags"},{"title":"Native resource management","href":"/fr/build/core-features/graphics/directx/native-resource-management"},{"title":"Suspend and resume","href":"/fr/build/core-features/graphics/directx/suspend-and-resume"},{"title":"Offchip tesselation","href":"/fr/build/core-features/graphics/directx/offchip-tesselation"},{"title":"Frame scheduling and presentation","href":"/fr/build/core-features/graphics/directx/frame-scheduling-and-presentation"},{"title":"Hardware overlays","href":"/fr/build/core-features/graphics/directx/hardware-overlays"},{"title":"Color and depth compression","href":"/fr/build/core-features/graphics/directx/color-and-depth-compression"},{"title":"Zones d'écran","sidebarTitle":"Zones d'écran","icon":"palette","href":"/fr/build/core-features/graphics/overviews/screen-areas"},{"title":"Hdr support","href":"/fr/build/core-features/graphics/overviews/hdr-support"},{"title":"One twenty hz support","href":"/fr/build/core-features/graphics/overviews/one-twenty-hz-support"},{"title":"Cmask decoding","href":"/fr/build/core-features/graphics/overviews/cmask-decoding"},{"title":"Enhanced barriers","href":"/fr/build/core-features/graphics/overviews/enhanced-barriers"},{"title":"Gpu synchronization scarlett","href":"/fr/build/core-features/graphics/overviews/gpu-synchronization-scarlett"},{"title":"Graphics pso overview","href":"/fr/build/core-features/graphics/graphics-pso-overview"},{"title":"Image processing overview","href":"/fr/build/core-features/graphics/image-processing-overview"},{"title":"Graphics","href":"/fr/build/core-features/graphics/overviews/graphics"},{"title":"Xbox one gpu overview","href":"/fr/build/core-features/graphics/whitepapers/xbox-one-gpu-overview"},{"title":"Xbox one gpu compute units","href":"/fr/build/core-features/graphics/whitepapers/xbox-one-gpu-compute-units"},{"title":"Xbox one gpu memory access","href":"/fr/build/core-features/graphics/whitepapers/xbox-one-gpu-memory-access"},{"title":"Xg memory overview","href":"/fr/build/core-features/graphics/d3d12x/xg-memory-overview"},{"title":"Caches and coherency on xbox one gpu","href":"/fr/build/core-features/graphics/whitepapers/caches-and-coherency-on-xbox-one-gpu"},{"title":"How do vmem instructions work","href":"/fr/build/core-features/graphics/whitepapers/how-do-vmem-instructions-work"},{"title":"Xbox one occupancy quick reference","href":"/fr/build/core-features/graphics/whitepapers/xbox-one-occupancy-quick-reference"},{"title":"Checkerboard rendering on xbox one","href":"/fr/build/core-features/graphics/whitepapers/checkerboard-rendering-on-xbox-one"},{"title":"Automatic shader modification for checkerboard rendering","href":"/fr/build/core-features/graphics/whitepapers/automatic-shader-modification-for-checkerboard-rendering"},{"title":"Xbox one dynamic resolution","href":"/fr/build/core-features/graphics/whitepapers/xbox-one-dynamic-resolution"},{"title":"Xbox one esram manager","href":"/fr/build/core-features/graphics/whitepapers/xbox-one-esram-manager"},{"title":"Graphics newfeatures toc","href":"/fr/build/core-features/graphics/graphics-newfeatures-toc"},{"title":"Sf overview","href":"/fr/build/core-features/graphics/newfeatures/sfs/sf-overview"},{"title":"Pourquoi Sampler Feedback ?","sidebarTitle":"Pourquoi Sampler Feedback ?","icon":"palette","href":"/fr/build/core-features/graphics/newfeatures/sfs/why-sf"},{"title":"Sf gpu design","href":"/fr/build/core-features/graphics/newfeatures/sfs/sf-gpu-design"},{"title":"Sf api design","href":"/fr/build/core-features/graphics/newfeatures/sfs/sf-api-design"},{"title":"Sfs usage","href":"/fr/build/core-features/graphics/newfeatures/sfs/sfs-usage"},{"title":"Rt overview","href":"/fr/build/core-features/graphics/newfeatures/raytracing/rt-overview"},{"title":"Rt hardware design","href":"/fr/build/core-features/graphics/newfeatures/raytracing/rt-hardware-design"},{"title":"Rt xdxr","href":"/fr/build/core-features/graphics/newfeatures/raytracing/rt-xdxr"},{"title":"Rt bvhbuilders","href":"/fr/build/core-features/graphics/newfeatures/raytracing/rt-bvhbuilders"},{"title":"Rt standalone","href":"/fr/build/core-features/graphics/newfeatures/raytracing/rt-standalone"},{"title":"Rt compression","href":"/fr/build/core-features/graphics/newfeatures/raytracing/rt-compression"},{"title":"Rt offlinertpso","href":"/fr/build/core-features/graphics/newfeatures/raytracing/rt-offlinertpso"},{"title":"Rt xdxrbestpractices","href":"/fr/build/core-features/graphics/newfeatures/raytracing/rt-xdxrbestpractices"},{"title":"Rt kdop","href":"/fr/build/core-features/graphics/newfeatures/raytracing/rt-kdop"},{"title":"Vue d'ensemble du pipeline Mesh Shader","sidebarTitle":"Pipeline Mesh Shader","icon":"circle-info","href":"/fr/build/core-features/graphics/newfeatures/ms/ms-overview"},{"title":"Pourquoi les Mesh Shaders ?","sidebarTitle":"Pourquoi les Mesh Shaders ?","icon":"palette","href":"/fr/build/core-features/graphics/newfeatures/ms/ms-why"},{"title":"Vue d'ensemble de l'API du pipeline Mesh Shader","sidebarTitle":"API du pipeline Mesh Shader","icon":"palette","href":"/fr/build/core-features/graphics/newfeatures/ms/ms-api-design"},{"title":"Ms usage","href":"/fr/build/core-features/graphics/newfeatures/ms/ms-usage"},{"title":"Meshlets","sidebarTitle":"Meshlets","icon":"palette","href":"/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-render"},{"title":"Exemple d'élimination des meshlets","description":"Exemple d'élimination des meshlets","sidebarTitle":"Exemple d'élimination des meshlets","icon":"code","href":"/fr/build/core-features/graphics/newfeatures/ms/ms-meshlet-culling"},{"title":"Ms scarlett","href":"/fr/build/core-features/graphics/newfeatures/ms/ms-scarlett"},{"title":"Vrs overview","href":"/fr/build/core-features/graphics/newfeatures/vrs/vrs-overview"},{"title":"Why vrs","href":"/fr/build/core-features/graphics/newfeatures/vrs/why-vrs"},{"title":"Vrs api","href":"/fr/build/core-features/graphics/newfeatures/vrs/vrs-api"},{"title":"Xbox texture compressor","href":"/fr/build/core-features/graphics/newfeatures/xbtc/xbox-texture-compressor"},{"title":"Xbtc","href":"/fr/build/core-features/graphics/newfeatures/xbtc/xbtc"},{"title":"Xbtc archive format","href":"/fr/build/core-features/graphics/newfeatures/xbtc/xbtc-archive-format"},{"title":"Xbtc json batch configuration","href":"/fr/build/core-features/graphics/newfeatures/xbtc/xbtc-json-batch-configuration"},{"title":"Gpu overview","href":"/fr/build/core-features/graphics/overviews/gpu-overview"},{"title":"Graphics memory overview","href":"/fr/build/core-features/graphics/graphics-memory-overview"},{"title":"Scarlett tex layouts","href":"/fr/build/core-features/graphics/scarlett-tex-layouts"},{"title":"Dolby vision for gaming","href":"/fr/build/core-features/graphics/dolby-vision-for-gaming"},{"title":"Series s optimizations","href":"/fr/build/core-features/graphics/whitepapers/series-s-optimizations"},{"title":"DirectX-Specs","sidebarTitle":"DirectX-specs","icon":"palette","href":"/fr/build/core-features/graphics/directx-specs"},{"title":"Gc graphics presentations","href":"/fr/build/core-features/graphics/overviews/presentations/gc-graphics-presentations"},{"title":"Gc graphics xdd 2024 gr01","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/gc-graphics-xdd-2024-gr01"},{"title":"Gc graphics xdd 2024 gr02","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/gc-graphics-xdd-2024-gr02"},{"title":"Gc graphics xdd 2024 gr03","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/gc-graphics-xdd-2024-gr03"},{"title":"Gc graphics xdd 2024 gr04","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/gc-graphics-xdd-2024-gr04"},{"title":"Gc graphics xdd 2024 gr05","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/gc-graphics-xdd-2024-gr05"},{"title":"Gc graphics xdd 2024 gr06","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/gc-graphics-xdd-2024-gr06"},{"title":"Gc graphics xdd 2024 gr07","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/gc-graphics-xdd-2024-gr07"},{"title":"Gc graphics xdd 2024 gr08","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/gc-graphics-xdd-2024-gr08"},{"title":"Gc graphics xdd 2024 gr09","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/gc-graphics-xdd-2024-gr09"},{"title":"Gc graphics xdd 2024 gr10","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/gc-graphics-xdd-2024-gr10"},{"title":"Gc graphics xdd 2024 gr11","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/gc-graphics-xdd-2024-gr11"},{"title":"Optimiser les flux de travail de développement de jeux avec Visual Studio et l'IA","sidebarTitle":"Optimisation des flux de travail de développement de jeux","icon":"palette","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/gc-graphics-xdd-2024-gr12"},{"title":"Gc graphics xdd 2024 gr13","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/gc-graphics-xdd-2024-gr13"},{"title":"Getting the most from xbox shader compiler","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/getting-the-most-from-xbox-shader-compiler"},{"title":"Whats new in pix 2024","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/whats-new-in-pix-2024"},{"title":"Gpu debugging tips and tricks","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/gpu-debugging-tips-and-tricks"},{"title":"Optimizing shader performance with pix shader explorer","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/optimizing-shader-performance-with-pix-shader-explorer"},{"title":"Gpu performance tips and tricks","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/gpu-performance-tips-and-tricks"},{"title":"Gc graphics xfest 2022 gr01","href":"/fr/build/core-features/graphics/overviews/presentations/xfest2022/gc-graphics-xfest-2022-gr01"},{"title":"Gc graphics xfest 2022 gr02","href":"/fr/build/core-features/graphics/overviews/presentations/xfest2022/gc-graphics-xfest-2022-gr02"},{"title":"Gc graphics xfest 2022 gr03","href":"/fr/build/core-features/graphics/overviews/presentations/xfest2022/gc-graphics-xfest-2022-gr03"},{"title":"Gc graphics xfest 2022 gr09","href":"/fr/build/core-features/graphics/overviews/presentations/xfest2022/gc-graphics-xfest-2022-gr09"},{"title":"Gc graphics xfest 2019 gr01","href":"/fr/build/core-features/graphics/overviews/presentations/xfest2019/gc-graphics-xfest-2019-gr01"},{"title":"Gc graphics xfest 2019 gr04","href":"/fr/build/core-features/graphics/overviews/presentations/xfest2019/gc-graphics-xfest-2019-gr04"},{"title":"Gc graphics xfest 2019 gr08","href":"/fr/build/core-features/graphics/overviews/presentations/xfest2019/gc-graphics-xfest-2019-gr08"},{"title":"Exemples graphiques","sidebarTitle":"Exemples graphiques","icon":"code","href":"/fr/build/core-features/graphics/graphics-samples"},{"group":"Graphics and rendering","pages":[{"title":"Graphiques sur XBOX et PC avec le GDK","sidebarTitle":"Vue d'ensemble","icon":"palette","href":"/fr/build/core-features/graphics/index"},{"group":"XBOX series x|s graphics feature overviews","pages":[{"group":"Sampler feedback introduction","pages":[{"title":"Sampler Feedback et SFS sur XBOX Series X|S","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/graphics/newfeatures/sfs/index"}]},{"group":"Raytracing introduction","pages":[{"title":"Lancer de rayons sur XBOX Series X|S avec XDXR","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/graphics/newfeatures/raytracing/index"}]},{"group":"Mesh shader introduction","pages":[{"title":"Mesh shaders et meshlets sur XBOX Series X|S","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/graphics/newfeatures/ms/index"}]},{"group":"Variable rate shading introduction","pages":[{"title":"Variable Rate Shading (VRS) sur XBOX Series X|S","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/graphics/newfeatures/vrs/index"},{"group":"Unpublished pages","hidden":true,"pages":[{"title":"Vrs feature","href":"/fr/build/core-features/graphics/newfeatures/vrs/vrs-feature"}]}]},{"group":"XBOX texture compressor overview","pages":[{"title":"Référence de l'outil XBOX Texture Compressor (XBTC)","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/graphics/newfeatures/xbtc/index"}]}]},{"group":"Microsoft graphics presentations","pages":[{"title":"Présentations graphiques XBOX des conférences XFest et XDD","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/graphics/overviews/presentations/index"},{"group":"XBOX dev days 2024","pages":[{"title":"Xdd2024","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/graphics/overviews/presentations/xdd2024/index"}]},{"group":"Xfest 2022","pages":[{"title":"Xfest2022","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/graphics/overviews/presentations/xfest2022/index"},{"group":"Unpublished pages","hidden":true,"pages":[{"title":"Gc graphics xfest 2022 gr06","href":"/fr/build/core-features/graphics/overviews/presentations/xfest2022/gc-graphics-xfest-2022-gr06"},{"title":"Gc graphics xfest 2022 gr07","href":"/fr/build/core-features/graphics/overviews/presentations/xfest2022/gc-graphics-xfest-2022-gr07"}]}]},{"group":"Xfest 2019","pages":[{"title":"Xfest2019","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/graphics/overviews/presentations/xfest2019/index"}]}]}]}]},{"group":"Input and devices","pages":[{"title":"API et matériel d'entrée pour les titres XBOX GDK","sidebarTitle":"Vue d'ensemble","icon":"gamepad","href":"/fr/build/core-features/common/input/index"},{"group":"Overview of GameInput","pages":[{"title":"Présentation de GameInput","sidebarTitle":"Présentation de GameInput","icon":"gamepad","href":"/fr/build/core-features/common/input/overviews/input-overview"},{"title":"Questions fréquentes sur GameInput","sidebarTitle":"Questions fréquentes sur GameInput","icon":"circle-info","href":"/fr/build/core-features/common/input/overviews/input-faq"},{"title":"Notions fondamentales de GameInput","sidebarTitle":"Notions fondamentales de GameInput","icon":"lightbulb","href":"/fr/build/core-features/common/input/overviews/input-fundamentals"},{"title":"Lectures GameInput","sidebarTitle":"Lectures GameInput","icon":"gamepad","href":"/fr/build/core-features/common/input/overviews/input-readings"},{"title":"Périphériques GameInput","sidebarTitle":"Périphériques GameInput","icon":"gamepad","href":"/fr/build/core-features/common/input/overviews/input-devices"},{"title":"GameInput pour PC et console avec NuGet","sidebarTitle":"GameInput pour PC et console avec NuGet","icon":"gamepad","href":"/fr/build/core-features/common/input/overviews/input-nuget"},{"title":"Gestion des versions de l'API GameInput","sidebarTitle":"Gestion des versions de l'API GameInput","icon":"clock-rotate-left","href":"/fr/build/core-features/common/input/overviews/input-versioning"},{"title":"Vues d'ensemble","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/common/input/overviews/index"}]},{"group":"Advanced GameInput topics","pages":[{"title":"Rubriques avancées sur GameInput","sidebarTitle":"Rubriques avancées sur GameInput","icon":"gamepad","href":"/fr/build/core-features/common/input/advanced/input-advanced-topics"},{"title":"Rappels GameInput","sidebarTitle":"Rappels GameInput","icon":"gamepad","href":"/fr/build/core-features/common/input/advanced/input-callbacks"},{"title":"Files d'attente de travail GameInput","sidebarTitle":"Files d'attente de travail GameInput","icon":"gamepad","href":"/fr/build/core-features/common/input/advanced/input-work-queues"},{"title":"GameInput Dynamic Latency Input","sidebarTitle":"GameInput Dynamic Latency Input","icon":"network-wired","href":"/fr/build/core-features/common/input/advanced/input-synchronization"},{"title":"Retour de force sur GameInput","sidebarTitle":"Retour de force sur gameinput","icon":"gamepad","href":"/fr/build/core-features/common/input/advanced/input-forcefeedback"},{"title":"Clavier et souris GameInput","sidebarTitle":"Clavier et souris GameInput","icon":"gamepad","href":"/fr/build/core-features/common/input/advanced/input-keyboard-mouse"},{"title":"Rubriques avancées sur GameInput : retour de force et rappels","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/common/input/advanced/index"}]},{"group":"GameInput for hardware developers","pages":[{"title":"GameInput pour les développeurs de matériel","sidebarTitle":"GameInput pour les développeurs de matériel","icon":"gamepad","href":"/fr/build/core-features/common/input/hardware/input-hardware-topics"},{"title":"Outil de mappage des périphériques GameInput et guide de test","sidebarTitle":"Outil de mappage des périphériques GameInput et guide de test","icon":"book-open","href":"/fr/build/core-features/common/input/hardware/input-hardware-mapping"},{"title":"Interfaçage avec les différents types de périphériques GameInput","sidebarTitle":"Interfaçage avec les différents types de périphériques GameInput","icon":"brackets-curly","href":"/fr/build/core-features/common/input/hardware/input-hardware-interfaces"},{"title":"Retour de force dans GameInput","sidebarTitle":"Retour de force dans GameInput","icon":"gamepad","href":"/fr/build/core-features/common/input/hardware/input-hardware-force-feedback"},{"title":"Création de capteurs GameInput","sidebarTitle":"Création de capteurs GameInput","icon":"gamepad","href":"/fr/build/core-features/common/input/hardware/input-hardware-sensors"},{"title":"Exigences haptiques de GameInput","sidebarTitle":"Exigences haptiques de GameInput","icon":"server","href":"/fr/build/core-features/common/input/hardware/input-hardware-haptics"},{"title":"Matériel GameInput : retour de force, haptique et capteurs","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/common/input/hardware/index"}]},{"group":"GameInput porting guide","pages":[{"title":"Combinaison de GameInput avec des piles d'entrée existantes","sidebarTitle":"Combinaison de GameInput avec les entrées existantes","icon":"gamepad","href":"/fr/build/core-features/common/input/porting/input-porting"},{"title":"Portage de Windows.XBOX.Input vers GameInput","sidebarTitle":"Portage de Windows.Xbox.Input vers GameInput","icon":"gamepad","href":"/fr/build/core-features/common/input/porting/input-porting-wxi"},{"title":"Portage de XInput vers GameInput","sidebarTitle":"Portage de XInput vers GameInput","icon":"gamepad","href":"/fr/build/core-features/common/input/porting/input-porting-xinput"},{"title":"Portage du code d'entrée existant vers GameInput","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/common/input/porting/index"}]}]},{"group":"Game Configuration and Packaging","pages":[{"group":"Game configuration","pages":[{"title":"Vue d'ensemble de MicrosoftGame.config","sidebarTitle":"Vue d'ensemble de MicrosoftGame.config","icon":"circle-info","href":"/fr/build/core-features/common/game-config/MicrosoftGameConfig-Overview"},{"title":"Éditeur MicrosoftGame.config","sidebarTitle":"Éditeur MicrosoftGame.config","icon":"clipboard-list","href":"/fr/build/core-features/common/game-config/MicrosoftGameConfig-Editor"},{"title":"Localisation de MicrosoftGame.config","sidebarTitle":"Localisation de MicrosoftGame.config","icon":"language","href":"/fr/build/core-features/common/game-config/MicrosoftGameConfig-Localization"},{"title":"Éditeur et référence de MicrosoftGame.config","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/common/game-config/index"}]},{"group":"Packaging","pages":[{"title":"Vue d'ensemble de l'empaquetage","sidebarTitle":"Vue d'ensemble de l'empaquetage","icon":"box","href":"/fr/build/core-features/common/packaging/overviews/packaging"},{"title":"XBOX Game Package Manager","sidebarTitle":"XBOX game package manager","icon":"box","href":"/fr/build/core-features/common/packaging/xgpm"},{"title":"Automatisation du chargement des packages","sidebarTitle":"Automatisation du chargement des packages","icon":"box","href":"/fr/build/core-features/common/packaging/package-uploader"},{"title":"Prise en main de l'empaquetage pour les consoles Xbox","sidebarTitle":"Prise en main de l'empaquetage pour les consoles Xbox","icon":"circle-info","href":"/fr/build/core-features/common/packaging/overviews/packaging-getting-started-for-console"},{"title":"Prise en main de l'empaquetage pour PC","sidebarTitle":"Prise en main de l'empaquetage pour PC","icon":"box","href":"/fr/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC"},{"title":"Installation en streaming et Intelligent Delivery : vue d'ensemble","sidebarTitle":"Installation en streaming et Intelligent Delivery : vue d'ensemble","icon":"video","href":"/fr/build/core-features/common/packaging/overviews/streaming_install-intelligent_delivery"},{"title":"Prise en charge des jeux en tant que service (GaaS)","sidebarTitle":"Prise en charge des jeux en tant que service (GaaS)","icon":"box","href":"/fr/build/core-features/common/packaging/supporting-games-as-a-service"},{"group":"MSIXVC2 Packaging","pages":[{"title":"Vue d'ensemble de l'empaquetage MSIXVC2","sidebarTitle":"Vue d'ensemble de l'empaquetage MSIXVC2","icon":"box","href":"/fr/build/core-features/common/packaging/overviews/packaging-msixvc2-overview"},{"title":"Prise en main de l'empaquetage MSIXVC2 pour PC","sidebarTitle":"Prise en main de MSIXVC2 pour PC","icon":"box","href":"/fr/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC-msixvc2"},{"title":"Mises à jour de contenu avec MSIXVC2","sidebarTitle":"Mises à jour de contenu avec MSIXVC2","icon":"box","href":"/fr/build/core-features/common/packaging/packaging-updates-msixvc2"},{"title":"Modèle de chiffrement MSIXVC2","sidebarTitle":"Modèle de chiffrement MSIXVC2","icon":"lock","href":"/fr/build/core-features/common/packaging/packaging-encryption-msixvc2"}]},{"group":"Common packaging tasks and workflow overview","pages":[{"title":"Empaquetage de titres, mises à jour et test de l'installation en streaming","sidebarTitle":"Empaquetage de titres, mises à jour de contenu et","icon":"video","href":"/fr/build/core-features/common/packaging/title-packaging-streaming-install-testing"},{"group":"Submission Validator (SubmissionValidator.dll)","pages":[{"title":"Présentation de Submission Validator","sidebarTitle":"Présentation de Submission Validator","icon":"box","href":"/fr/build/core-features/common/packaging/subval/submissionvalidator"},{"icon":"list-check","title":"Créer manuellement un bundle de symboles","sidebarTitle":"Créer manuellement un bundle de symboles","href":"/fr/build/core-features/common/packaging/subval/create-symbol-bundle-manually"},{"title":"Contrôles de qualité de Submission Validator","sidebarTitle":"Contrôles de qualité de Submission Validator","icon":"paper-plane","href":"/fr/build/core-features/common/packaging/subval/submissionvalidator-tests"},{"title":"Messages de Submission Validator","sidebarTitle":"Messages de Submission Validator","icon":"box","href":"/fr/build/core-features/common/packaging/subval/submissionvalidator-messages"},{"title":"Référence des contrôles qualité de Submission Validator (SubVal)","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/common/packaging/subval/index"}]},{"title":"Empaquetage d'applications pendant le développement","sidebarTitle":"Empaquetage d'applications pendant le développement","icon":"box","href":"/fr/build/core-features/common/packaging/packaging-packaging-during-development"},{"title":"Vue d'ensemble de Flat File Install","sidebarTitle":"Flat File Install","icon":"circle-info","href":"/fr/build/core-features/common/packaging/packaging-flatfileinstall"},{"title":"Test des packages sur un PC de développement","sidebarTitle":"Test des packages sur un PC de développement","icon":"box","href":"/fr/build/core-features/common/packaging/packaging-testing-PC-install"},{"title":"Création de disques de test","sidebarTitle":"Création de disques de test","icon":"box","href":"/fr/build/core-features/common/packaging/creating-test-compilation-discs"},{"title":"Création d'un sous-ensemble de disque","sidebarTitle":"Création d'un sous-ensemble de disque","icon":"box","href":"/fr/build/core-features/common/packaging/packaging-disc-subset"},{"title":"Vue d'ensemble des disques de test intergénérationnels","sidebarTitle":"Disques de test intergénérationnels","icon":"box","href":"/fr/build/core-features/common/packaging/creating-cross-gen-test-discs"},{"title":"Création de disques","sidebarTitle":"Création de disques","icon":"box","href":"/fr/build/core-features/common/packaging/creating-discs"},{"title":"Packages d'infrastructure : installation automatique des dépendances pour les composants redistribuables courants","sidebarTitle":"Packages d'infrastructure : installation automatique des dépendances pour les composants redistribuables courants","icon":"box","href":"/fr/build/core-features/common/packaging/packaging-framework-packages"},{"title":"Actions d'installation personnalisées pour les jeux Win32 dans le Microsoft Store","sidebarTitle":"Actions d'installation personnalisées pour les jeux Win32 dans le Microsoft Store","icon":"download","href":"/fr/build/core-features/common/packaging/packaging-custom-install-actions"},{"title":"Prise en charge des mods pour les titres GDK sur PC","sidebarTitle":"Prise en charge des mods pour les titres GDK sur PC","icon":"cube","href":"/fr/build/core-features/common/packaging/packaging-mods"},{"title":"Packages de contenu téléchargeable (DLC) du GDK","sidebarTitle":"Packages de contenu téléchargeable (DLC) du GDK","icon":"box","href":"/fr/build/core-features/common/packaging/packaging-downloadable-content-dlc"},{"title":"Packages Publisher Content","icon":"box","href":"/fr/build/core-features/common/packaging/packaging-publisher-content"},{"title":"Création, examen et test des mises à jour de contenu","sidebarTitle":"Création, examen et test","icon":"box","href":"/fr/build/core-features/common/packaging/packaging-testing-updates"},{"title":"Bonnes pratiques relatives aux mises à jour de contenu","sidebarTitle":"Bonnes pratiques relatives aux mises à jour de contenu","icon":"box","href":"/fr/build/core-features/common/packaging/packaging-updates"}]},{"group":"Intelligent Delivery features","pages":[{"title":"Intelligent Delivery","sidebarTitle":"Intelligent Delivery","icon":"box","href":"/fr/build/core-features/common/packaging/overviews/intelligentdelivery"},{"title":"Intelligent Delivery : fonctionnalités et recettes","sidebarTitle":"Intelligent Delivery : fonctionnalités et","icon":"box","href":"/fr/build/core-features/common/packaging/intelligentdelivery-features-recipes"},{"title":"Intelligent Delivery : spécificateurs de balises personnalisées","sidebarTitle":"Intelligent Delivery : balise personnalisée","icon":"box","href":"/fr/build/core-features/common/packaging/intelligentdelivery-custom"},{"title":"Intelligent Delivery : spécificateurs d'appareil","sidebarTitle":"Intelligent Delivery : spécificateurs d'appareil","icon":"box","href":"/fr/build/core-features/common/packaging/intelligentdelivery-device"},{"title":"Intelligent Delivery : spécificateurs de langue","sidebarTitle":"Intelligent Delivery : langue","icon":"language","href":"/fr/build/core-features/common/packaging/intelligentdelivery-language"},{"title":"Intelligent Delivery : contenu OnDemand","sidebarTitle":"Intelligent Delivery : contenu OnDemand","icon":"box","href":"/fr/build/core-features/common/packaging/intelligentdelivery-ondemand"},{"group":"Intelligent Delivery implementation","pages":[{"title":"Réorganisation dynamique des chunks","sidebarTitle":"Réorganisation dynamique des chunks","icon":"box","href":"/fr/build/core-features/common/packaging/packaging-chunkreordering"},{"title":"Installation en streaming : débogage","sidebarTitle":"Installation en streaming : débogage","icon":"video","href":"/fr/build/core-features/common/packaging/packaging-debugging"},{"title":"Installation en streaming : état","sidebarTitle":"Installation en streaming : état","icon":"chart-line","href":"/fr/build/core-features/common/packaging/packaging-installstatus"},{"title":"Fonctionnalité multidisque","sidebarTitle":"Fonctionnalité multidisque","icon":"box","href":"/fr/build/core-features/common/packaging/packaging-multi-disc"}]}]},{"group":"Tools for Streaming Installation","pages":[{"title":"Outils d'installation en streaming","sidebarTitle":"Outils d'installation en streaming","icon":"video","href":"/fr/build/core-features/common/packaging/deployment/atoc-deployment-tools"},{"group":"Deployment package schema","pages":[{"title":"Schéma de package de déploiement","sidebarTitle":"Présentation du schéma","icon":"box","href":"/fr/build/core-features/common/packaging/deployment/atoc-deployment-schema"},{"title":"Élément \u003cChunk>","sidebarTitle":"Élément \u003cchunk>","icon":"box","href":"/fr/build/core-features/common/packaging/deployment/deployment-element-chunk"},{"title":"Élément \u003cFileGroup>","sidebarTitle":"Élément \u003cfilegroup>","icon":"users","href":"/fr/build/core-features/common/packaging/deployment/deployment-element-filegroup"},{"title":"Élément \u003cPackage>","sidebarTitle":"Élément \u003cpackage>","icon":"box","href":"/fr/build/core-features/common/packaging/deployment/deployment-element-package"}]},{"title":"Schéma de package de déploiement et outils d'installation en streaming","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/common/packaging/deployment/index"}]},{"title":"Création de packages et déploiement pour les titres XBOX GDK","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/common/packaging/index"}]}]},{"group":"Game Streaming","pages":[{"title":"Présentation du streaming de jeux","sidebarTitle":"Présentation du streaming de jeux","icon":"video","href":"/fr/build/core-features/common/game-streaming/game-streaming-overview"},{"group":"Game Streaming Setup","pages":[{"title":"Streaming de votre jeu","sidebarTitle":"Streaming de votre jeu","icon":"video","href":"/fr/build/core-features/common/game-streaming/game-streaming-stream-your-game"},{"title":"Configuration de votre Xbox Development Kit pour le streaming","sidebarTitle":"Configuration de votre Xbox Development Kit pour le streaming","icon":"download","href":"/fr/build/core-features/common/game-streaming/game-streaming-setup-xbox-developer-kit"},{"title":"Vue d'ensemble de l'application de test de contenu (CTA) Android (déconseillée)","sidebarTitle":"Vue d'ensemble de l'application de test de contenu (CTA) Android (déconseillée)","icon":"circle-info","href":"/fr/build/core-features/common/game-streaming/game-streaming-android-content-test-application"},{"title":"Vue d'ensemble de l'application de test de contenu (CTA) web","sidebarTitle":"Vue d'ensemble de l'application de test de contenu (CTA) web","icon":"video","href":"/fr/build/core-features/common/game-streaming/game-streaming-web-content-test-application"},{"title":"Vue d'ensemble de l'application de test de contenu (CTA) pour PC Windows (déconseillée)","sidebarTitle":"Vue d'ensemble de l'application de test de contenu (CTA) pour PC Windows (déconseillée)","icon":"video","href":"/fr/build/core-features/common/game-streaming/game-streaming-windows-pc-content-test-application"},{"title":"Configuration du streaming de l'application de test de contenu (CTA)","sidebarTitle":"Configuration du streaming de l'application de test de contenu (CTA)","icon":"sliders","href":"/fr/build/core-features/common/game-streaming/game-streaming-content-test-application-stream-config"}]},{"group":"Game Streaming Basics","pages":[{"title":"Appels d'API compatibles avec le cloud","sidebarTitle":"Appels d'API compatibles avec le cloud","icon":"video","href":"/fr/build/core-features/common/game-streaming/game-streaming-am-i-streaming"},{"title":"Bonnes pratiques de développement pour Xbox Game Streaming","sidebarTitle":"Bonnes pratiques de développement pour Xbox Game Streaming","icon":"gauge-high","href":"/fr/build/core-features/common/game-streaming/game-streaming-optimizing-your-game"},{"title":"XBOX Game Streaming ou XBOX Remote Play","sidebarTitle":"XBOX game streaming ou XBOX remote play","icon":"bug","href":"/fr/build/core-features/common/game-streaming/game-streaming-project-xcloud-vs-console-streaming"},{"title":"Référencer les serveurs Xbox Game Streaming dans les revendications du jeton de sécurité des services Xbox (XSTS)","sidebarTitle":"Référencer les serveurs Xbox Game Streaming dans les revendications du jeton de sécurité des services Xbox (XSTS)","icon":"right-to-bracket","href":"/fr/build/core-features/common/game-streaming/game-streaming-referencing-xcloud-servers-in-xsts-claims"}]},{"group":"Creating Touch Experiences","pages":[{"title":"Prise en main de l'entrée tactile","sidebarTitle":"Prise en main de l'entrée tactile","icon":"gamepad","href":"/fr/build/core-features/common/game-streaming/game-streaming-getting-started-with-touch"},{"title":"Créer une interface tactile native avec IGameInput","sidebarTitle":"Créer une interface tactile native pour votre jeu avec IGameInput","icon":"gamepad","href":"/fr/build/core-features/common/game-streaming/game-streaming-native-touch-igameinput"},{"group":"Touch Adaptation Kit","pages":[{"title":"Game streaming touch touch adaptation bundle","href":"/fr/build/core-features/common/game-streaming/game-streaming-touch-touch-adaptation-bundle"},{"group":"Touch Adaptation Kit Editor","pages":[{"title":"Extension de l'éditeur du Touch Adaptation Kit pour Visual Studio Code","sidebarTitle":"Extension de l'éditeur du Touch Adaptation Kit pour Visual Studio Code","icon":"gamepad","href":"/fr/build/core-features/common/game-streaming/tak-editor/game-streaming-tak-editor"},{"title":"Éditeur du Touch Adaptation Kit : configuration","sidebarTitle":"Éditeur du Touch Adaptation Kit : configuration","icon":"download","href":"/fr/build/core-features/common/game-streaming/tak-editor/game-streaming-tak-editor-setup"},{"title":"Éditeur du Touch Adaptation Kit : créer des bundles et des dispositions","sidebarTitle":"Éditeur du Touch Adaptation Kit : créer des bundles et des dispositions","icon":"video","href":"/fr/build/core-features/common/game-streaming/tak-editor/game-streaming-tak-editor-create-bundle"},{"title":"Éditeur du Touch Adaptation Kit : aperçu des dispositions","sidebarTitle":"Éditeur du Touch Adaptation Kit : aperçu des dispositions","icon":"paper-plane","href":"/fr/build/core-features/common/game-streaming/tak-editor/game-streaming-tak-editor-preview-layouts"},{"title":"Éditeur du Touch Adaptation Kit : personnaliser l'aperçu","sidebarTitle":"Éditeur du Touch Adaptation Kit : personnaliser l'aperçu","icon":"gamepad","href":"/fr/build/core-features/common/game-streaming/tak-editor/game-streaming-tak-editor-customize-preview"},{"title":"Éditeur du Touch Adaptation Kit : empaqueter des bundles","sidebarTitle":"Éditeur du Touch Adaptation Kit : empaqueter des bundles","icon":"gamepad","href":"/fr/build/core-features/common/game-streaming/tak-editor/game-streaming-tak-editor-pack-bundles"},{"title":"Éditeur du Touch Adaptation Kit : résolution des problèmes et commentaires","sidebarTitle":"Éditeur du Touch Adaptation Kit : résolution des problèmes et commentaires","icon":"triangle-exclamation","href":"/fr/build/core-features/common/game-streaming/tak-editor/game-streaming-tak-editor-troubleshooting"},{"title":"Éditeur du Touch Adaptation Kit (TAK) pour Visual Studio Code","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/common/game-streaming/tak-editor/index"}]},{"group":"Command Line Tool (tak.exe)","pages":[{"title":"Vue d'ensemble de l'outil en ligne de commande (tak.exe)","sidebarTitle":"Vue d'ensemble de l'outil en ligne de commande (tak.exe)","icon":"gamepad","href":"/fr/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line"},{"group":"Create Command","pages":[{"title":"Vue d'ensemble de la commande create","sidebarTitle":"Vue d'ensemble de la commande create","icon":"terminal","href":"/fr/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-create-command"},{"title":"Modèles","sidebarTitle":"Modèles","icon":"video","href":"/fr/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-templates"}]},{"title":"Commande convert","sidebarTitle":"Commande convert","icon":"video","href":"/fr/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-convert-command"},{"title":"Commande license","sidebarTitle":"Commande license","icon":"video","href":"/fr/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-license-command"},{"title":"Commande notice","sidebarTitle":"Commande notice","icon":"video","href":"/fr/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-notice-command"},{"title":"Commande pack","sidebarTitle":"Commande pack","icon":"video","href":"/fr/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-pack-command"},{"title":"Commande serve","sidebarTitle":"Commande serve","icon":"video","href":"/fr/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-serve-command"},{"title":"Commande settings","sidebarTitle":"Commande settings","icon":"sliders","href":"/fr/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-settings-command"},{"title":"Commande takx-version","sidebarTitle":"Commande takx-version","icon":"clock-rotate-left","href":"/fr/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-takx-version-command"},{"title":"Commande unpack","sidebarTitle":"Commande unpack","icon":"video","href":"/fr/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-unpack-command"},{"title":"Commande verify","sidebarTitle":"Commande verify","icon":"video","href":"/fr/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-verify-command"},{"title":"Commande version","sidebarTitle":"Commande version","icon":"video","href":"/fr/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-version-command"},{"title":"Référence de l'outil en ligne de commande du Touch Adaptation Kit (TAK)","sidebarTitle":"Vue d'ensemble","icon":"screwdriver-wrench","href":"/fr/build/core-features/common/game-streaming/tak-command-line-tool/index"}]},{"title":"Localisation du contenu","sidebarTitle":"Localisation du contenu","icon":"language","href":"/fr/build/core-features/common/game-streaming/game-streaming-tak-localization"},{"title":"Référence du Touch Adaptation Kit (TAK)","sidebarTitle":"Référence du Touch Adaptation Kit (TAK)","icon":"gamepad","href":"/fr/build/core-features/common/game-streaming/game-streaming-touch-touch-adaptation-kit-overview"},{"group":"Building Layouts","pages":[{"title":"Création de dispositions de commandes tactiles","sidebarTitle":"Création de dispositions de commandes tactiles","icon":"gamepad","href":"/fr/build/core-features/common/game-streaming/building-touch-layouts/game-streaming-touch-building-touch-layout"},{"title":"Guide du concepteur pour la création de commandes tactiles","sidebarTitle":"Guide du concepteur pour le tactile","icon":"book-open","href":"/fr/build/core-features/common/game-streaming/building-touch-layouts/game-streaming-tak-designers-guide"},{"title":"Créer une disposition de commandes tactiles personnalisée avec GitHub Copilot","sidebarTitle":"Créer une disposition de contrôles tactiles personnalisée avec GitHub Copilot","icon":"gamepad","href":"/fr/build/core-features/common/game-streaming/building-touch-layouts/game-streaming-build-touch-layout-github-copilot"},{"title":"Game streaming tak custom assets","href":"/fr/build/core-features/common/game-streaming/building-touch-layouts/game-streaming-tak-custom-assets"},{"title":"Mode contraste élevé pour les dispositions d'adaptation tactile","sidebarTitle":"Mode contraste élevé pour les dispositions d'adaptation tactile","icon":"gamepad","href":"/fr/build/core-features/common/game-streaming/building-touch-layouts/game-streaming-tak-high-contrast-mode"},{"title":"Modification des dispositions de contrôles tactiles en fonction de l'état du jeu","sidebarTitle":"Modification des dispositions de contrôles tactiles en fonction de l'état du jeu","icon":"chart-line","href":"/fr/build/core-features/common/game-streaming/building-touch-layouts/game-streaming-touch-changing-layouts-game-state"},{"title":"Déploiement des dispositions de contrôles tactiles à l'aide de Tak CLI","sidebarTitle":"Déploiement des dispositions de contrôles tactiles à l'aide de Tak CLI","icon":"box","href":"/fr/build/core-features/common/game-streaming/building-touch-layouts/game-streaming-touch-deploying-touch-layout"},{"title":"Publication des dispositions tactiles","sidebarTitle":"Publier les dispositions tactiles","icon":"rocket","href":"/fr/build/core-features/common/game-streaming/building-touch-layouts/game-streaming-touch-publishing-layouts"},{"title":"Création de dispositions de contrôles tactiles pour le streaming de jeux XBOX","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/common/game-streaming/building-touch-layouts/index"}]},{"group":"Sample Layouts","pages":[{"title":"Prise en main des dispositions de bundles tactiles","sidebarTitle":"Prise en main des bundles tactiles","icon":"gamepad","href":"/fr/build/core-features/common/game-streaming/building-touch-layouts/samples/game-streaming-touch-getting-started-with-sample-layouts"},{"title":"Disposition de contrôles tactiles pour la conduite","sidebarTitle":"Disposition de contrôles tactiles pour la conduite","icon":"video","href":"/fr/build/core-features/common/game-streaming/building-touch-layouts/samples/game-streaming-touch-tak-sample-driving"},{"title":"Disposition de contrôles tactiles pour les jeux de combat","sidebarTitle":"Disposition de contrôles tactiles pour les jeux de combat","icon":"code","href":"/fr/build/core-features/common/game-streaming/building-touch-layouts/samples/game-streaming-touch-tak-sample-fighter"},{"title":"Disposition de contrôles tactiles pour les jeux de tir à la première personne","sidebarTitle":"Disposition de contrôles tactiles pour les jeux de tir à la première personne","icon":"gamepad","href":"/fr/build/core-features/common/game-streaming/building-touch-layouts/samples/game-streaming-touch-tak-sample-first-person"},{"title":"Disposition de contrôles tactiles de la manette Xbox standard","sidebarTitle":"Disposition de contrôles tactiles de la manette Xbox standard","icon":"gamepad","href":"/fr/build/core-features/common/game-streaming/building-touch-layouts/samples/game-streaming-touch-tak-sample-full-layout"},{"title":"Disposition de contrôles tactiles pour jeu de plateforme 2D","sidebarTitle":"Disposition de contrôles tactiles pour jeu de plateforme 2D","icon":"gamepad","href":"/fr/build/core-features/common/game-streaming/building-touch-layouts/samples/game-streaming-touch-tak-sample-platformer"},{"title":"Exemples","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/common/game-streaming/building-touch-layouts/samples/index"}]}]}]},{"group":"Graphics","pages":[{"title":"Vue d'ensemble de DirectCapture","sidebarTitle":"Vue d'ensemble de DirectCapture","icon":"video","href":"/fr/build/core-features/common/game-streaming/game-streaming-directcapture-overview"},{"title":"Vue d'ensemble de la résolution personnalisée","sidebarTitle":"Vue d'ensemble de la résolution personnalisée","icon":"display","href":"/fr/build/core-features/common/game-streaming/game-streaming-custom-resolution-overview"},{"title":"Bonnes pratiques relatives à la résolution personnalisée pour le streaming de jeux","sidebarTitle":"Bonnes pratiques relatives à la résolution personnalisée pour le streaming de jeux","icon":"display","href":"/fr/build/core-features/common/game-streaming/game-streaming-custom-resolution-best-practices"},{"title":"Test avec une résolution personnalisée","sidebarTitle":"Tester avec une résolution personnalisée","icon":"display","href":"/fr/build/core-features/common/game-streaming/game-streaming-testing-custom-resolution"}]},{"group":"Latency Compensation","pages":[{"title":"Vue d'ensemble de la compensation de la latence du streaming de jeux","sidebarTitle":"Compensation de la latence du streaming de jeux","icon":"network-wired","href":"/fr/build/core-features/common/game-streaming/game-streaming-latency-compensation-overview"},{"title":"Présentation approfondie de la compensation de la latence du streaming de jeux","sidebarTitle":"Compensation de la latence du streaming de jeux","icon":"network-wired","href":"/fr/build/core-features/common/game-streaming/game-streaming-latency-compensation-deep-dive"},{"title":"Mesure de la latence du streaming de jeux","sidebarTitle":"Mesure de la latence du streaming de jeux","icon":"network-wired","href":"/fr/build/core-features/common/game-streaming/game-streaming-latency-measurement"},{"title":"Simulation de la latence lors du test de votre jeu","sidebarTitle":"Simuler la latence lors du test de votre","icon":"network-wired","href":"/fr/build/core-features/common/game-streaming/game-streaming-simulate-latency-while-testing"}]},{"title":"Prise en charge du tactile et du streaming pour XBOX Cloud Gaming","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/core-features/common/game-streaming/index"}]},{"group":"Additional pages","pages":[{"group":"Common","pages":[{"title":"Fonctionnalités du GDK communes à toutes les plateformes","sidebarTitle":"Fonctionnalités du GDK communes à toutes les plateformes","icon":"cube","href":"/fr/build/core-features/common/common-features-overview"},{"group":"Game config","pages":[{"title":"MicrosoftGame.config (contenu)","sidebarTitle":"MicrosoftGame.config (contenu)","icon":"map","href":"/fr/build/core-features/common/game-config/MicrosoftGameConfig-toc"}]},{"group":"Game save","pages":[{"title":"Sauvegarde de jeu","sidebarTitle":"Vue d'ensemble","icon":"hard-drive","href":"/fr/build/core-features/common/game-save/index"},{"title":"Game Saves (sommaire)","sidebarTitle":"Sauvegardes de jeu (sommaire)","icon":"cloud-arrow-up","href":"/fr/build/core-features/common/game-save/game-saves-toc"}]},{"group":"Packaging","pages":[{"title":"Création de packages","sidebarTitle":"Création de packages","icon":"box","href":"/fr/build/core-features/common/packaging/gc-packaging-toc"}]},{"group":"User","pages":[{"title":"Utilisateurs","sidebarTitle":"Utilisateurs","icon":"user","href":"/fr/build/core-features/common/user/user-toc"}]}]}]}]},{"group":"Console Features","tag":"","pages":[{"title":"Fonctionnalités console du XBOX Game Development Kit","sidebarTitle":"Vue d'ensemble","icon":"tv","href":"/fr/build/console-features/index"},{"group":"Memory","pages":[{"title":"Système de mémoire pour les titres XBOX GDK","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/console-features/memory/index"},{"group":"Memory","pages":[{"group":"Unpublished pages","hidden":true,"pages":[{"title":"System memory porting","href":"/fr/build/console-features/memory/system-memory-porting"}]}]}]},{"group":"Audio","pages":[{"title":"Synthèse vocale","sidebarTitle":"Synthèse vocale","icon":"comments","href":"/fr/build/console-features/text-to-speech/text-to-speech"},{"title":"Audio","sidebarTitle":"Audio","icon":"volume-high","href":"/fr/build/console-features/audio/gc-audio-toc"},{"title":"Vue d'ensemble de l'audio","sidebarTitle":"Vue d'ensemble de l'audio","icon":"volume-high","href":"/fr/build/console-features/audio/overviews/audio"},{"title":"Vue d'ensemble du matériel audio XBOX Series X|S","sidebarTitle":"Vue d'ensemble de l'audio XBOX Series X|S","icon":"server","href":"/fr/build/console-features/audio/overviews/scarlett-audio"},{"title":"L'architecture audio de XBOX One","sidebarTitle":"L'architecture audio de XBOX One","icon":"lightbulb","href":"/fr/build/console-features/audio/overviews/xbox-one-audio-architecture"},{"title":"Comparaison des API audio XDK et GDK","sidebarTitle":"Comparaison du logiciel XBOX One","icon":"cube","href":"/fr/build/console-features/audio/overviews/comparison-of-xdk-and-gdk-audio-api"},{"title":"Vue d'ensemble de XAPU","sidebarTitle":"Xapu","icon":"volume-high","href":"/fr/build/console-features/audio/overviews/xapu-overview"},{"title":"Décodage audio Opus à flux unique avec l'API XAPU","sidebarTitle":"Vue d'ensemble de l'audio Opus à flux unique","icon":"volume-high","href":"/fr/build/console-features/audio/overviews/xapu-overview-single-stream-audio-decode"},{"title":"Vue d'ensemble de XDSP","sidebarTitle":"Xdsp","icon":"volume-high","href":"/fr/build/console-features/audio/overviews/xdsp-overview"},{"title":"Vue d'ensemble d'une convolution à flux unique à l'aide de l'API XDSP","sidebarTitle":"Vue d'ensemble d'une convolution à flux unique","icon":"volume-high","href":"/fr/build/console-features/audio/overviews/xdsp-overview-single-stream-convolution"},{"title":"Vue d'ensemble d'une FFT/IFFT à flux unique à l'aide de l'API XDSP","sidebarTitle":"Vue d'ensemble d'une FFT/IFFT à flux unique","icon":"volume-high","href":"/fr/build/console-features/audio/overviews/xdsp-overview-single-stream-fft-ifft"},{"title":"Vue d'ensemble de la réduction de la réponse impulsionnelle XDSP","sidebarTitle":"Réduction de la réponse impulsionnelle XDSP","icon":"volume-high","href":"/fr/build/console-features/audio/overviews/xdsp-overview-ir-reduction"},{"title":"Vue d'ensemble de l'enveloppe XDSP","sidebarTitle":"Enveloppe XDSP","icon":"volume-high","href":"/fr/build/console-features/audio/overviews/xdsp-overview-enveloping"},{"title":"Convolution à flux unique avec enveloppe à l'aide de l'API XDSP","sidebarTitle":"Vue d'ensemble d'une convolution à flux unique","icon":"volume-high","href":"/fr/build/console-features/audio/overviews/xdsp-overview-single-stream-convolution-with-envelope"},{"title":"Vue d'ensemble du son spatial","sidebarTitle":"Vue d'ensemble du son spatial","icon":"volume-high","href":"/fr/build/console-features/audio/overviews/spatial-audio-overview"},{"title":"Xaudio2 overview","href":"/fr/build/console-features/audio/overviews/xaudio2-overview"},{"title":"Utiliser XAudio2 pour lire un son","sidebarTitle":"Utiliser XAudio2 pour lire un son","icon":"volume-high","href":"/fr/build/console-features/audio/overviews/xaudio2-play-sound"},{"title":"Vue d'ensemble de l'ADPCM","sidebarTitle":"Vue d'ensemble de l'ADPCM","icon":"circle-info","href":"/fr/build/console-features/audio/overviews/adpcm-overview"},{"title":"Encodeur ADPCM en ligne de commande","sidebarTitle":"Encodeur adpcm en ligne de commande","icon":"volume-high","href":"/fr/build/console-features/audio/tools/adpcmencoder-tools"},{"title":"Vue d'ensemble de SHAPE","sidebarTitle":"Vue d'ensemble de shape","icon":"volume-high","href":"/fr/build/console-features/audio/overviews/shape-overview"},{"title":"Bonnes pratiques de construction de graphes de flux audio SHAPE","sidebarTitle":"Maîtriser SHAPE : bonnes pratiques pour","icon":"brackets-curly","href":"/fr/build/console-features/audio/overviews/best-practices-audio-flowgraph-construction"},{"title":"Vue d'ensemble de l'ACP","sidebarTitle":"ACP","icon":"volume-high","href":"/fr/build/console-features/audio/overviews/acp-overview"},{"title":"Vue d'ensemble de XMA2","sidebarTitle":"Vue d'ensemble de xma2","icon":"volume-high","href":"/fr/build/console-features/audio/overviews/xma2-overview"},{"title":"Outil d'encodage XMA2","sidebarTitle":"Outil d'encodage xma2","icon":"video","href":"/fr/build/console-features/audio/tools/xma2encodertool"},{"title":"Informations de référence sur l'encodeur XMA2","sidebarTitle":"Informations de référence sur l'encodeur xma2","icon":"volume-high","href":"/fr/build/console-features/audio/tools/xma2encoder/atoc-xmaencoder"},{"title":"Fonctions de XMA2encoder","sidebarTitle":"Fonctions de xma2encoder","icon":"video","href":"/fr/build/console-features/audio/tools/xma2encoder/tech-xmaencoder-funcs"},{"title":"XAudio2XMAEncoder","sidebarTitle":"Xaudio2xmaencoder","icon":"volume-high","href":"/fr/build/console-features/audio/tools/xma2encoder/methods/xaudio2xmaencoder-xmaencoder-xbox-microsoft-m"},{"title":"Vue d'ensemble de xWMA","sidebarTitle":"Vue d'ensemble de xwma","icon":"volume-high","href":"/fr/build/console-features/audio/overviews/xwma-overview"},{"title":"Xwmaencode tools","href":"/fr/build/console-features/audio/tools/xwmaencode-tools"},{"title":"Informations de référence sur l'encodeur xWMA","sidebarTitle":"Informations de référence sur l'encodeur xwma","icon":"volume-high","href":"/fr/build/console-features/audio/tools/xwmaencoder/atoc-xwmaencoder"},{"title":"Fonctions de xwmaencoder","sidebarTitle":"Fonctions de xwmaencoder","icon":"video","href":"/fr/build/console-features/audio/tools/xwmaencoder/tech-xwmaencoder-nativereference-funcs"},{"title":"XWMAEncoder","sidebarTitle":"Xwmaencoder","icon":"volume-high","href":"/fr/build/console-features/audio/tools/xwmaencoder/methods/xwmaencoder-xwmaencoder-xbox-microsoft-m"},{"title":"WASAPI","sidebarTitle":"Wasapi","icon":"volume-high","href":"/fr/build/console-features/audio/overviews/wasapi-overview"},{"group":"Audio","pages":[{"title":"Vues d'ensemble et outils audio du GDK XBOX","sidebarTitle":"Vue d'ensemble","icon":"volume-high","href":"/fr/build/console-features/audio/index"},{"group":"Xdsp","pages":[{"title":"Vues d'ensemble","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/console-features/audio/overviews/index"}]},{"group":"Xma2","pages":[{"group":"Xma2 encoder tool","pages":[{"title":"Outils","sidebarTitle":"Vue d'ensemble","icon":"screwdriver-wrench","href":"/fr/build/console-features/audio/tools/index"},{"group":"Xma2 encoder reference","pages":[{"title":"Bibliothèque et outil en ligne de commande d'encodage XMA2","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/console-features/audio/tools/xma2encoder/index"}]}]}]},{"group":"Xwma","pages":[{"group":"Xwma command-line encoder","pages":[{"group":"Xwma encoder reference","pages":[{"title":"Bibliothèque et outil en ligne de commande d'encodage xWMA","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/console-features/audio/tools/xwmaencoder/index"}]}]}]}]}]},{"group":"Player Data, Social Features, Networking, and Multiplayer","pages":[{"group":"Networking","pages":[{"title":"Mise en réseau","sidebarTitle":"Mise en réseau","icon":"network-wired","href":"/fr/build/console-features/networking/gc-networking-toc"},{"title":"Vue d'ensemble de la pile réseau et des API réseau du GDK","sidebarTitle":"Présentation de la mise en réseau dans le Microsoft Game Development Kit (GDK)","icon":"circle-info","href":"/fr/build/console-features/networking/introduction-networking"},{"title":"Détection de l'état d'initialisation du réseau","sidebarTitle":"Détection de l'état d'initialisation du réseau","icon":"chart-line","href":"/fr/build/console-features/networking/initialization-connectivity-networking"},{"title":"Marquage des paquets de qualité de service (QoS) sur les consoles XBOX","sidebarTitle":"Marquage des paquets de qualité de service (QoS) sur les consoles Xbox","icon":"network-wired","href":"/fr/build/console-features/networking/qos-packet-tagging"},{"group":"Web Requests","pages":[{"title":"Requêtes web","sidebarTitle":"Requêtes web","icon":"network-wired","href":"/fr/build/console-features/networking/web-requests/web-requests-toc"},{"title":"Vue d'ensemble des requêtes web","sidebarTitle":"Requêtes web","icon":"plug","href":"/fr/build/console-features/networking/web-requests/http-networking"},{"title":"Vue d'ensemble de xCurl","sidebarTitle":"Vue d'ensemble de xCurl","icon":"network-wired","href":"/fr/build/console-features/networking/web-requests/intro-xcurl"},{"title":"Vue d'ensemble de WinHTTP","sidebarTitle":"Vue d'ensemble de WinHTTP","icon":"circle-info","href":"/fr/build/console-features/networking/web-requests/intro-winhttp"},{"title":"Débogage des piles HTTP personnalisées","sidebarTitle":"Débogage des piles HTTP personnalisées","icon":"network-wired","href":"/fr/build/console-features/networking/web-requests/debugging-custom-http-stacks"},{"title":"Requêtes web et piles HTTP sur XBOX","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/console-features/networking/web-requests/index"}]},{"group":"Game Mesh","pages":[{"title":"Maillage de jeu (contenu)","sidebarTitle":"Maillage de jeu (contenu)","icon":"network-wired","href":"/fr/build/console-features/networking/game-mesh/game-mesh-toc"},{"title":"PlayFab Party","sidebarTitle":"PlayFab Party","icon":"people-group","href":"/fr/build/console-features/networking/game-mesh/playfab-party-intro-networking"},{"title":"Sous-système en ligne PlayFab Party pour Unreal","sidebarTitle":"Sous-système en ligne PlayFab Party pour Unreal","icon":"people-group","href":"/fr/build/console-features/networking/game-mesh/party-unreal-online-subsystem"},{"title":"SDK PlayFab Party pour Unity","sidebarTitle":"SDK PlayFab Party pour Unity","icon":"people-group","href":"/fr/build/console-features/networking/game-mesh/party-unity-plugin"},{"title":"MsQuic","sidebarTitle":"MsQuic","icon":"palette","href":"/fr/build/console-features/networking/game-mesh/msquic-intro-networking"},{"title":"Port multijoueur UDP préféré","sidebarTitle":"Port multijoueur UDP préféré","icon":"user","href":"/fr/build/console-features/networking/game-mesh/preferred-local-udp-multiplayer-port-networking"},{"group":"Windows Sockets","pages":[{"title":"Vue d'ensemble de Windows Sockets","sidebarTitle":"Vue d'ensemble de Windows Sockets","icon":"circle-info","href":"/fr/build/console-features/networking/game-mesh/winsock-intro-networking"},{"title":"Comportement des ports sur PC","sidebarTitle":"Comportement des ports sur PC","icon":"network-wired","href":"/fr/build/console-features/networking/game-mesh/pc-port-behavior"},{"title":"Comportement des ports de la console XBOX","sidebarTitle":"Comportement des ports de la console XBOX","icon":"network-wired","href":"/fr/build/console-features/networking/game-mesh/xbox-console-port-behavior"}]},{"title":"Mesures de la qualité de service","sidebarTitle":"Mesures de la qualité de service","icon":"network-wired","href":"/fr/build/console-features/networking/game-mesh/qos-networking"},{"title":"Mise en réseau en maillage de jeu pour les titres XBOX","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/console-features/networking/game-mesh/index"}]},{"group":"Networking tools for the Microsoft Game Development Kit","pages":[{"title":"Outils de surveillance et de débogage du trafic réseau GDK","sidebarTitle":"Outils réseau du Microsoft Game Development Kit (contenu)","icon":"network-wired","href":"/fr/build/console-features/networking/tools/tools-networking-toc"},{"title":"Fiddler setup networking","href":"/fr/build/console-features/networking/tools/fiddler-setup-networking"},{"title":"Fiddler sur PC Windows","sidebarTitle":"Fiddler sur PC Windows","icon":"network-wired","href":"/fr/build/console-features/networking/tools/fiddler-pc"},{"title":"Capture du trafic réseau sur Xbox One","sidebarTitle":"Capture du trafic réseau sur Xbox One","icon":"network-wired","href":"/fr/build/console-features/networking/tools/netcap-networking"},{"title":"Tests de stress réseau sur les kits de développement XBOX","sidebarTitle":"Tests de stress réseau sur les kits de développement XBOX","icon":"network-wired","href":"/fr/build/console-features/networking/tools/netstress-networking"},{"title":"Outils","sidebarTitle":"Vue d'ensemble","icon":"screwdriver-wrench","href":"/fr/build/console-features/networking/tools/index"}]},{"title":"Ports réservés XBOX","sidebarTitle":"Ports réservés XBOX","icon":"network-wired","href":"/fr/build/console-features/networking/reserved-ports-networking"},{"title":"Guides de migration depuis le XBOX One Software Development Kit","sidebarTitle":"XBOX One Software Development Kit","icon":"book-open","href":"/fr/build/console-features/networking/xdk-migration/xdk-migration-toc"},{"title":"Vue d'ensemble de la migration depuis le XBOX One Software Development Kit","sidebarTitle":"XBOX One Software Development Kit","icon":"circle-info","href":"/fr/build/console-features/networking/xdk-migration/xdk-migration-overview-networking"},{"title":"Différences de requêtes web entre le GDK et le XDK","sidebarTitle":"Différences de requêtes web","icon":"network-wired","href":"/fr/build/console-features/networking/xdk-migration/xdk-migration-web-requests-networking"},{"title":"Communication par maillage de jeu : différences entre le GDK et le XDK","sidebarTitle":"Différences de maillage de jeu","icon":"network-wired","href":"/fr/build/console-features/networking/xdk-migration/xdk-migration-game-mesh-networking"},{"group":"XDK migration guide","pages":[{"title":"Migration de la mise en réseau du XDK vers le GDK XBOX","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/console-features/networking/xdk-migration/index"}]}]},{"title":"Vue d'ensemble de PlayFab Party","sidebarTitle":"Vue d'ensemble de PlayFab Party","icon":"network-wired","href":"/fr/build/console-features/networking/index"}]},{"group":"Storage and Game Saves","pages":[{"group":"Storage","pages":[{"title":"Stockage local sur la console Xbox","sidebarTitle":"Stockage local sur la console Xbox","icon":"hard-drive","href":"/fr/build/console-features/storage/local-storage"},{"title":"DirectStorage (contenu)","sidebarTitle":"DirectStorage (contenu)","icon":"hard-drive","href":"/fr/build/console-features/storage/directstorage-toc"},{"title":"Vue d'ensemble de DirectStorage","sidebarTitle":"Vue d'ensemble de DirectStorage","icon":"circle-info","href":"/fr/build/console-features/storage/directstorage/directstorage-overview"},{"title":"Directstorage white paper","href":"/fr/build/console-features/storage/directstorage/directstorage-white-paper"},{"title":"Directstorage compression","href":"/fr/build/console-features/storage/directstorage/directstorage-compression"},{"title":"Décompression matérielle simplifiée","sidebarTitle":"Décompression matérielle simplifiée","icon":"download","href":"/fr/build/console-features/storage/directstorage/directstorage-drop-in-decompression"},{"title":"Directstorage shuffles","href":"/fr/build/console-features/storage/directstorage/directstorage-shuffles"}]},{"group":"Game Saves","pages":[{"title":"Vue d'ensemble de Game Saves","sidebarTitle":"Vue d'ensemble des sauvegardes de jeu","icon":"circle-info","href":"/fr/build/core-features/common/game-save/game-saves-overview"},{"title":"Guide du développeur Game Saves","sidebarTitle":"Guide du développeur des sauvegardes de jeu","icon":"book-open","href":"/fr/build/core-features/common/game-save/game-saves-developer-guide"},{"title":"Comprendre le flux de synchronisation de Game Saves","sidebarTitle":"Comprendre le flux de synchronisation des sauvegardes de jeu","icon":"cloud-arrow-up","href":"/fr/build/core-features/common/game-save/game-saves-syncing"},{"title":"Systèmes de stockage de Game Saves","sidebarTitle":"Systèmes de stockage des sauvegardes de jeu","icon":"hard-drive","href":"/fr/build/core-features/common/game-save/game-saves-storage-systems"},{"title":"Boîtes de dialogue système de Game Saves","sidebarTitle":"Boîtes de dialogue système des sauvegardes de jeu","icon":"cloud-arrow-up","href":"/fr/build/core-features/common/game-save/game-saves-dialogues"},{"title":"Procédures pas à pas et exemples Game Saves","sidebarTitle":"Procédures pas à pas et exemples de sauvegardes de jeu","icon":"code","href":"/fr/build/core-features/common/game-save/game-saves-walkthroughs-and-samples"},{"title":"Débogage de Game Saves","sidebarTitle":"Débogage des sauvegardes de jeu","icon":"cloud-arrow-up","href":"/fr/build/core-features/common/game-save/game-saves-debugging"},{"title":"Outils Game Saves","sidebarTitle":"Outils des sauvegardes de jeu","icon":"cloud-arrow-up","href":"/fr/build/core-features/common/game-save/game-saves-tools"},{"title":"Vue d'ensemble de l'API XGameSaveFiles","sidebarTitle":"Vue d'ensemble de l'API XGameSaveFiles","icon":"circle-info","href":"/fr/build/core-features/common/game-save/xgamesavefiles"},{"title":"Vue d'ensemble de l'API XGameSave","sidebarTitle":"Vue d'ensemble de l'API XGameSave","icon":"circle-info","href":"/fr/build/core-features/common/game-save/xgamesave"}]},{"title":"Stockage","sidebarTitle":"Vue d'ensemble","icon":"hard-drive","href":"/fr/build/console-features/storage/index"}]},{"group":"Game dvr","pages":[{"title":"Game DVR et diffusion sur les consoles XBOX","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/console-features/game-dvr/index"}]},{"group":"Cross console gen development","pages":[{"title":"Jeux intergénérationnels avec le GDK XBOX","sidebarTitle":"Vue d'ensemble","icon":"folder-open","href":"/fr/build/console-features/cross-gen/index"}]},{"group":"Additional pages","pages":[{"title":"Fonctionnalités du GDK pour les consoles Xbox","sidebarTitle":"Fonctionnalités du GDK pour les consoles Xbox","icon":"cube","href":"/fr/build/console-features/console-features-overview"}]}]},{"group":"ATG engagement","icon":"handshake-angle","hidden":true,"tag":"NDA","pages":[{"title":"Atg engagement","href":"/fr/build/atg-engagement/atg-engagement"}]},{"group":"Build and Develop","pages":[{"group":"Platform-specific Development","pages":[{"group":"PC-first development","pages":[{"title":"Vue d'ensemble du guide de bout en bout pour PC","sidebarTitle":"Vue d'ensemble du guide de bout en bout pour PC","icon":"compass","href":"/fr/build/gdk-and-engines/overview"},{"group":"Handheld devices considerations","pages":[{"title":"Directives du programme Handheld Compatibility, conçu par Xbox","sidebarTitle":"Directives du programme Handheld Compatibility, conçu par Xbox","icon":"list-check","href":"/fr/build/gdk-and-engines/handheld/handheld-guidance"},{"title":"Directives et cas de test Handheld Compatibility","sidebarTitle":"Directives et cas de test du programme Handheld Compatibility","icon":"clipboard-check","href":"/fr/build/gdk-and-engines/handheld/handheld-guidelines-and-testcases"},{"title":"Considérations supplémentaires pour les appareils portables","sidebarTitle":"Considérations supplémentaires","icon":"list","href":"/fr/build/gdk-and-engines/handheld/handheld-considerations"},{"title":"Lanceurs de jeux et appareils portables","sidebarTitle":"Lanceurs de jeux","icon":"rocket","href":"/fr/build/gdk-and-engines/handheld/handheld-launchers"},{"title":"Équilibrer performances et efficacité énergétique","sidebarTitle":"Équilibrer performances et efficacité énergétique","icon":"battery-half","href":"/fr/build/gdk-and-engines/handheld/handheld-performance"}]},{"group":"Steps that may apply to your game","pages":[{"icon":"file-lines","title":"Advanced Shader Delivery","href":"/fr/build/gdk-and-engines/guides/advanced-shader-delivery"},{"icon":"file-lines","title":"Guide de programmation Direct3D 12","href":"/fr/build/gdk-and-engines/guides/directx-12-programming-guide"}]},{"group":"Additional PC overviews","pages":[{"title":"PC Bootstrapper","sidebarTitle":"PC Bootstrapper","icon":"rocket","href":"/fr/build/gdk-and-engines/guides/pc-bootstrapper"},{"title":"Prise en charge des écrans haute résolution (DPI élevé) sur PC","sidebarTitle":"Prise en charge des écrans à DPI élevé sur PC","icon":"display","href":"/fr/build/gdk-and-engines/guides/high-dpi-displays"},{"title":"Démarrer le développement d'un nouveau titre à l'aide des modèles de projet GDK","sidebarTitle":"Démarrer le développement d'un nouveau titre à l'aide des modèles de projet GDK","icon":"file-code","href":"/fr/build/gdk-and-engines/guides/gdk-project-templates"},{"title":"Structure des répertoires d'en-têtes et de bibliothèques du GDK","sidebarTitle":"Structure des répertoires d'en-têtes et de bibliothèques du GDK","icon":"folder-tree","href":"/fr/build/gdk-and-engines/guides/gdk-directory-structure"},{"title":"Modes d'affichage de fenêtre et boîtes de dialogue d'interface utilisateur appelables par le titre","sidebarTitle":"Modes d'affichage de fenêtre et boîtes de dialogue d'interface utilisateur appelables par le titre","icon":"window-restore","href":"/fr/build/gdk-and-engines/guides/window-display-modes-tcui"},{"title":"FAQ pour les développeurs PC","sidebarTitle":"FAQ pour les développeurs PC","icon":"circle-question","href":"/fr/build/gdk-and-engines/guides/pc-faq"},{"title":"Résolution des problèmes de trafic des services Xbox pour les jeux PC","sidebarTitle":"Résolution des problèmes de trafic des services Xbox pour les jeux PC","icon":"network-wired","href":"/fr/build/gdk-and-engines/guides/troubleshoot-xbox-services-traffic"},{"title":"Performances des jeux dans les environnements à processeurs hybrides","sidebarTitle":"Performances des jeux dans les environnements à processeurs hybrides","icon":"microchip","href":"/fr/build/gdk-and-engines/guides/hybrid-cpu-performance"}]},{"icon":"file-lines","title":"Différences conceptuelles entre le GDK et Steamworks","href":"/fr/build/steam-porting-guide/conceptual-differences"}]},{"title":"Upgrading xbox one xdk titles on scarlett","href":"/fr/build/console-features/console-workflows/upgrading-xbox-one-xdk-titles-on-scarlett"},{"title":"Using gdk remotely","href":"/fr/build/console-features/console-workflows/using-gdk-remotely"},{"title":"Xbox game life cycle","href":"/fr/build/console-features/console-workflows/xbox-game-life-cycle"},{"title":"Inspecting errors","href":"/fr/build/console-features/debugging-diagnostics/inspecting-errors"},{"title":"Troubleshooting common issues","href":"/fr/build/console-features/debugging-diagnostics/troubleshooting-common-issues"},{"title":"Profiling mode","href":"/fr/build/console-features/debugging-diagnostics/profiling-mode"},{"title":"Retrieving crash dumps","href":"/fr/build/console-features/debugging-diagnostics/retrieving-crash-dumps"},{"title":"Xtf gamepad input testing","href":"/fr/build/console-features/debugging-diagnostics/xtf-gamepad-input-testing"},{"title":"Debugging with overlay folders","href":"/fr/build/console-features/debugging-diagnostics/debugging-with-overlay-folders"},{"title":"Devkit second nic","href":"/fr/build/console-features/debugging-diagnostics/devkit-second-nic"},{"title":"Atg systems engagement","href":"/fr/build/atg-engagement/atg-systems-engagement"},{"title":"Atg graphics engagement","href":"/fr/build/atg-engagement/atg-graphics-engagement"},{"title":"Withoutinstall overview","href":"/fr/build/console-features/build-without-install/withoutinstall-overview"},{"title":"Build environment withoutinstall","href":"/fr/build/console-features/build-without-install/build-environment-withoutinstall"},{"title":"Project configuration withoutinstall","href":"/fr/build/console-features/build-without-install/project-configuration-withoutinstall"},{"title":"Porting guide for existing era","href":"/fr/build/console-features/porting-from-xbox-one-era/porting-guide-for-existing-era"}]},{"group":"Build Tools","pages":[{"group":"Packaging and Deployment Tools","pages":[{"title":"Créer un package (makepkg.exe)","sidebarTitle":"Créer un package (makepkg.exe)","icon":"box","href":"/fr/build/core-features/common/packaging/deployment/makepkg"},{"title":"Créer un index de ressources de package (MakePRI.exe)","sidebarTitle":"Créer un index de ressources de package","icon":"box","href":"/fr/build/core-features/common/packaging/deployment/makepri"},{"title":"Fractionner un package (splitpkg.exe)","sidebarTitle":"Fractionner un package (splitpkg.exe)","icon":"box","href":"/fr/build/core-features/common/packaging/deployment/splitpkg"},{"title":"packageutil.exe","sidebarTitle":"packageutil.exe","icon":"box","href":"/fr/build/core-features/common/packaging/deployment/packageutil"}]}]},{"group":"Async programming model","pages":[{"title":"Vue d'ensemble de la programmation asynchrone (contenu)","sidebarTitle":"Vue d'ensemble de la programmation asynchrone (contenu)","icon":"circle-info","href":"/fr/build/core-features/common/async/async-toc"},{"title":"Objectifs de conception et améliorations de la programmation asynchrone","sidebarTitle":"Objectifs de conception de la programmation asynchrone","icon":"map","href":"/fr/build/core-features/common/async/async-whitepaper"},{"title":"Modèle de programmation asynchrone","sidebarTitle":"Modèle de programmation asynchrone","icon":"square-pen","href":"/fr/build/core-features/common/async/async-programming-model"},{"title":"Wrapper générique de tâche asynchrone","sidebarTitle":"Wrapper générique de tâche asynchrone","icon":"microchip","href":"/fr/build/core-features/common/async/async-task-function-example"}]},{"group":"Player input","pages":[{"title":"Entrée","sidebarTitle":"Entrée","icon":"gamepad","href":"/fr/build/core-features/common/input/gc-input-toc"},{"title":"Prise en charge du clavier virtuel","sidebarTitle":"Prise en charge du clavier virtuel","icon":"gamepad","href":"/fr/build/core-features/common/input/overviews/virtualkeyboardsupport"}]},{"title":"Game DVR et diffusion","sidebarTitle":"Game DVR et diffusion","icon":"square-pen","href":"/fr/build/console-features/game-dvr/gamedvr-broadcast"},{"title":"System memory overview","href":"/fr/build/console-features/memory/system-memory-overview"},{"title":"System memory details","href":"/fr/build/console-features/memory/system-memory-details"},{"title":"Coûts de la mémoire inter-cœurs","sidebarTitle":"Coûts de la mémoire inter-cœurs","icon":"memory","href":"/fr/build/console-features/memory/Cross-Core-Memory-Costs"},{"title":"System memory diagnostics","href":"/fr/build/console-features/memory/system-memory-diagnostics"},{"title":"Utilisation du gestionnaire de mémoire du système d'exploitation de jeu Microsoft GDK","sidebarTitle":"Utilisation du système d'exploitation de jeu Microsoft GDK","icon":"cube","href":"/fr/build/console-features/memory/system-memory-working"},{"title":"System memory tooling","href":"/fr/build/console-features/memory/system-memory-tooling"},{"title":"Kernel memory usage","href":"/fr/build/console-features/memory/kernel_memory_usage"},{"title":"Virtual memory allocator","href":"/fr/build/console-features/memory/virtual-memory-allocator"},{"title":"Writeable file mappings","href":"/fr/build/console-features/memory/writeable-file-mappings"},{"title":"Développement de titres intergénérationnels","sidebarTitle":"Développement de titres intergénérationnels","icon":"arrows-left-right","href":"/fr/build/console-features/cross-gen/gc-cross-gen-toc"},{"title":"Jeux intergénérationnels","sidebarTitle":"Jeux intergénérationnels","icon":"circle-info","href":"/fr/build/console-features/cross-gen/cross-gen-overview"},{"title":"Jeux intergénérationnels à double SKU","sidebarTitle":"Jeux intergénérationnels à double SKU","icon":"tags","href":"/fr/build/console-features/cross-gen/cross-gen-dual-sku"},{"title":"Jeux intergénérationnels via la rétrocompatibilité uniquement","sidebarTitle":"Jeux intergénérationnels via","icon":"arrows-left-right","href":"/fr/build/console-features/cross-gen/cross-gen-backcompat-only"},{"title":"Smart Delivery","sidebarTitle":"Smart Delivery","icon":"box","href":"/fr/build/console-features/cross-gen/cross-gen-smart-delivery"}]}]},{"tab":"Services","pages":[{"title":"Services","href":"/fr/services/xbox-services"}]},{"tab":"Tools","pages":[{"title":"Tools","href":"/fr/tools/additional-tools"}]},{"tab":"Publishing","pages":[{"title":"Publishing","href":"/fr/publishing/game-publishing/publishing-processes/managed-creators/overview"}]},{"tab":"GDK APIs","pages":[{"title":"GDK APIs","href":"/fr/reference/chat/gc-reference-chat-toc"}]},{"tab":"PlayFab APIs","pages":[{"title":"PlayFab APIs","href":"/fr/services/playfab/api-references"}]},{"tab":"Microsoft Store APIs","pages":[{"title":"Microsoft Store APIs","href":"/fr/reference/microsoft-store-apis/xstore-nav"}]},{"tab":"NDA Topics","pages":[{"title":"NDA Topics","href":"/fr/nda/nda-overview"}]}]},{"language":"ja-jp","pages":[{"title":"ja-jp","href":"/ja-jp/build/core-features/graphics/newfeatures/ms/ms-meshlet-render"}]},{"language":"ko","pages":[{"title":"ko","href":"/ko/build/core-features/graphics/newfeatures/ms/ms-meshlet-render"}]},{"language":"pt-BR","pages":[{"title":"pt-BR","href":"/pt-BR/build/core-features/graphics/newfeatures/ms/ms-meshlet-render"}]},{"language":"zh-CN","pages":[{"title":"zh-CN","href":"/zh-CN/build/core-features/graphics/newfeatures/ms/ms-meshlet-render"}]},{"language":"zh-TW","pages":[{"title":"zh-TW","href":"/zh-TW/build/core-features/graphics/newfeatures/ms/ms-meshlet-render"}]}]},"basePath":"","title":"Meshlets - XBOX Game Development Documentation","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-DL4wrF0w.js","lightbox-handle-r17bVUz3.js"]}