Ars Nouveau

Ars Nouveau

49M Downloads

Sylph particle render performance is awful (broken particle spawner)

Kaleidio opened this issue ยท 12 comments

commented

1.16.5
ars nouveau 1.23.11

Render performance with a sylph on screen stays around normal until a few seconds. then this tanks render performance all the way down 500% until the entity is off screen.

my 250 mod pack goes from 400 fps down to 70 fps with just one sylph

commented

the lag only happens if optifine is present at least in my initial tests.

the false spawner appears most often after you pause the client then resume

commented

2021-10-22_15 22 43
The particle spawner in the red circle is at fault. if it's out of view there is no performance hit. it also seems to be stuck in position to the corner of the entity at that exact place, rotation along with the sylph's rotations.

definitely an error here.

commented

If this is an optifine only error, I will not be fixing this, sorry.

commented

Okay, I will look more into it. It appears that the particles are stacking up and never expiring inside their model?

commented

If I do further testing to check again that Optifine is required, and it results in it not being optifine at fault, would you fix it?

commented

retested, please reopen the issue, Optifine is not actually required.

screenshot of proof
2021-11-22_22 49 51
it is very faint in this screencap but you can see a secondary particle spawner beneath the sylph itself (nowhere close to its exact bottom either) which is causing a performance drop

commented

actually this looks more like a spawner that is residue of grabbing position data of the entity itself, but that spawner is spitting out so many particles it's insane on the gpu

commented

the spawner tends to stick itself in the very far corner of the entity's model "box". in the screenshot, it's far behind its left leg and slightly off the side

commented

the specific pattern the spawner is outputting is in large planar square shapes but rapidly, cascading downward into a pyramid shape.

however if you pause the game, the particles build up even though the client is paused, so after unpausing they make a super bright output. this might be true for all particle systems, i did not check, but it results in thousands of particles being rendered just after unpausing the game.

commented

latest testing seems to have seen it fixed. closing issue, thanks for the help!

commented

reopening as issue is actually still present (though less frequent and the pause menu caused spawner disappears after a while), the fixes even on curseforge have changed nothing (tested wrong initially, sorry)

commented

Related to carbuncle animations, these are performed by the Geckolib library. This likely isnt the particles.