The documentation (<a href="https://developer.apple.com/library/content/documentation/GraphicsImaging/Conceptual/CoreVideo/CVProg_Concepts/CVProg_Concepts.html" rel="nofollow">https://developer.apple.com/library/content/documentation/Gr...</a>) doesn’t mention vertical refresh interrupts.<p>It also says <i>”In the past, synchronizing your video frames with the display’s refresh rate was often a problem, especially if you also had audio. You could only make simple guesses for when to output a frame […] which didn’t take into account possible latency from user interactions, CPU loading, window compositing and so on. The Core Video display link can make intelligent estimates for when a frame needs to be output, based on display type and latencies. […] If for some reason the processing takes longer than expected (that is, the display link’s estimate is off), the video graphics card can still drop frames or otherwise compensate for the timing error as necessary.”</i>.<p>So, disassembling the code wasn’t strictly necessary.<p>Combining this with this article, it seems they try to call your program as late as possible, possibly to decrease latency between the time you have influence on what is displayed and the time it is displayed. Could that <i>especially if you also had audio</i> be the reason they do that, as it might make it easier to keep audio in sync with video?