I’m trying to create some sort of graphical representation of certain valuse that change over time. Greating a simple graph would be possible but because the data isn’t refreshed often enough, I’m searchibng for alternative representatitions. I have found something that looks reasonable, but as soon as I tried to scale it up - have multiple instances of it running the composition just crawles to a halt. Working ona Macbook Pro M2 Pro with 32GB RAM.
I must be unaware of some limitations regarding perofrmance. The whole thing doesn’t seem all that too complicated, it is a just some waveforms tied to a random generator and rendered into layers. Either I’m missing something essential that hinders performance or there is something deeper that makes this not work.
Any help would be appriciated, attached is the workin file.
Yeah, you have to be mindful about how many events are going through your composition at one time. With each subcomposition instance trying to fire ~60 events per second from Fire on Display Refresh and ~94 events per second from Fire at Audio Rate, add those together and multiply by the number of subcomposition instances, and you end up with tens of thousands of events per second trying to go through the composition, which is not going to work. Remember that every time an event hits a node it causes that node to execute, and a node can only execute so many times per second — some more, some less, but usually you don’t want to be trying to execute nodes thousands of times per second.
I’m glad you figured out a solution, @Jernej. For anyone else coming across this post later, one option would be to move the Fire at Audio Rate and Fire on Display Refresh nodes out of the subcomposition and into the top-level composition, and feed the fired events/values into each subcomposition instance through published ports.