Apple M1 - few OpenGL hiccups

On the whole I am satisfied with the OpenGL performance, especially on my intel machines (Win/Mac)

But I noticed small hiccups (maybe one or two in a second) on my MacBook Air1 M1 with an external monitor. (Also in my standalone app, native ARM)

The hiccups (I guess a ca. 1/10 second long) i also see in the teapot-demo from the DemoRunner (Release mode / ARM /profiling)

During profiling I couldn’t find a particular hotspot, but I noticed that other OpenGL applications can run smoothly on current Apple M1 hardware.

I wanted to ask carefully, is there perhaps room for improvement here? Just a shot in the dark: can it be that the openGL thread is not running on the m1-performance cores, or switches back and forth. (Apple Developer Documentation). Or is there something different which can be improved?

@reuk

1 Like

I benchmarked the OpenGLDemo also on an M1 Air and an external screen.

Over the course of 30 seconds I had 6 groups of frames missing the 144 Hz frame timer and at most 2 frames were missed in a row.

frametimes_opengl_demo

Is this in line with your experiences or are they markedly worse than this?

I’m sharing a patch that I used, which adds an FPS counter and a “Run benchmark” button to the OpenGLDemo. The benchmark saves the frame times into a .txt file.

add_benchmarking_to_opengl_demo.patch (7.7 KB)

Hi Attila,

thanks for putting much effort onto this! This approximately matches my experience, maybe my expectations are too high :wink:

Here are my results. frametimes_us0.txt (10.7 KB)

However, there were a few applications running in the background, maybe we just can’t expect more from the internal graphics chip at the moment.

Without external screen everything is smooth.