I spent some time reverse-engineering Apple's Lossy texture format. It wasn't as simple as I originally thought, and some of the details surprised me. Check it out!
https://t.co/LjyDT8myX6
Larger ASTC block sizes save bandwidth, but may not save memory at all. I tested many iOS and Android devices to find the actual cost of memory alignment:
https://t.co/RypRaWtFwC
@castano For example, for a 512×512 texture with a 6×6 block size:
size = 16 * align16(86) * 86 = 16 * 96 * 86 = 132,096
bpp = 8 * 132,096 / (512 * 512) = 4.03
However, the table says 4.50 bpp, which appears to be a value when both axes are aligned.
Am I computing the value wrong?
@castano Thank you for such a great article! I wasn't aware of this.
I've noticed something about the Adreno 740 - the bpp values in the table don't seem to match the results of the pseudocode you provided.