关于 PVR 格式
PVR (PowerVR Texture) 是 Imagination Technologies 为 PowerVR GPU 设计的原生纹理格式。版本 3 提供了灵活的容器,支持多种压缩格式,使其成为跨平台移动开发的理想选择,具有格式灵活性。
多格式支持
单一容器支持 PVRTC、ETC、ASTC 和未压缩格式
灵活架构
根据平台和质量要求为每个纹理选择最佳压缩
PowerVR 原生
为 iOS 设备和许多 Android 手机中的 PowerVR GPU 优化
技术规格
文件结构 (版本 3)
PVR v3 文件包含:
- 头部 (52 字节) - 版本、格式、尺寸和元数据大小
- 元数据 (可变) - 可选的元数据和纹理属性
- 纹理数据 (可变) - 压缩或未压缩的纹理数据
支持的压缩格式
PVR 容器可以存储多种压缩类型:
- PVRTC: 2bpp/4bpp RGB/RGBA 压缩 (iOS 优化)
- ETC:ETC1、ETC2 RGB/RGBA、EAC R11/RG11
- ASTC: 从 4x4 到 12x12 的所有块大小
- 未压缩: R8-RGBA32F 包括 HDR 格式
格式注意事项
- PVRTC 需要正方形、2 的幂次方尺寸
- 容器开销最小 (52 字节头部)
- 需要 WebAssembly 支持浏览器内处理
常见使用场景
iOS 开发
使用 PVRTC 压缩的 iOS 游戏和应用的原生格式
跨平台移动
在 PVR 容器中使用 ETC/ASTC,通过单一管线支持 Android 和 iOS
格式测试
在一个容器中测试不同的压缩格式以优化质量/大小
资产存档
存储支持 HDR 的高精度未压缩纹理
格式对比
| 特性 | PVR | KTX2 | Basis |
|---|---|---|---|
| 压缩格式支持 | ✓ 优秀 | ✓ 优秀 | ○ pvrHub.comparison.values.limited |
| iOS 优化 | ✓ 是 | ✗ 否 | ✗ 否 |
| Mipmap 支持 | 是 | 是 | 是 |
| 典型文件大小 | 中等 | 中等 | 小 |