フォーマット比較ラボ

テクスチャ圧縮フォーマット比較

当サイトのツールと同じエンコーダーで 1 枚の画像を BC、ETC、ASTC、Basis Universal にエンコードし、画質、ファイルサイズ、GPU メモリを実測値で比較します。

1

元画像

ここに画像をドロップするか、選択してください

画像を読み込み中…

処理サイズ(長辺)

大きな画像は縮小のみ行い(拡大はしません)、4×4 ブロックの倍数に切り詰めます。

画像がブラウザーの外に送られることはありません。

2

フォーマット

8 個選択中
デスクトップ · BC
モバイル · ETC
モバイル · ASTC
汎用 · Basis

各フォーマットはバックグラウンドの Worker でエンコードとデコードを行います。

3

結果

フォーマットを選んで比較を実行すると、ここに測定結果が表示されます。

結果の読み方

PSNR (dB)

R、G、B に対するピーク信号対雑音比です。約 3 dB 上がるごとに二乗誤差はおよそ半分になります。約 40 dB を超えると違いはほとんど見分けられず、約 30 dB を下回るとアーティファクトがたいてい目立ちます。

SSIM

輝度の構造的類似度で、0 から 1 の値を取ります。PSNR よりもぼやけやブロックノイズをよく捉えますが、色ずれは考慮しないため、PSNR と合わせて見てください。

GPU メモリ

アップロード後にテクスチャが占める量で、ミップマップを含みません。フォーマットとサイズだけで決まり、完全なミップチェーンではさらに約 33% 増えます。

ファイルサイズ

ディスク上のエンコード済みコンテナです。Basis ファイルはスーパー圧縮されており、GPU 上のサイズよりずっと小さくなることがあります。DDS、PKM、ASTC ファイルは GPU データに小さなヘッダーが付いたものです。

ブロックグリッド

拡大してグリッドを有効にすると、ブロックの境界が見えます。グリッドに沿ったアーティファクトは、エンコーダーがブロック単位で下した判断によるものです。

エンコーダー設定

各フォーマットは、それぞれのエンコーダーページの既定値(ASTC なら medium 品質など)を使います。最終的なアセットでは、専用のエンコーダーで品質、色空間、ミップマップを調整してください。

よくある質問

この結果は実際のエンコーダーと同じですか?

はい。当サイトのエンコーダー・デコーダーページと同じ WebAssembly エンコーダーとデコーダーを実行し、デコード後のピクセルを測定しています。GPU ハードウェアはフォーマットによって丸め方がわずかに異なる場合があるため、約 1 dB 未満の差は同等とみなしてください。

Basis Universal の GPU メモリが推定値なのはなぜですか?

Basis ファイルは各端末でトランスコードされます。ETC1S は通常 1 テクセル 4 ビットの BC1 または ETC1 に、UASTC は 1 テクセル 8 ビットの BC7 または ASTC 4×4 になります。ここでの画質は RGBA への直接デコードで測定しており、GPU フォーマットへの変換でわずかに劣化が加わることがあります。

透明部分のある画像はどう扱われますか?

アルファは保持され、専用の PSNR 列で測定されます。保持できないフォーマットはフォーマット一覧に表示されます。BC1 エンコーダーは透明画像を拒否し、ETC1 と ETC2 RGB はアルファを破棄します。透明テクスチャには BC3、BC7、ETC2 RGBA、ASTC、Basis を使ってください。

画像はアップロードされますか?

いいえ。画像のデコード、エンコード、測定はすべてブラウザー内で行われ、サーバーには何も送信されません。