Skip to main content
La famille de consoles XBOX Series X|S dispose d’une unité de décompression matérielle capable de décompresser les données directement depuis le stockage NVMe vers la mémoire avec une assistance négligeable du processeur. Deux algorithmes de compression sont pris en charge. Le premier est un nouvel algorithme de compression basé sur rANS, conçu expressément pour les données de textures BC_n_, que nous appelons BCPack. Le second est l’algorithme Deflate bien connu (c’est-à-dire Zlib), désormais avec une fenêtre complète de 32 Ko. Le pipeline de décompression permet d’utiliser les deux algorithmes en série sans perte de débit. Deux unités de décompression fonctionnent en parallèle, pour une vitesse d’écriture combinée pouvant dépasser 6 Go par seconde. Pour utiliser les unités de décompression, les développeurs doivent tirer parti de l’API DirectStorage. Cette API asynchrone de bas niveau a été conçue pour réduire la charge du processeur lors de l’émission de requêtes de lecture NVMe et expose des fonctionnalités fixes telles que les opérations de décompression et de swizzling de textures. Pour plus d’informations, consultez l’exemple : Graphics\TextureCompression

Outil XBOX Texture Compressor (XBTC)

Pour tirer parti de la décompression matérielle intégrée de XBOX Series X|S, nous proposons un outil de compression logiciel appelé XBTC.exe. Actuellement, l’outil prend uniquement en charge la compression des textures BC_n_, mais les textures non BC_n_ peuvent être encodées en BC à la demande (lorsque vous fournissez un format BC_n_ cible). XBTC se présente sous la forme d’un outil en ligne de commande pour le traitement hors ligne des textures. L’outil produit un fichier d’archive XBTC spécialement conçu pour interagir efficacement avec DirectStorage. Un fichier d’en-tête (XBTC.h) à inclure dans votre titre XBOX Series X|S est également fourni. Il permet d’exploiter facilement le format de fichier d’archive. L’outil peut également produire un fichier DDS compressé par blocs si vous utilisez l’encodeur BC et que le chemin de sortie possède une extension .dds. XBTC.exe prend en entrée un fichier de texture et le compresse dans une archive à texture unique. Selon les préférences de streaming (pages mémoire ou niveaux de mip), le nombre de flux compressés peut varier. La table des matières (TOC) de l’archive permet d’accéder directement à des flux compressés individuels. Une archive peut contenir plusieurs textures (et tampons) de sorte que la TOC puisse être conservée en mémoire, ce qui permet de récupérer efficacement des sous-flux spécifiques avec DirectStorage. XBTC.exe peut également traiter un lot de textures et les compresser dans une archive multitexture. Pour utiliser cette fonctionnalité, vous définissez le contenu de l’archive et les options de compression dans un fichier JSON que vous fournissez en entrée à la place d’un fichier image.

DLL d’outil personnalisé XBTC

Une autre façon d’utiliser la compression XBTC consiste à écrire vos propres outils C++ et à exploiter XBTC à partir d’une DLL. XBTC.dll est disponible sous forme de binaire Windows. Les exportations sont définies dans XBTC.h et contiennent des fonctionnalités de compression par blocs (encodage BCn), de mosaïquage/démosaïquage et de compression/décompression. Ajoutez XBTC.lib aux entrées de l’éditeur de liens de votre outil pour importer la DLL.

Dans cette section

Outil XBOX Texture Compressor (XBTC.exe) Décrit XBTC.exe, un outil de compression de textures DDS encodées en BC destinées à XBOX Series X|S. Spécification du fichier d’archive XBTC Décrit la spécification du fichier d’archive utilisé par l’outil XBOX Texture Compressor (XBTC). Configuration de lot JSON Décrit la configuration de lot JSON. Une série de textures peut être compressée dans une seule archive à l’aide d’un fichier de configuration JSON. Le fichier JSON contient une section pour les options globales ainsi qu’une liste de textures avec leurs options associées.

Documentation de référence des API

Voir aussi

Vues d’ensemble des fonctionnalités graphiques de XBOX Series X|S Vue d’ensemble des graphismes Graphismes Optimisation du contenu compressé à l’aide de DirectStorage et de XBTC
Last modified on October 6, 2026