Skip to main content
XBOX Series X|S 系列主機具備硬體解壓縮單元,能夠在幾乎不需要 CPU 協助的情況下,直接將資料從 NVMe 儲存體解壓縮到記憶體中。支援兩種壓縮演算法。第一種是專為 BC_n_ 紋理資料設計的全新 rANS 型壓縮演算法,我們稱之為 BCPack。第二種是熟悉的 Deflate 演算法 (即 Zlib),現在具有完整的 32 KB 視窗。 解壓縮管線允許串聯使用兩種演算法,而不會損失輸送量。有兩個平行運作的解壓縮單元,合併寫入速度可超過每秒 6 GB。若要使用解壓縮單元,開發人員應利用 DirectStorage API。此低階非同步 API 的設計目的是在發出 NVMe 讀取要求時將 CPU 額外負荷降到最低,並公開解壓縮和紋理拌和作業等固定功能。 如需詳細資訊,請參閱範例:Graphics\TextureCompression

XBOX Texture Compressor 工具 (XBTC)

為了充分利用 XBOX Series X|S 的內建硬體解壓縮功能,我們提供名為 XBTC.exe 的軟體壓縮工具。目前,此工具僅支援壓縮 BC_n_ 紋理,但非 BC_n_ 紋理可以視需要進行 BC 編碼 (當您提供目標 BC_n_ 格式時)。 XBTC 以命令列工具的形式提供,用於離線紋理處理。此工具會輸出專為與 DirectStorage 有效率互動而設計的 XBTC 封存檔案。另外也提供供您的 XBOX Series X|S 遊戲包含的標頭檔 (XBTC.h)。這可讓您輕鬆使用封存檔案格式。如果您使用 BC 編碼器,且輸出路徑具有 .dds 副檔名,此工具也可以輸出區塊壓縮的 DDS 檔案。 XBTC.exe 會取用紋理檔案,並將其壓縮成單一紋理封存。根據串流偏好設定 (記憶體分頁或 mip 層級),壓縮串流的數目可能有所不同。封存目錄 (TOC) 可讓您搜尋個別的壓縮串流。封存可以包含多個紋理 (和緩衝區),讓 TOC 可以保存在記憶體中,以便使用 DirectStorage 有效率地擷取特定子串流。 XBTC.exe 也可以處理一批紋理,並將其壓縮成多紋理封存。若要使用此功能,請在 JSON 檔案中定義封存內容和壓縮選項,並以此檔案取代影像檔案作為輸入。

XBTC 自訂工具 DLL

另一種使用 XBTC 壓縮的方法,是撰寫您自己的 C++ 工具並從 DLL 利用 XBTC。XBTC.dll 以 Windows 二進位檔的形式提供。匯出項目定義於 XBTC.h 中,包含區塊壓縮 (BCn 編碼)、並排/解除並排,以及壓縮/解壓縮的功能。將 XBTC.lib 新增至工具的連結器輸入,以匯入 DLL。

本節內容

XBOX Texture Compressor 工具 (XBTC.exe) 說明 XBTC.exe 這個工具,可壓縮 BC 編碼的 DDS 紋理以在 XBOX Series X|S 上使用。 XBTC 封存檔案規格 說明 XBOX Texture Compressor (XBTC) 工具所使用的封存檔案規格。 JSON 批次設定 說明 JSON 批次設定。可以使用 JSON 設定檔將一系列紋理壓縮成單一封存。JSON 檔案包含全域選項區段,以及紋理清單與其相關聯的選項。

參考 API 文件

另請參閱

XBOX Series X|S 圖形功能概觀 圖形概觀 圖形 使用 DirectStorage 和 XBTC 最佳化壓縮內容
Last modified on October 6, 2026