My team and I are trying to figure out what compression method works best for our glbs across browsers and hardware platforms. The engine we are using is BabylonJS. I posted a forum post there (forum post url extension is ‘etc2-ktx-compression-not-compatible-with-macos/22246’), but they directed me here.
With some testing via Browserstack and a few hardware devices, we discovered the results outlined in this chart:
I’m a bit confused as to why etc1s works for glb compression across all these platforms, and yet when we try to compress a cubemap-formatted skybox texture, that is not the case. The folks at Babylon put together a doc regarding compression methods for individual textures, but I am confused why this is different for glbs (which have textures in them). We would like to use the least amount of compression methods as possible.
ETC2 KTX compression seems like an almost-viable candidate. I’m a bit surprised that it did not work on macOS. I would think that if it is compatible on iOS, Apple would build out compatibility for macOS as well. Can someone confirm that the compatibility in the chart, especially regarding etc2 on macOS is correct?
Lastly, we tested etc1s glb compression (created using @donmccurdy’s gltf-transform) on Edge Browser on a windows machine. We received an out-of-memory error from the browser. This was only the case for the compressed model, not the uncompressed model. Due to that, we believe that this was a GPU memory issue. The version of Edge that this issue was reproduced on was 91.0.864.71, 91.0.864.70, and 91.0.864.37. This seemed to only be an issue on Windows machines. This may be a bug with the compression, but we would like to confirm that this is the case.
Thanks in advance for the help!