2022年了,Android平台的ASTC支持度现在怎么样了,预计2023年上的游戏能不能无脑上ASTC了?
1.1 跟iOS统一方便处理
1.2 更多选择控制压缩比例 44->1212
1.3 效果比ETC2更好
1.4 ASTC有没有什么坑,看到有说华为部分机器不支持,黑屏的
网上只找到下面这个数据 2020.9月 ASTC 77%
https://developer.android.google.cn/guide/app-bundle/asset-delivery/texture-compression?hl=zh-cn
2.压缩纹理是CPU不用解压,直接传输给GPU,直接GPU硬件采样
3.移动平台纹理是否是2份,CPU一份,GPU显存一份?还是共享同一份?
4.ASTC/ETC2的压缩纹理尺寸是否需要2的幂?
网上有些说法是非2的幂纹理加载到显存的时候会进行转换成2的幂,转换过程耗时,会导致卡顿。
https://blog.csdn.net/linxinfa/article/details/108827197
1.比如实际上对于中国市场而言ASTC的覆盖率已经非常高,而对于东南亚南美等海外市场则还要酌情;
2.常见的压缩纹理是直接降低纹理资源质量、以质量换性能的行为,它不会在GPU端重新解压缩,相反,在内存、带宽等方面都有所优化;
3.只有当纹理资源需要运行时修改、开启了Read/Write Enable选项时,才会向CPU复制一份,否则就只有GPU的一份;
4.ASTC对分辨率没有需求;而ETC2要求分辨率为4的倍数,而非2的次幂;特别地,不论是ASTC还是ETC2,如果开启了mipmap,则必须是2的次幂,否则同样会压缩失败。
5.ASTC比ETC压缩方式显示效果更好,但是要求OpenGL 3.0以上
目前看如果android平台全部采用ASTC压缩格式会在某些机型上导致崩溃
https://zhuanlan.zhihu.com/p/39093592
下面是常见的纹理压缩格式:
- DDS 或 S3TC:有时称为 DXTC 或 DXTn。。OpenGL 支持此格式的三种形式。
- ETC1:大多数设备都支持此格式。这种格式不支持透明度,但游戏可将第二个纹理文件用于 Alpha 通道组件。
- ETC2:支持 GLES3 的所有设备均支持此格式。
- PVRTC:iOS 游戏常用的格式,在某些 Android 设备上也受支持。
- ASTC:专为取代之前的格式而设计的新格式。比先前的格式更加灵活,因为它支持各种块大小。使用这种格式可以帮助您优化游戏大小。