Earlier quoted context omitted.
Looking at the code, Shumway seems amazingly complete vs. Ruffle. Ruffle has only a tiny skeleton of AS3 support (only the VM opcodes and some of the MovieClip class), while Shumway seems to implement a huge chunk of the library classes. Maybe using wasm Rust with WebGPU acceleration will make it faster than Shumway. Remarkable to me how much effort must have been put into Shumway, though..
Shumway didn’t need to implement a full ActionScript virtual machine because it converted ActionScript bytecode to JavaScript and eval’ing it at runtime, leveraging both the JavaScript engine’s runtime and JIT.
Ruffle – A Flash Player emulator written in Rust
91–94 of 94 posts
Re: Ruffle – A Flash Player emulator written in Rust
#92Re: Ruffle – A Flash Player emulator written in Rust
#93Earlier quoted context omitted.
Shumway didn’t need to implement a full ActionScript virtual machine because it converted ActionScript bytecode to JavaScript and eval’ing it at runtime, leveraging both the JavaScript engine’s runtime and JIT.
If it was able to map arbitrary ActionScript to JavaScript, doesn't that count as implementing a full ActionScript VM?
Re: Ruffle – A Flash Player emulator written in Rust
#94If you need a Flash file to try this with, here you go. At least on Windows, you can paste the URL directly into the file name field of the "Open local file" on the demo page. https://github.com/claus/as3swf/blob/master/examples/dumps/A...
If you haven't seen it, GH has a non-querystring URL that will likely work in places that are not tolerant of either querystrings or special characters in "filenames": https://github.com/claus/as3swf/raw/master/examples/dumps/AY...