Xcode 金属api-GPU FPS为0

Xcode 金属api-GPU FPS为0,xcode,macos-sierra,metal,Xcode,Macos Sierra,Metal,我玩了有符号距离函数,帧速率下降到30 fps。所以我只看一下Xcode中的bebugger: 只要意识到所有的处理都是在cpu中完成的,看起来gpu根本没有运行 几乎我所有的代码都在带有compute shader的metal文件中cpu只是编译并启动应用程序 这里可能发生什么事?无论如何,我要测试和检查这个问题吗 我使用的是macOS10.12.2和Xcode8.3.2。你不应该太注意这些仪表;他们都在骗你。在某些AMD GPU上,GPU仪表总是报告0的利用率,尽管您的SDF raymar

我玩了
有符号距离函数
,帧速率下降到30 fps。所以我只看一下
Xcode
中的bebugger:

只要意识到所有的处理都是在
cpu
中完成的,看起来
gpu
根本没有运行

几乎我所有的代码都在带有compute shader的
metal
文件中<代码>cpu只是编译并启动应用程序

这里可能发生什么事?无论如何,我要测试和检查这个问题吗


我使用的是
macOS
10.12.2和
Xcode
8.3.2。

你不应该太注意这些仪表;他们都在骗你。在某些AMD GPU上,GPU仪表总是报告0的利用率,尽管您的SDF raymarcher可能对GPU很费力。CPU利用率明显较高实际上是由于帧时间是从帧开始到帧结束计算的,而不是CPU实际繁忙的时间(例如,如果GPU完成帧需要30毫秒,则CPU上显示为约30毫秒,即使在这段时间内大部分时间处于空闲状态)。注意,左边的CPU利用率实际上只有~3%;这更准确地反映了编码帧所做的工作是多么少

简言之:仪表不可靠。你的着色器是昂贵的,这就是为什么你的帧速率是痛苦的