在MacOS/Metal(英特尔CPU、离散和内部GPU)上渲染时,常规帧速率会下降

在MacOS/Metal(英特尔CPU、离散和内部GPU)上渲染时,常规帧速率会下降,macos,metal,instruments,metalkit,Macos,Metal,Instruments,Metalkit,在macOS上使用Metal进行渲染时,我无法找出导致显示帧速率下降的原因。我的应用程序读取视频帧,但无法获得一致的帧速率(60fps)-渲染每2-2.5秒中断一次。为了确保我没有做错什么,我修改了苹果的示例,并更改了这一行:\u view.enableSetNeedsDisplay=NO以显示刷新率刷新/渲染视图。 它“什么都不做”,只是渲染视图的CametLayer的背景。分析应用程序时,我得到以下信息: 帧速率是恒定的,但每2.5秒下降一次,延迟是1/60的倍数。我不知道有任何后台进程,这

在macOS上使用Metal进行渲染时,我无法找出导致显示帧速率下降的原因。我的应用程序读取视频帧,但无法获得一致的帧速率(60fps)-渲染每2-2.5秒中断一次。为了确保我没有做错什么,我修改了苹果的示例,并更改了这一行:
\u view.enableSetNeedsDisplay=NO以显示刷新率刷新/渲染视图。
它“什么都不做”,只是渲染视图的CametLayer的背景。分析应用程序时,我得到以下信息:
帧速率是恒定的,但每2.5秒下降一次,延迟是1/60的倍数。我不知道有任何后台进程,这在两台不同的机器(macBook pro 16“i9)上是相同的,安装了全新、干净的macOS(bigSur)。
当我将代码更改为使用CVDisplayLink(从其句柄称为view refresh)时,也是一样的

  • 要获得稳定的显示/渲染帧速率,推荐的技术是什么?(我应用了苹果公司推荐的所有设置)
  • 这种定期中断的原因是什么

  • 谢谢。

    更正:这发生在配备AMD 5500M的macBook pro 16“i9上。它在macMini i7上是稳定的。我怀疑是AMD Radeon Pro 5500M 4 GB。。。