How can I reduce the performance impact of simulation nodes in UPBGE?

How do I reduce the performance impact Simulation Nodes create when I put meshes on them instead of Points as the particles? If I put many grids on it and make it loop upwards for instance, it will produce a heavy performance hit - FPS can go as low as 24FPS. I know there is culling that helps when far away, but how do I increase performance without impacting the framerate too much? Dots do not look good for fire.

I’m on an M1 Mac, running UPBGE version 0.3.6.1 (x86 Intel version), so maybe this is to do with it? UPBGE really needs to take advantage of the M1/M2 SoC’s, they are capable of running thousands of particle nodes at 60FPS without crashing I theorise. It’s not like the pentium days, where those processors could die on you, and were very slow.

The only reason most games ran well back in the '90s and early 2000s is because they had to use low-res textures and no advanced shading. Most games had to be FPS-capped at 30 so as not to overload the CRT or the application itself. Even the PS2 had to use somewhat basic shading and polygon counts to make games run smoothly.

Today, an NVidia or M1 chip can actually run a game from the PS2 era with almost minimal effort. I have not tried NVidia, so I cannot tell.

M1 is quite powerful, being able to execute a trillion operations per second, and if UPBGE had more optimisation for the processor, it would be able to take advantage of the high processing power of the M1 and not suffer a single frame drop (unless you turbocharged your scene with huge amounts of assets, likely in the hundreds of thousands). The only thing holding back the app would be the lack of optimisation for the chip, and UPBGE’s code should be optimised for the chip if UPBGE is to succeed on macOS. It should be noted that this applies only to the MacOS side of the app, not the PC one.

One good thing, is Metal support, which should help add more performance, and also Eevee Next, which should also sharply boost performance.

However, I see no Metal in the System GPU Backend - only OpenGL, which is unsupported by macOS, and is why you are seeing black or solid colours on objects or crashes when using shaders projected onto an object using VideoTexture, as M1 cannot compile OpenGL, and even if you had Intel, it would not make a difference, as OpenGL was depreciated back in OS X Mojave, making compiling vertex shaders impossible. This is why 2D Filters will work, but vertex shaders and Fragment shaders projected onto an object will not.

Back to the topic at hand, is there an effective way at reducing/eliminating the performance impact of animated geonodes/simulation nodes in UPBGE?

UPDATE: Solved the Simulation Nodes myself! You need to create a script to call and run the geometry modifier. This avoids the simulation being recreated every frame, which slows down the player.

And do you show us the script?