Skip to content
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

Optimized WebAssembly "touching" routines #3

Draft
wants to merge 14 commits into
base: develop
Choose a base branch
from

Conversation

adroitwhiz
Copy link

Proposed Changes

This is a project I worked on for fun last April, which moves the software implementations of "touching" blocks from JavaScript to a WebAssembly module coded in Rust.

Reason for Changes

I benchmarked this on this project and on Chrome, it triples the speed of the "touching sprite" block.

This is a draft because the tooling is a bit rough around the edges and could stand to be better-documented, but I want to gauge interest in this.

You can test it out for yourself at https://adroitwhiz.github.io/scratch-gui/swrender/ though it's quite an old build of Scratch at the moment.

Test Coverage

All existing tests (should) pass

@GarboMuffin
Copy link
Member

I need to spend more time reviewing this and making sure it doesn't break things, but this is very interesting and a more mature version would probably be merged.

@GarboMuffin
Copy link
Member

I did some testing. Compatibility and performance are overall very good. Current blockers:

I can deal with the merge conflicts.

GarboMuffin pushed a commit that referenced this pull request Aug 15, 2024
chore: [UEPR-31] Update node version
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants