I've been messing around with animation nodes to influence materials in an array of 1500 cubes, creating a simple motion graphic from a simple node tree.
I've attached the blend file for reference.
I started using an object instancer to create the array but the program became bogged down with too many instances (it seems to start afresh after each time i stopped execution to make an amendment, without deleting previous instances first) so i created the array first and modified the node tree to work on a Collection instead.
The problem i have is that animation nodes seems incredibly slow for a relatively simple node tree and modest collection of objects. The simulation runs at over 4 seconds per iteration and the screen is incredibly laggy - it takes an age for Blender to recognise when i click 'auto execution' off to make a change. It also takes a while to load the file in the first place.
In addition to the above, Blender crashes after rendering 15 to 20 frames meaning i had to render the whole 300 frames in small chunks.
I have a reasonably heavy-weight system - i have an i9-7900X, 32Gb RAM and 2 x Quadro P4000 GPUs. The GPUs do all the heavy lifting on rendering but the processor hardly breaks sweat at about 18% utilisation, with memory peaking at just 150Mb.
My question is: why is Blender making such heavy weather of a simple node tree? And if it does involve a lot of processing, why isn't the CPU used more intensively?
Any light you can shed would be appreciated as AN is almost unusable at the moment.