Hello,
It rocks with:
size(1000, 1000, FX2D);
and
size(1000, 1000, P3D);
P3D rapidly declined as density increased.
I added this to monitor frameRate:
if (frameCount%5 == 0)
surface.setTitle(str(frameRate));
https://processing.org/reference/setTitle_.html
There is a comment about FX2D here:
https://processing.org/reference/environment/
:)