> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# D3D12XBOX_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_PARAMS3

> D3D12XBOX_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_PARAMS3 (consoles XBOX Series) — Ensemble étendu de paramètres pour les générations par lots.

Ensemble étendu de paramètres pour les générations par lots.

## Syntaxe

```cpp theme={null}
typedef struct D3D12XBOX_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_PARAMS3
{
    D3D12XBOX_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_SUBOBJECT_TYPE Type;
    UINT    NumExtraElementsForInstanceSplitting;
    float   InstanceSplit16Fraction;
    float   IsolateSARatio;
} D3D12XBOX_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_PARAMS3
```

### Membres

*Type*\
Type : [D3D12XBOX\_BUILD\_RAYTRACING\_ACCELERATION\_STRUCTURE\_SUBOBJECT\_TYPE](/fr/reference/graphics/d3d12_xs/enums/d3d12xbox_build_raytracing_acceleration_structure_subobject_type)

Cette valeur sera *D3D12XBOX\_BUILD\_RAYTRACING\_ACCELERATION\_STRUCTURE\_SUBOBJECT\_TYPE\_PARAMS3*.

*NumExtraElementsForInstanceSplitting*\
Type : UINT

Valeurs par défaut du pilote :

1. `floor(totalInstanceCount * 0.35f)` (*D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_BUILD\_FLAG\_PREFER\_FAST\_TRACE*)
   1. `0` (*D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_BUILD\_FLAG\_MINIMIZE\_MEMORY*)
   2. `0` (*D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_BUILD\_FLAG\_ALLOW\_UPDATE*)
2. `0` (tous les autres indicateurs de génération TLAS)

Valeurs attendues :

1. `0xFFFFFFFF` (utiliser la valeur par défaut du pilote)
2. `[0, totalInstanceCount * 15]`

Cette valeur indique le nombre d'instances supplémentaires à allouer dans la mémoire du TLAS, que le générateur de TLAS peut utiliser pour fractionner les nœuds BLAS afin d'améliorer les performances de parcours.

Chaque instance peut être fractionnée en 4 ou 16 morceaux, en développant le premier ou le deuxième niveau de l'arbre. Cela signifie qu'il existe une limite maximale de 15 instances « supplémentaires » nécessaires pour fractionner une instance en 16 morceaux, au-delà de l'allocation d'origine pour une instance unique.

Cela a un impact à la fois sur la taille de la mémoire du TLAS et de la mémoire de travail, qui sont généralement petites, ainsi que sur les temps de génération du TLAS. Si le temps de génération est plus important que le temps de parcours, envisagez d'utiliser *D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_BUILD\_FLAG\_PREFER\_FAST\_BUILD*, ou désactivez manuellement le fractionnement des instances avec `NumExtraElementsForInstanceSplitting = 0`.

*InstanceSplit16Fraction*\
Type : float

Valeurs par défaut du pilote :

1. `0.2f` (tous les indicateurs de génération TLAS)

Valeurs attendues :

1. `-1.0f` (utiliser la valeur par défaut du pilote)
2. `[0.0f, 1.0f]`

Cette valeur modifie le comportement de `NumExtraElementsForInstanceSplitting`. Définissez-la sur une valeur comprise entre `0.0f` et `1.0f` pour contrôler le pourcentage de `NumExtraElementsForInstanceSplitting` utilisé pour fractionner les BLAS en 16 morceaux plutôt qu'en 4 morceaux.

Par exemple, définir `InstanceSplit16Fraction = 1.0f` consacrera la totalité du budget au fractionnement des objets volumineux ou épars en 16 morceaux, mais affectera moins de BLAS au total. Une valeur plus élevée peut être utile dans des cas tels qu'une scène contenant plusieurs grands morceaux de terrain et de nombreux objets plus petits. Une valeur plus faible peut être utile dans une scène comportant de nombreux objets de taille similaire qui se chevauchent mutuellement.

*IsolateSARatio*\
Type : float

Valeurs par défaut du pilote :

1. `0.75f` (tous les indicateurs de génération TLAS)

Valeurs attendues :

1. `0.0f` (utiliser la valeur par défaut du pilote)
2. `(-1.0f, 0.0f)` (trier les objets en premier)
3. `(0.0f, 1.0f)` (trier les objets en dernier)

Cette valeur permet d'« isoler » dans le TLAS les objets dont la surface est supérieure à un ratio spécifié de la surface totale de la scène. Ces objets sont déplacés vers une branche distincte afin de conserver des limites plus serrées pour les autres branches.

Le signe de cette valeur détermine si les objets sont ordonnés avant ou après les autres branches en mémoire, ce qui influe sur l'ordre de parcours des branches qui se chevauchent.

Il n'est pas recommandé de combiner cette option avec la réorganisation Treelet (incluse par défaut en mode FAST\_TRACE), car la réorganisation Treelet s'exécute après l'isolation des branches et modifie la hiérarchie.

## Remarques

Utilisez [D3D12XboxMakeDefault\_D3D12XBOX\_BUILD\_RAYTRACING\_ACCELERATION\_STRUCTURE\_PARAMS3](/fr/reference/graphics/d3d12_xs/functions/d3d12xboxmakedefault_d3d12xbox_build_raytracing_acceleration_structure_params3) pour définir cette structure sur ses valeurs par défaut avant de remplacer les membres choisis. N'initialisez pas cette structure à zéro.

Lorsque vous utilisez des paramètres étendus, vous devez utiliser [ID3D12Device8::GetRaytracingAccelerationStructurePrebuildInfoX](/fr/reference/graphics/d3d12_xs/interfaces/ID3D12Device8/methods/id3d12device8_getraytracingaccelerationstructureprebuildinfox) au lieu de `GetRaytracingAccelerationStructurePrebuildInfo`. Les tailles de mémoire BVH ou de mémoire de travail peuvent différer et entraîner une corruption du tas et des blocages du GPU si elles ne sont pas correctement allouées.

Consultez les exemples d'utilisation dans [BuildRaytracingAccelerationStructureBatched2X](/fr/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/methods/id3d12graphicscommandlist6_buildraytracingaccelerationstructurebatched2x).

## Configuration requise

**En-tête :** d3d12\_xs.h\
**Plateformes prises en charge** : consoles XBOX Series

## Voir aussi

[D3D12XboxMakeDefault\_D3D12XBOX\_BUILD\_RAYTRACING\_ACCELERATION\_STRUCTURE\_PARAMS3](/fr/reference/graphics/d3d12_xs/functions/d3d12xboxmakedefault_d3d12xbox_build_raytracing_acceleration_structure_params3)\
[BuildRaytracingAccelerationStructureBatched2X](/fr/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/methods/id3d12graphicscommandlist6_buildraytracingaccelerationstructurebatched2x)\
[d3d12\_xs](/fr/reference/graphics/d3d12_xs/d3d12_xs_members)


## Related topics

- [Répertoire des rubriques NDA : liens actifs vers Microsoft Learn](/fr/nda/nda-topic-directory.md)
- [D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC](/fr/reference/graphics/d3d12/structs/d3d12_build_raytracing_acceleration_structure_desc_public.md)
- [D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS](/fr/reference/graphics/d3d12/structs/d3d12_build_raytracing_acceleration_structure_inputs_public.md)
- [D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO](/fr/reference/graphics/d3d12/structs/d3d12_raytracing_acceleration_structure_prebuild_info_public.md)
- [D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC](/fr/reference/graphics/d3d12/structs/d3d12_raytracing_acceleration_structure_postbuild_info_desc_public.md)
