Skip to content

Convert to worker #1

@lmparppei

Description

@lmparppei

Now that I've thought about it, whole thing should be converted to a worker. Workers provide amazing performance enhancement over single-threaded app.

Problem with using Cannon.js with a worker is the same as in every worker. There are plenty of things I'd like to be able to do from my main thread using the same syntax as usual, but the world object resides in the worker.

I have a worker in which identifies the meshes with uuid and that solution works great. It has to cycle through bodies, but in a separate thread this is acceptable. Still, if I want to add a contact material or a constraint to the world, I'd need to create separate methods to do all this. I've used a workaround in which worker.addBody returns a dummy body object which has position and quaternion but nothing else. For my purposes it works. It gets updated by the worker so anything relying on body position will still work.

Adding methods for creating constraints etc. is doable but what about asynchronous collisions? If anyone has some insights on this, I'd appreciate them very much!

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions