(Painful)Journey to Timing Test in Apple Silicon (M1, M2, M3) Mac

To long story short,
-It seems that the issue is mostly OS related, not from hardware.
-The last macOS with working proper timing is Monterey (in 7th January, 2025. Timestamp matters, since Apple can patch someday).

All the tests are done with coder demo script ‘timeByFramesEx.py’.
In macOS Sonoma, miserable frame drop, and binomal distribution of frame & flip intervals.
Then multi-boot tested with AsahiUbuntu, Since AsahiLinux(Fedora based) requres a lot of package compile to install latest PsychoPy. without docker.


The difference is amazing. Now looks like usual 60Hz Display. However, the AsahiUbuntu seems a bit unstable. random framedrop happens and the number of dropped frames are hugely vary. below is the worst result.

Since many postings reported that frame issue arised after Ventura upgrade, I downgraded M1 macmini to Monterey.
Now, still not very satisfying, but proper distribution.

I will re-run the test with proper 120Hz setting of EIZO FG2421 monitor when USB-C to dP cable arrived.

Roll-back to Monterey is not easy. It requires DFU restore, if you are in Sonoma or later.

2 Likes

Below is the Monterey result. Due to New user restriction.

2 Likes

We also find that with Sonoma (MacOS 14) and Sequoia with 2 different computers there is a timing problem for frame flips, evident below in the output from Demos->timing->timeByFrames.py
You can see that while the mode is the correct value is 16.6, at least half the times between win.flips are shorter or longer than that, and shorter should be impossible if the waitBlanking (which is set to True) were working. Has this been reported to Apple, or how can we make progress on this?

1 Like