Mod Archive Forums

Website => Feedback & Suggestions => Help & Support => Bug Reports => Topic started by: DrSnuggles on January 15, 2019, 10:37:57

Title: Chrome WebASM online player
Post by: DrSnuggles on January 15, 2019, 10:37:57
In Chrome the online mod player is not playing music anymore. In Firefox it does.

Chrome DEV console output:
Quote
libopenmpt.php:1 wasm streaming compile failed: CompileError: WebAssembly.instantiateStreaming(): Wasm code generation disallowed by embedder
(anonymous) @ libopenmpt.php:1
libopenmpt.php:1 falling back to ArrayBuffer instantiation
(anonymous) @ libopenmpt.php:1
libopenmpt.php:1 failed to asynchronously prepare wasm: CompileError: WebAssembly Instantiation: Wasm code generation disallowed by embedder
(anonymous) @ libopenmpt.php:1
libopenmpt.php:1 CompileError: WebAssembly Instantiation: Wasm code generation disallowed by embedder
    at https://modarchive.org/style/js/libopenmpt.php:1:18582
libopenmpt.php:1 CompileError: WebAssembly Instantiation: Wasm code generation disallowed by embedder
    at https://modarchive.org/style/js/libopenmpt.php:1:18582
abort @ libopenmpt.php:1
index.php?request=view_player&query=184394:1 Uncaught (in promise) abort({}). Build with -s ASSERTIONS=1 for more info.

Looks like the new libopenmpt webasm player is causing this problem.

Thanks for all your work,
   DrSnuggles
Title: Re: Chrome WebASM online player
Post by: Nikku4211 on January 15, 2019, 22:58:11
As a Chrome user, I can confirm that this issue also prevents the online player from working.

+1
Title: Re: Chrome WebASM online player
Post by: Saga Musix on January 17, 2019, 00:00:37
I'll look into it, probably during the weekend.
Title: Re: Chrome WebASM online player
Post by: DrSnuggles on January 17, 2019, 17:22:51
I did some tests on my own to find out how good the new wasm is compared to normal js libopenmpt.

I was using chiptune2 example with libopenmpt-0.4.1+release.dev.js.tar.

Had to add MIME type for wasm else the lib falls back to ArrayBuffer which forces the browser to load the lib a second time.

With many tabs open i could see some difference in Chrome task manager.

Playing "Amegas":
CPU: Wasm 1.6%-4.7% vs. JS 4.7%-9.4%
Mem: Wasm 90MB vs. JS 75MB

Playing "and this is UltrSound" using latest features
CPU: Wasm 15%-20% vs. JS 29%-35%
Mem: Wasm 130MB vs. JS 92MB

Just rough values not spend much time in depth.
Title: Re: Chrome WebASM online player
Post by: Saga Musix on January 19, 2019, 16:13:06
Alright, Chromium-based browsers should now be able to play modules again as well.
Title: Re: Chrome WebASM online player
Post by: DrSnuggles on January 19, 2019, 22:45:45
Thank you