3 ms·
I evaluated this vs pixi and native canvas API. In the end I decided to use native API. Konva didn't have enough performance for my use case and pixi webgl has
by salojoo 2y ago
I evaluated this vs pixi and native canvas API. In the end I decided to use native API.
Konva didn't have enough performance for my use case and pixi webgl has a limit on the number of canvases on the screen at the same time
The native API is easy to use and well documented. It also performs well enough to animate charts at 60fps on modern hw for my use case. I also like that there are no libraries to update
- solardev 2y agoWhat was your use case? Konva is a pretty high level abstraction, more like a lightweight interactive geometry & paint engine than a graphics API. It must've taken quite a bit of work to recreate similar functionality using native APIs?
- salojoo 2y agoI'm rendering charts. The native API conveniently provides the fundamentals with lines and rectangles. In addition masking and text have been very useful. Interaction is also supported by the API with hit regions, though I've opted to do my calculations. But I agree that interaction is where Konva would probably have shined.
- lukan 2y ago"pixi webgl has a limit on the number of canvases on the screen at the same time" But that limit is very high. What were you doing? https://www.goodboydigital.com/pixijs/bunnymark/ https://www.goodboydigital.com/pixijs/bunnymark/
- diath 2y agoThose are just sprites rendered onto the same canvas, not multiple canvases.
- lukan 2y agoThe idea with pixi is, that you have one HTML canvas. But every sprite can also be a graphics object/canvas.
- phil-martin 2y agoWhich makes it ill-suited when you need multiple canvases. Pixijs is amazing, and I mix Pixi, Fabric and regular canvases in my application.
- lukan 2y agoI still would be interested in a use case for more stages. My stagecanvas is the background of the html document. And there I have many layers with different zoomlevels etc Everything pixi goes there. And can appear exactly on the screen when and where I want. If I ever would have a use case of a second pixi layer above my html elements layer, I can do that. So I am really curious, what else one could need?
- salojoo 2y agoThe amount of concurrent webgl canvases on a page is limited by browsers. I believe it's somewhere between 8-20 depending on the browser. Hopefully webgpu would lift that limit?
- lukan 2y agoI guess, the trick is to keep everything inside on stage. But why would I need more than 8 stages? I have allmost unlimited pixi containers. (And HTML and sometimes a ordinary canvas on top of my pixi canvas)