gpt4 book ai didi

cocoa - 我的 mac os x 应用程序没有响应,即使我使用 nsoperations 并将 maxConcurrentOperationCount 设置为 3

转载 作者:行者123 更新时间:2023-12-03 17:32:34 25 4
gpt4 key购买 nike

我长期以来一直在研究堆栈溢出,但从未真正有机会提出我的第一个问题,所以这里是:

我正在开发一个 macOS 应用程序并使用 nsoperations 来保持应用程序的响应能力,我还将 maxConcurrentOperationCount 设置为 3,但是应用程序在执行工作时仍然有些无响应,如果它试图移动窗口,我可以看到它开始滞后并且行为不稳定

有人可以提供任何线索或解决方案吗?(不,不是询问示例代码;)

最佳答案

应用在这种情况下无响应的原因有多种:

  • 您直接阻塞了主事件循环或用事件淹没它

  • 主线程上有复杂的绘图操作

  • 您的应用程序使用了过多的内存,导致系统分页。无论您有 10 个线程还是 1 个线程,只要您开始分页,您的性能就会直线下降

  • 主线程和后台线程/队列之间存在锁争用

Instruments 提供了一系列用于分析 CPU 使用情况的工具。我要做的第一件事是弄清楚主线程是否使用了大量 CPU(如果是,那么是为了什么?)或者它是否因等待锁等而被阻塞。

关于cocoa - 我的 mac os x 应用程序没有响应,即使我使用 nsoperations 并将 maxConcurrentOperationCount 设置为 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4987500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com