我玩过Signed Distance Functions,帧率降到了30fps。所以我只看了一下Xcode中的乞讨器

只需意识到所有的处理都是在cpu中完成的,并且看起来gpu根本没有运行。
我几乎所有的代码都在带有计算着色器的metal文件中。cpu只是编译和启动应用程序。
这里到底发生了什么?无论如何,让我测试和检查这个问题?
我使用的是macOS 10.12.2和Xcode 8.3.2。
发布于 2017-04-30 03:13:49
你不应该太注意那些仪表,它们都在骗你。GPU仪表在一些AMD GPU上总是报告0利用率,尽管您的SDF raymarcher在GPU上可能相当繁重。明显较高的CPU利用率实际上是由以下事实引起的:帧时间是从帧的开始到结束计算的,而不是CPU实际繁忙的时间量(例如,如果GPU花费30毫秒来完成帧,则在CPU上将显示为约30毫秒,即使在该时间内它大部分是空闲的)。请注意,左侧的CPU利用率实际上只有~3%;这更准确地反映了编码帧所做的工作有多少。
简而言之:量规是不可靠的。你的着色器是昂贵的,这就是为什么你的帧速率会受到影响。
https://stackoverflow.com/questions/43695914
复制相似问题