AMD Compressonator
AMD Compressonator 是一套工具,旨在帮助艺术家和开发人员更轻松地处理压缩资产,并直观地了解各种压缩技术的质量影响。
Compressonator v4.4 现已发布!
本次发布的新功能总结如下,但如果您想立即开始尝试,可以在 Compressonator 页面 找到所有下载和文档链接。
通过实现 SIMD 指令,Compressonator 核心中的 BC1 压缩 CPU 性能得到了最高 50% 的提升(具体取决于输入纹理),且质量无损。
SIMD 代码有三个变体,使用不同的指令集扩展(SSE4、AVX2 和 AVX-512)。通过选择运行代码的 CPU 所支持的最现代指令集扩展,会自动选择合适的变体。如果需要,也可以向 Compressonator 核心接口添加一些新函数,以允许手动设置要使用的指令集。
API 新增了五个函数:EnableSSE4()、EnableAVX2()、EnableAVX512()、DisableSIMD() 和 GetEnabledSIMDExtension()。前三个函数允许用户启用指定指令集扩展的代码路径,但前提是 CPU 支持。一次只能启用一个。第四个函数 DisableSIMD() 将关闭所有 SIMD 指令,并恢复到原始代码。最后一个函数允许用户通过返回一个整数来查询当前启用的代码路径,该整数代表启用的 SIMD 扩展(有关更多信息,请查看 cmp_core.h)。如果未进行手动设置,返回值将对应于在当前 CPU 上自动检测到的最新扩展。否则,返回值将是手动设置的值(如果手动设置的指令集受支持)。
未来的版本将致力于将 SIMD 支持扩展到 Compressonator 核心中的其他 BCn 编码器。
Compressonator CLI 中新增了一个选项:FilterGamma。该选项允许用户在生成 mipmap 时选择伽马校正级别。这使得 Compressonator CLI 的 mipmap 生成功能更接近 Compressonator GUI,后者已具备此功能。FilterGamma 选项可接受的值范围为 1.0 到 2.6,用法如下:
compressonatorcli -miplevels 5 -FilterGamma 1.6 example.png output.dds此外,mipmap 生成的停止条件已更新。以前,当宽度或高度低于所需大小时,mipmap 生成将停止;现在,只有当宽度和高度都低于请求的最小大小时,才会停止。此更新也适用于最小尺寸为 1 的情况,最低 mipmap 级别始终为 1x1。
最新版本的 Compressonator 可在 GitHub 上获取。
此外,请查看 Compressonator 文档以开始使用。