Poor performance with OpenGL Renderer on Apple M1 machines

Got it. Looks like I get the same performance on M1 with these:

So that change seems ok!

1 Like

I’ve got an entry level M1 coming in the mail next week so I can help test this stuff. @goodhertz are you saying if you revert those changes performance got back as expected?

Hard to summarize succinctly (probably just easier to look at / replicate our test numbers on Google Drive), but it looks like OpenGL performance has more or less been restored on latest JUCE 6.1.5.

It’s still not “good” on M1 by any stretch of the imagination, but that seems to have more to do with M1 machines being a very poor fit for JUCE’s 2D OpenGL rendering.

1 Like

I’ve been testing this a lot in the past few days – and it’s seeming like where on Intel OpenGL is still more performant than not – on M1 simply flipping off OpenGL may be more performant. The interesting this is the timer profiler shows more “CPU” being used by the graphics – however they’re appearing smoother.

I haven’t used JUCE without OpenGL rendering on for so long, analyzing the stack traces is a totally different world – but I’ll keep reporting back with finding.

I’ve tried various things like rendering animations in BG threads and then displaying those – but then you hit the Image cache bottle necks. – Seems there’s no easy win here if you were pushing animations to their limits on intel!

So it’s very weird, Higher CPU + Smoother Graphics with it off :sweat_smile:

Alright my final note here is that JUCE_COREGRAPHICS_DRAW_ASYNC=1 is blowing GL out of the water, I’m not sure when this flag got introduced but bye bye OpenGL

1 Like