macOS上的Metal –监控刷新同步?

时间:2018-11-18 10:30:21

标签: macos metal

我正在将一些旧的OpenGL代码转换为Metal。

此刻,我正在使用MTKView将内存缓冲区渲染到窗口。我将其与paused = YES,enableSetNeedsDisplay = NO以及从渲染循环中手动调用draw()一起使用。

一切正常,除了我没有明显原因而限制为每秒60帧的事实。我怀疑我不希望Metal同步到监视器刷新。

当我调整窗口大小时,我的帧速率暂时跳到了每秒150+帧,这告诉我限制不是我自己的。

有人知道如何停止此帧速率限制吗?我尝试将preferredFramesPerSecond设置为不同的值(较低和较高),但这似乎没有效果。

感谢任何指针。

1 个答案:

答案 0 :(得分:3)

通常来说,我在问了问题几分钟后就知道了:

CAMetalLayer *c = self.layer;
c.displaySyncEnabled = NO;