What texture profiles are you using for Android, iOS, and HTML5?

Hi everyone :waving_hand:

I’m currently optimizing texture profiles for a Defold game targeting Android, iOS, and HTML5, and I’d really like to learn from the community’s real-world experience.

My main goal is:

  • Smallest possible build size

  • Negligible visual quality loss

My current setup

Right now I’m using ASTC for everything:

path_settings {
  path: "**"
  profile: "Default"
}

profiles {
  name: "Default"
  platforms {
    os: OS_ID_GENERIC
    formats {
      format: TEXTURE_FORMAT_RGBA_ASTC_10X10
      compressor: "ASTC"
      compressor_preset: "HIGH"
    }
    mipmaps: false
  }
}

After testing, I found ASTC 10×10 to be a really good balance for my game in terms of quality vs size.

The problem is HTML5:

  • Using ASTC 10×10, my zipped HTML5 build is ~7 MB, which is perfect.

  • If I switch the web profile to:

    • TEXTURE_FORMAT_RGBA

    • BasisU compressor
      the zipped HTML5 build jumps to ~15 MB.

I’m worried about:

  • ASTC support / reliability on the web

  • Browser + GPU compatibility

  • Whether relying on ASTC for HTML5 is risky long-term

At the same time, not using ASTC makes the web build much larger, which hurts loading time and user experience.

Questions for the community

  1. What texture profiles are you using in production for:

    • Android

    • iOS

    • HTML5?

  2. Are you successfully using ASTC on HTML5, or do you always fall back to BasisU?

  3. Have you seen real issues (missing textures, artifacts, crashes) when using ASTC on the web?

  4. Is there a recommended hybrid approach you’ve settled on?

Any shared profiles or lessons learned would be hugely appreciated :folded_hands:
Thanks in advance!

1 Like