> ## 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.

# Visão geral do XBOX Texture Compressor

> Visão geral do XBOX Texture Compressor

A família de consoles XBOX Series X|S conta com uma unidade de descompactação de hardware capaz de descompactar dados diretamente do armazenamento NVMe para a memória com assistência insignificante da CPU. Dois algoritmos de compactação têm suporte. O primeiro é um novo algoritmo de compactação baseado em rANS, projetado especificamente para dados de textura BC\_n\_, que chamamos de *BCPack*. O segundo é o conhecido algoritmo Deflate (ou seja, Zlib), agora com uma janela completa de 32 KB.

O pipeline de descompactação permite que ambos os algoritmos sejam usados em série sem perda de taxa de transferência. Há duas unidades de descompactação que atuam em paralelo, com uma velocidade de gravação combinada que pode exceder 6 GB por segundo. Para usar as unidades de descompactação, os desenvolvedores devem aproveitar a API [DirectStorage](/pt-BR/reference/system/dstorage/dstorage_members). Essa API assíncrona de baixo nível foi projetada para minimizar a sobrecarga da CPU ao emitir solicitações de leitura NVMe e expõe funcionalidades fixas, como operações de descompactação e swizzling de texturas.

Para obter mais informações, consulte o exemplo: Graphics\TextureCompression

## Ferramenta XBOX Texture Compressor (XBTC)

Para aproveitar a descompactação de hardware integrada do XBOX Series X|S, oferecemos uma ferramenta de compactação de software chamada [*XBTC.exe*](/pt-BR/build/core-features/graphics/newfeatures/xbtc/xbtc). Atualmente, a ferramenta só oferece suporte à compactação de texturas BC\_n\_, mas texturas que não são BC\_n\_ podem ser codificadas em BC sob demanda (quando você fornece um formato BC\_n\_ de destino).

O XBTC está disponível na forma de uma [ferramenta de linha de comando](/pt-BR/build/core-features/graphics/newfeatures/xbtc/xbtc) para processamento de texturas offline. A ferramenta gera um [arquivo de pacote XBTC](/pt-BR/build/core-features/graphics/newfeatures/xbtc/xbtc-archive-format) projetado especificamente para interação eficiente com o DirectStorage. Também é fornecido um arquivo de cabeçalho (`XBTC.h`) a ser incluído pelo seu título do XBOX Series X|S. Isso facilita o consumo do formato de arquivo de pacote. *A ferramenta também pode emitir um arquivo DDS compactado em blocos se você utilizar o codificador BC e o caminho de saída tiver a extensão .dds.*

O [XBTC.exe](/pt-BR/build/core-features/graphics/newfeatures/xbtc/xbtc) consome um arquivo de textura e o compacta em um arquivo de pacote de textura única. Dependendo das preferências de streaming (páginas de memória ou níveis de mip), o número de fluxos compactados pode variar. O sumário (TOC) do arquivo de pacote permite buscar fluxos compactados individuais. Um arquivo de pacote pode conter várias texturas (e buffers) de modo que o TOC possa ser mantido na memória, permitindo a recuperação eficiente de subfluxos específicos com o DirectStorage.

O [XBTC.exe](/pt-BR/build/core-features/graphics/newfeatures/xbtc/xbtc) também pode processar um lote de texturas e compactá-las em um arquivo de pacote de várias texturas. Para usar essa funcionalidade, você define o conteúdo do arquivo de pacote e as opções de compactação em um arquivo JSON, que é fornecido como entrada em vez de um arquivo de imagem.

## DLL de ferramenta personalizada do XBTC

Outra forma de utilizar a compactação do XBTC é escrever suas próprias ferramentas em C++ e aproveitar o XBTC a partir de uma DLL. O XBTC.dll está disponível como um binário do Windows. As exportações são definidas em XBTC.h e contêm funcionalidades para compactação em blocos (codificação BCn), tiling/detiling e compactação/descompactação. Adicione XBTC.lib às entradas do vinculador da sua ferramenta para importar a DLL.

## Nesta seção

[Ferramenta XBOX Texture Compressor (XBTC.exe)](/pt-BR/build/core-features/graphics/newfeatures/xbtc/xbtc) Descreve o XBTC.exe como uma ferramenta para compactar texturas DDS codificadas em BC para uso no XBOX Series X|S.

[Especificação do arquivo de pacote XBTC](/pt-BR/build/core-features/graphics/newfeatures/xbtc/xbtc-archive-format) Descreve a especificação do arquivo de pacote usada pela ferramenta XBOX Texture Compressor (XBTC).

[Configuração de lote em JSON](/pt-BR/build/core-features/graphics/newfeatures/xbtc/xbtc-json-batch-configuration) Descreve a configuração de lote em JSON. Uma série de texturas pode ser compactada em um único arquivo de pacote usando um arquivo de configuração JSON. O arquivo JSON contém uma seção para opções globais, bem como uma lista de texturas com suas opções associadas.

## Documentação de referência da API

* [Dstorage (conteúdo da API)](/pt-BR/reference/system/dstorage/dstorage_members)

## Consulte também

[Visões gerais dos recursos gráficos do XBOX Series X|S](/pt-BR/build/core-features/graphics/graphics-newfeatures-toc) [Visão geral de gráficos](/pt-BR/build/core-features/graphics/overviews/graphics) [Gráficos](/pt-BR/build/core-features/graphics/gc-graphics-toc) [Otimizando conteúdo compactado usando DirectStorage e XBTC](/pt-BR/build/console-features/storage/directstorage/directstorage-compression)


## Related topics

- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
- [Visão geral do XBOX Series X|S](/pt-BR/paths/series-xs/overview.md)
- [Visão geral dos serviços do XBOX](/pt-BR/services/xbox-services/fundamentals/live-xbl-overview.md)
- [Visão geral do SHAPE](/pt-BR/build/console-features/audio/overviews/shape-overview.md)
- [Índice de tópicos sob NDA para desenvolvimento de console com o XBOX GDK](/pt-BR/nda/nda-overview.md)
