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

Mobile performance #5975

Open
davepagurek opened this issue Jan 25, 2023 · 3 comments
Open

Mobile performance #5975

davepagurek opened this issue Jan 25, 2023 · 3 comments

Comments

@davepagurek
Copy link
Contributor

Topic

As p5 sees increased adoption for mobile AR/VR, what can we do to make sure things run more smoothly? Here are a few points to discuss:

In general, it seems like we should do some profiles to get some data on what parts are slowest on mobile in order to decide what approach would help.

@theVJagrawal
Copy link

Can I work on this issue? I am pretty new to open source stuff

@davepagurek
Copy link
Contributor Author

Thanks for your interest @theVJagrawal! Probably the first step for this would be to find some WebGL sketches that run OK on desktop but not on mobile, and see if you can run some benchmarks (e.g. through Chrome remote debugging) and share some profiler results to see what methods are taking up most of the time each frame.

@davepagurek
Copy link
Contributor Author

I did an experiment today seeing if tessellation in WebGL mode could be improved by using a different tessellation library. Mapbox's earcut library claims to be a bit faster and I made a sketch testing it out https://editor.p5js.org/davepagurek/sketches/gmd_WPXX9 but it's not all that much faster (like ~5ps better?) while handling self intersections less cleanly.

So probably rather than optimizing immediate mode more, the better thing to do is make it easier for people to use retained mode (i.e. #5393).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: System Level Changes
Development

No branches or pull requests

2 participants