-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rebuilt draco module with support for IE11 #6626
Conversation
@ggetz, thanks for the pull request! Maintainers, we have a signed CLA from @ggetz, so you can review this at any time.
I am a bot who helps you make Cesium awesome! Contributions to my configuration are welcome. 🌍 🌎 🌏 |
I can confirm this works! But I'll let @lilleyse take a quick peak and merge |
Can we please document somewhere (dev guide?) exactly how to update draco dependencies for Cesium since we can no longer rely on the official non-wasm releases. |
@mramato I have a modified draco |
I can also confirm Draco works in IE and tests pass. As we predicted, the decode is pretty slow in IE. It shouldn't hold back this PR but it might be worth considering for #6555. |
@lilleyse The reason for that is that IE doesn't support WebAssembly at all, therefor we always have to fallback on the JS module which is significantly slower, rebuilt or not. |
Yeah, plus the number of web workers is limited in IE. I'm not too surprised by the results but thought it was worth documenting. |
Thanks @ggetz! |
Was this ever documented @ggetz ? I don't see anything about it here: I'm asking because the WebP decoder WASM will have the same workflow (WASM, with an ASM fallback?) and I curious if the Draco steps were written anywhere as reference when documenting mine. |
Fixes #6404
Rebuild the draco decoder JS module and passed the compile flag
-s LEGACY_VM_SUPPORT=1
to Emscripten (which includes some polyfills, see emscripten-core/emscripten#6204). I saw no difference in decode time when compared with the "official" draco JS decoder module (and IE11 doesn't support wasm at all). The new module is only 1KB bigger size, so I just replaced the previous version with this legacy-enabled module rather than having a fallback