屏幕框架渲染完成/呈现的回调

时间:2017-05-10 10:48:21

标签: ios objective-c swift macos quartz-core

我想知道屏幕框架完成渲染并显示的确切时刻,因此我可以使用quartz api捕获特定的窗口图像。 CVDisplayLink / CADisplayLink允许应用程序将其绘图与显示的刷新率同步。

据我所知,这些方法与我需要的方法非常相似,但是在需要渲染屏幕框架时调用,而不是在完成和呈现时调用,这意味着如果我在那时捕获当前屏幕图像我只会看到上一个渲染。这是正确的想法吗?

如果是,有什么方法可以在帧实际完成呈现并被呈现时获得通知?也许那里有私人api?理想情况下,我需要一个macOS的答案,但如果你碰巧知道如何在iOS中这样做,请告诉我们。

P.S。我知道CGDisplayStream,它是捕获整个屏幕的一个很好的解决方案,而不是特定的窗口 - 它使用运行循环和调度队列,这意味着回调不会像显示链接一样实时调用。

0 个答案:

没有答案