我正在努力解决我正在开发的 macOS 应用程序的 CPU 性能和内存优化问题。
我正在开发的应用程序由连续的实时计算和图形元素组成。如果我监控各个组件,CPU 使用率如下
我运行应用程序,看到 CPU 负载始终为 50% 到 100%,基于 600% 的满容量。
然而,运行3-4小时后,CPU利用率突然下降至10%左右。 (很难确定具体原因,因为这段时间很难持续监控)
此外,我意识到一些内存问题并正在处理它们,但它们似乎并不是致命的泄漏,所以我现在将它们降级为较低优先级的任务。
在十字路口,我应该优先考虑代码优化,先解决内存小问题,花三到四个小时密切监控,还是对Mac系统进行更深入的了解?
通过 Instruments 中的 Profile 进行的分析过程在捕捉 CPU 利用率突然变化的确切时刻方面也很棘手。
我什至愿意接受可能有任何见解的 iOS 开发人员的建议。
我还想知道这是否是异步处理的问题。
任何建议都可以在评论中提出。
https://developer.apple.com/forums/thread/737982?page=1#765567022 作者: ngb
您可能存在线程争用。他们可能会阻止每个人 其他。太多的线程可能会使系统不堪重负。 有时,您可以通过更少的线程获得更好的利用率。真的只有你 想要尽可能多的 cpu 核心同时运行,否则 他们互相打断对方。
你可以查看instruments中的并发工具以获得一些提示。