Unity Android平台中如何取舍ASTC ECT2格式纹理

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:专为取代之前的格式而设计的新格式。比先前的格式更加灵活,因为它支持各种块大小。使用这种格式可以帮助您优化游戏大小。
image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1)Android平台压缩纹理ETC2 VS ASTC 2)Unity使用Profiler和UWA内存差异巨大 3...
    侑虎科技UWA阅读 4,685评论 0 0
  • 常用的纹理格式占用: R8G8B8每个像素占用3个字节 A8R8G8B8 4个字节 一张1024*1024的RG...
    知交阅读 5,797评论 0 0
  • 纹理压缩格式整理(持续更新)` 为什么用纹理格式? 自GPU诞生以来,开发人员一直试图将更大更好的纹理塞进...
    ChallengerCY阅读 4,731评论 0 0
  • 我们先不谈纹理压缩在做什么,我们先看下自然状态下没有压缩的纹理的问题 不压缩的纹理有什么问题 目前的渲染管线中,对...
    coldestheaven阅读 6,893评论 0 1
  • 一个表面的纹理就是它的外表,可以想象成一幅油画画在画布上。在计算机图形学中,纹理映射是一个使用一些图片、函数或其它...
    Dragon_boy阅读 5,782评论 0 1

友情链接更多精彩内容