Using particles in Group SOP very slow

In the example below I am trying to feed particles into a Group SOP. I wanted the particles to influence the LED cube. This doesn’t work . It bogs everything down. What would be the proper way to do this? I want the LEDs to be turned on and off by the particles passing through them. Thanks for any pointers.
LEDCubeEffects_modified_with_particles.3.toe (116.4 KB)

I cant help with the performance of Group node itself but you could pick up a bit of speed elsewhere by not converting between SOP, CHOP and TOP and then back again before you have the group operation. Another option would be to run the group operation within an Engine comp or maybe several.

Thanks @jammer . This network is part of a larger network which is why you see the SOP CHOP and TOP conversion in there. i’ve never used an engine comp before. Thanks for the tip, I’ll look into it.

One of the things killing performance here is your use of a Copy SOP on a particle system with a very dense sphere being copied. This is creating 100,000s of points, the Copy SOP alone is taking up to 15-17ms. Note that SOPs are on the CPU and can’t be animated with such high point counts if you want good performance. You can improve this by switching the Sphere SOP to Type = Polygon and turning the Frequency down to 2 on the Detail page, that will help a bit bringing the total points down to ~900. Generally the Copy SOP needs to be used very carefully with particle systems as inputs. Most workflows would use Intancing for particle systems, not a Copy SOP. But you can’t use instancing to feed a Group SOP.

So keeping the Copy SOP, this will reduce the cook time of the Group SOP down to ~5ms, Still much to high in my opinion to build the system out and stay at 60fps, but maybe you can work with it.
I’m not sure what the goal of the Group SOP is so I can’t offer any suggestions on alternative approaches, but large point count animated SOPs is generally not the best approach for realtime performance.

thanks a lot @ben for your great explanation as to my performance issues and potential workarounds. As well as using a polygon I found using a box SOP improves performance. I guess because it also uses less points. In this case the group SOP is used to determine which particles are striking points in the 3 dimensional cube which in turn illuminates the associated LED in the real world.

Ah nice, yeah a box should suffice for that and be even more performant.