收藏
回答

android端使用astc无法显示

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小游戏 Bug Android android 10 EMUI 10 华为p20 pro 8.0.16

我们通过调用gl.getExtension('WEBGL_compressed_texture_astc'),发现有所返回,但是在使用后,astc无法显示,在ios上使用astc是正常的,请问下是android不支持astc吗?

回答关注问题邀请回答
收藏

2 个回答

  • damonlei
    damonlei
    2021-11-18

    Jun 你好。我看了一下这里的逻辑。

    在 Android 上,只要系统支持 gl3,且有 GL_KHR_texture_compression_astc_ldr、GL_KHR_texture_compression_astc_hdr 拓展。我们就会返回该 WebGLExtension。并且已经有游戏验证过该功能了。

    至于白底的问题,我只能猜测。可能和 astc 纹理的压缩方式有关,也可能是某些常数的使用,该芯片不支持,比如 10x10、8x8 这种。

    个人经验来讲,建议用高通芯片的手机来验证,兼容性问题相对会比较少。

    在 iOS 上,很早就支持了 astc 和 pvr,可以放心使用。具体支持比例,建议找一下 apple 的文档。

    2021-11-18
    有用
    回复 3
    • ✨ Jun ✨
      ✨ Jun ✨
      2021-11-18
      Hi,我们这边定位到Extension返回的格式里面没有6x6导致的。但是可以正常使用6x6的资源。这个能看看什么原因吗?
      2021-11-18
      回复
    • 小杰
      小杰
      2022-10-09
      COMPRESSED_RGBA_ASTC_6x6_KHR 37812 的format格式不支持吗?
      2022-10-09
      回复
    • damonlei
      damonlei
      2023-10-16回复✨ Jun ✨
      COMPRESSED_RGBA_ASTC_6x6_KHR 不支持的问题是 bug,已于8.0.34版本修复, 截止今日,不支持的版本占比约 3.7%。
      2023-10-16
      1
      回复
  • Forever
    Forever
    2021-11-18

    2021-11-18
    有用
    回复 2
    • ✨ Jun ✨
      ✨ Jun ✨
      2021-11-18
      你好,我们使用的设备调用gl.getExtension('WEBGL_compressed_texture_astc')是有返回的,应该是支持的。而且我们这边也试了几台设备,都是无法显示,只能看到白底。但是在ios上都是正常的
      2021-11-18
      回复
    • ✨ Jun ✨
      ✨ Jun ✨
      2021-11-18
      还有请问一下ios对于astc的支持情况是怎么样的呢?
      2021-11-18
      回复
登录 后发表内容