Open
Description
Increasing access
This would increase the speed of projects.
Which types of changes would be made?
- Breaking change (Add-on libraries or sketches will work differently even if their code stays the same.)
- Systemic change (Many features or contributor workflows will be affected.)
- Overdue change (Modifications will be made that have been desirable for a long time.)
- Unsure (The community can help to determine the type of change.)
Most appropriate sub-area of p5.js?
- Accessibility
- Color
- Core/Environment/Rendering
- Data
- DOM
- Events
- Image
- IO
- Math
- Typography
- Utilities
- WebGL
- Build process
- Unit testing
- Internationalization
- Friendly errors
- Other (specify if possible)
What's the problem?
Currently projects with multiple shapes drawn can be very slow. This is largely due to draw calls.
What's the solution?
This can be partially fixed with instancing like seen here: #6276 and in issue #6275, but another effective strategy, especially for those who don't want to deal with more complex things like combining meshes manually or instancing would be to batch the rendering of objects together so that they may be able to be drawn within less drawn calls. This would however be quite the undertaking and require a decently substantial change to p5.js, so if it's not possible or worth it to implement this, I'd understand that too.
Pros (updated based on community comments)
- Speed: The performance gets increased drastically from this as can be seen here: Using a separate math library for handling p5.js's math operations #6527 (comment), which, with p5.js's own tools reaches a ~200ms increase in speed and can be pushed much much farther.
Cons (updated based on community comments)
- There aren't really any, it just changes the speed things are rendered at. The only one I can see is it being hard to implement.
Proposal status
Under review
Note: The original non-RFC 2.0 issue is #6279
Metadata
Metadata
Assignees
Type
Projects
Status
Open for Discussion