I've finally figured this out. If anyone else is having trouble with this, verify that the mouse cursor is completely hidden when your application has exclusive fullscreen in the direct present mode. I had very uneven frame pacing with the direct present mode with the cursor onscreen which completely went away after calling hide on the cursor.
I can only speculate what's going on under the hood here. Perhaps it's that on each draw call the system has to check in with the cursor, but with your app having fullscreen priority, the system responds more slowly to requests to render the cursor, causing it to block for a long period before it can actually render the completed drawable for the display?
Post
Replies
Boosts
Views
Activity
This seems to still be an issue in Sonoma 14.4.1. When in the direct presentation mode, calling presentAfterMinimumDuration with a 16ms present duration consistently results in 25ms presents on a ProMotion display. This directly contradicts documentation here and leaves me with no idea how I am meant to present frames at a regular interval that I specify. CAMetalDisplayLink also seems to have this issue as well as MTKViewDelegate. Is the direct presentation mode just broken? Has anyone filed a feedback?
Is there still no update on this seven months later?
...is there any update on this? Has anyone successfully updated? 16" M1 MacBook Pro with a replaced logic board here; luckily I searched before I tried to update.