0

今まで、テクスチャ データを高速に読み込むために DDS (DXT5) を使用していました。OpenGL 4.3 (および ES2 の場合) 以降、圧縮された標準は KTX (ETC1/ETC2) であると読みました。Khronos libktx SDK を統合し、ベンチマークしました。glCompressedTexSubImage2Dを使用してテクスチャを 3000 回更新すると、結果は次のようになります。

DDS: 1450 - ミリ秒

KTX - 永遠に....

実際、KTX を更新するだけの 300 回のループを実行すると、合計時間はすでに 24 秒に達しています。

今、私は2つの質問があります:

  1. これはKTXの予想速度ですか?

  2. 最初の質問の答えが「はい」の場合、DDS よりもファイル サイズが小さいことを除いて、ETC の利点は何ですか?

Quadro4000 GPU で OpenGL 4.3 を使用しています。

4

1 に答える 1

0

Khronos KTX フォーラムでこの質問をしました。フォーラムのモデレーターから得た回答は次のとおりです。

NVIDIA OpenGL ドライバー チームから、Quadro 4000 はハードウェアで ETC をサポートしていないが、DXTC をサポートしていると言われました。これは、ETC で圧縮された画像がソフトウェアの OpenGL ドライバーによって解凍されてから GPU メモリにロードされ、DXTC で圧縮された画像が単に GPU メモリにロードされることを意味します。それが、あなたが観察しているパフォーマンスの違いの原因だと思います。

つまり、私のカードのハードウェアは ETC をサポートしていないようです。

于 2013-08-14T20:26:59.970 に答える