OpenGL中的KTX与DDS图像

时间:2013-08-05 12:53:19

标签: opengl dds-format

我使用DDS(DXT5)来快速加载纹理数据。现在,我read自OpenGL 4.3(和ES2)以来,压缩标准是KTX(ETC1 / ETC2)。我集成了Khronos libktx SDK和替补标记。 使用 glCompressedTexSubImage2D 更新纹理3000次结果是:

DDS: 1450 - 毫秒

KTX - 永远......

实际上,运行一次只有300次更新KTX的循环,总时间已经达到24秒!

现在我有两个问题:

  1. 这是KTX的预期速度吗?

  2. 如果第一个问题的答案是“是”,那么除了文件大小小于DDS之外,ETC的优点是什么?

  3. 我使用OpenGL 4.3和Quadro4000 GPU。

1 个答案:

答案 0 :(得分:0)

我在Khronos KTX论坛上问过这个问题。这是我从论坛主持人那里得到的答案:

  

NVIDIA OpenGL驱动团队告诉我Quadro 4000   虽然它支持DXTC,但不支持硬件中的ETC。这个   表示ETC压缩的图像将由OpenGL解压缩   软件驱动程序然后加载到GPU内存中   DXTC压缩的图像将被简单地加载到GPU内存中。一世   相信这是你的性能差异的来源   观察。

所以我的卡的硬件似乎不支持ETC。