Updated PixiRenderer to v8
This is an early prototype, please use with caution.
I am planning to use ParticleContainer
added "particlecontainer" to usage added batching and texturecaching for optimizing
Oh, thank you very much. merge it later. a bit busy now.
I readded batching and caching and particlecontainer, it lags at around 50k particles, needs optimizing.
I will reopen this PR from draft when I done with optimizations. I believe we can get more performance with more particles.
critical issue;
colors (and probably other behaviours too) uses old pooled particles too when using default particles, will fix soon
I fixed the issue with using EmitterAwarePool;
Store Emitter ID during the "onParticleCreated" method and store emitter ID directly on particle "particle.__emitterId" Check null parents, particle.parent might be null Fallback to "orphaned", if a particle somehow loses its parent reference and doesnt have a stored emitter ID, added "orphaned" so code doesn't crash
Currently added features;
Added new renderer options
this.options = {
useParticleContainer: true,
autoResize: true,
scale: 1,
maxParticles: 10000,
properties: {
position: true,
rotation: true,
scale: true,
uvs: true,
alpha: true
},
...options
};
Now uses particle containers as default, Particles are now texture-based, Automatically routes particles to the appropriate container based on their type, Automatically converts circle graphics to texture-based sprites when ParticleContainer is enabled.
Maintains compatibility with v7 by defaulting original behavior (WIP, not intended to work well) Rebuilds containers when needed
Added thorough cleanup for all resources (textures, containers) More robust parent-child relationship handling during removal
Improved error checking throughout the code
I rewrote the whole code to figure-out whats wrong with emitters using old/deleted particles, I fixed it (magic idk how), and I tried to add full backwards comp. Will try to add performance fixes later but currently this handles particles well, but as always can be better
Oh, I've been quite busy lately, so I may not be able to respond to you immediately.