I can replicate that. Similar here, except CPU 100% (top on Linux doesn’t normalise). The bottleneck is in the renderer - tried removing everything that is feasibly multi-threadable and performance is about the same.
I think you need to look at using a PShape to contain your grid geometry so it’s only calculated once. There’s a 3D one in Examples / Demos / Performance / CubicGridRetained
. Altering pre-made shapes can be slow, but looping through and changing the fill colour seems to work. Scaling may need a rethink, but you should be able to get the same effect scaling the whole rendering?