Metal App FPS 在 Debug 中下降,但在分析时在 Instruments 中很好
Posted
技术标签:
【中文标题】Metal App FPS 在 Debug 中下降,但在分析时在 Instruments 中很好【英文标题】:Metal App FPS drops in Debug but fine in Instruments while profiling 【发布时间】:2019-10-12 19:56:53 【问题描述】:我正在使用 Metal 来渲染实时视频帧以及一些用于缩放的自定义控件(圆形滑块),我使用 Quartz 2D API 实现了这些控件。当我在调试器中运行应用程序时,我看到 FPS 从 30 下降到有时 11,并且在 iPad Mini 2 等旧设备上缩放不流畅。然后我在 Time Profiler 中运行代码,令人惊讶的是,Time Profiler 中没有 fps 下降.应用程序在 Profiler 中运行流畅。我如何知道是什么导致调试中的 fps 下降?
【问题讨论】:
【参考方案1】:可能是Metal Validation 层对您的调试方案有效。调试时程序的性能通常会变差(由于缺乏优化或启用断言等),这通常并不令人惊讶。
如果你想在调试时获得类似的 Metal 性能,可以尝试在 scheme 设置中禁用 Metal Validation。但是,当然,您失去了验证您使用 Metal 的实际调试好处。
【讨论】:
不幸的是没有任何区别。还有什么可以尝试的? 我对 MTKView 与 GLKView 以及调试与配置文件与发布版本有更多的观察。将发布一个单独的问题。 这里是新问题的链接 - ***.com/questions/58362049/…以上是关于Metal App FPS 在 Debug 中下降,但在分析时在 Instruments 中很好的主要内容,如果未能解决你的问题,请参考以下文章
将孩子添加到场景 ARKit/SceneKit 时 FPS 下降