Performance questions

The scale option is probably what I’d do - well use smaller PGraphics and the scaling version of image().

Are you drawing the spheres with strokes? Are you using strokeWeight? Drawing strokes has a massive performance impact in my experience. (Although mostly about 2D, this issue might have some relevance here - https://github.com/processing/processing/issues/5256)

Are you setting frameRate()? You might try setting that higher - 120, 240, etc. Due to the way that the JOGL timer interacts with vsync this sometimes seems to give better results.

What do you mean by pure Java? You need a library at some level to interact with the GPU. If you’re wanting to do low-level OpenGL there’s always beginPGL(). In terms of other higher-level libraries, there’s things like libGDX (mentioned in the above issue) that can perform better than Processing in some cases (my first PraxisLIVE renderer was based on libGDX).

Have you tried a version without the controller windows running? Have noticed some interactions that can slow down rendering, particularly on macOS, with multiple windows.

The Intel card GPUs are a lot better than they used to be, but they’re still low power. Multiple FHD shaders passes might be stretching it. I think one of the bottlenecks on these is memory bandwidth, which might come into play here. Are you sure it’s the geometry that’s the issue here? What do the shaders do?

1 Like