Proposal: Long-term Roadmap for PixiJS #7833
Replies: 1 comment
-
Revisiting this post a couple years later, we were on-point with the timing! Thanks to everyone who has worked on PixiJS to achieve a lot of this. It's amazing. Also, we are on track to release v8 early this year which is 2.5 years after this initial post. Just wanted to clarify a few things about v8.
While we are adding WebGPU, we have been able to create WebGL and WebGPU renderers which has a nice fallback from GPU to GL. One thing that we hope to be able to do in v8 is to offer WebGPU, WebGL and Canvas renderers. Users can figure out which pieces they want to include for their use.
These are likely not something we plan to do until maybe 8.2, if at all. PixiJS has a Lights plugin, but we don't plan to add support for v8. We need something that can work with our WebGPU, WebGL setup. So TBD!
We didn't do this exactly, but the goal here was better performance, we have achieved it. Not only is WebGPU faster than current v7 baseline, so is WebGL. Re-architecting our internal flow allowed us to look at performance from top-to-bottom. Also, we did introduce WebWorker support in v7, so it is possible to do your rendering in a Worker. |
Beta Was this translation helpful? Give feedback.
-
Overview
I had a chat with @GoodBoyDigital this week and we talked about a long-term roadmap for PixiJS. This is all subject to change, but would welcome any thoughts.
We see two major shifts coming up in our near future that we want to be a little aggressive about but also keep PixiJS at the “tip-of-the-spear” in terms of performance and 2D rendering.
The first is modernization which I already outlined here tentatively I’m calling this v7. This is mostly continuing to streamline and modernize Pixi in a browser environment that is 97.93% WebGL supported. There are a few refactor pieces that need to get overhauled (loader, assets/caching, text, etc) either because of legacy cruft, clunky ergonomics, or bottlenecked performance.
The second shift is thinking about WebGPU-based rendering. Mat has been looking into this and feel like we have huge opportunity for performance gains without changing a lot of the high-level APIs (Sprite, Mesh, Graphics, etc). Where the WebGL adoption took about 8 years, we are anticipating the WebGPU will catch on much faster (maybe 1-2 years). We do not plan to support WebGPU with a WebGL fallback like WebGL/Canvas. That would introduce a lot of complexity, it’ll be easier to maintain v7 or v6 for longer than have multiple renderers. Also, because we’ll have more performance to spend, we have identified a few things that would be high value as first-class elements in v8 like lighting, shadows, and camera. Things to make PixiJS more competitive with 3D rendering libraries like Babylon or Three.js.
Roadmap
PixiJS v6 (current) 0-1 year away
PixiJS v7 (next) 1-2 years away
PixiJS v8 (future) 2-3 years away
Minor note: don’t get hung-up on the versions, This could be v6, v10 and v12.
Beta Was this translation helpful? Give feedback.
All reactions