I recently ported an early-2000s 2D game to WebAssembly and old Asyncify was too clunky and the Emterpreter was too slow to be useful. To get things working comfortably I ended up porting the game loops to use Clang's support for the C++ coroutines TS, with a simple scheduler that yields control back to the browser after every screen flip. I will have to see if this new Asyncify can do any better.
aidanhs|6 years ago
Oh nice, is this code (or a write-up) available anywhere?
A couple of years ago I was working on porting Wesnoth and got it working...except it was too slow with the Emterpreter.
I'll try this new asyncify, but your approach sounds like an interesting backup if I were to resurrect my efforts.
SpaceManiac|6 years ago
[1] https://gist.github.com/SpaceManiac/79a507858fbe3946a0c40e99...
[2] https://github.com/SpaceManiac/HamSandwich/blob/emscripten/s...