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%;这更准确地反映了编码帧所做的工作是多么少
简言之:仪表不可靠。你的着色器是昂贵的,这就是为什么你的帧速率是痛苦的