Почему мой Cocoa NSWindow так долго активен?

Мое приложение запускается, и окно показывает (все элементы управления находятся там физически) в неактивном состоянии (элементы управления выделены серым цветом и не активны для клавиш / мыши). Требуется от трех до пяти секунд, чтобы окно стало активным? Такая же картина возникает, когда я переключаюсь назад на это приложение с другого.

РЕДАКТИРОВАТЬ

Я добавил ведение журнала в различных методах Window, Delegate & Controller, чтобы определить, где именно происходит замедление, и все они работаютдо замедление:

1. 2015-02-08 15:22:16.032 Grid[40199:5354843] ScrollGridViewContainer.awakeFromNib start
2. 2015-02-08 15:22:17.244 Grid[40199:5354843] ScrollGridViewContainer.awakeFromNib end
3. 2015-02-08 15:22:17.247 Grid[40199:5354843] contentViewController.viewDidLoad started
4. 2015-02-08 15:22:17.247 Grid[40199:5354843] contentViewController.viewDidLoad ended
5. 2015-02-08 15:22:17.262 Grid[40199:5354843] WindowController.windowDidLoad start
6. 2015-02-08 15:22:17.263 Grid[40199:5354843] WindowController.windowDidLoad end
7. 2015-02-08 15:22:17.303 Grid[40199:5354843] Window.makeKeyAndOrderFront start
8. 2015-02-08 15:22:17.316 Grid[40199:5354843] windowDidUpdate
9. 2015-02-08 15:22:17.975 Grid[40199:5354843] Window.makeFirstResponder start
10. 2015-02-08 15:22:17.975 Grid[40199:5354843] GridCell: 1, 1 .becomeFirstResponder
11. 2015-02-08 15:22:17.975 Grid[40199:5354843] self.nextResponder
12. 2015-02-08 15:22:17.976 Grid[40199:5354843] firstResponder is: 1, 1
13. 2015-02-08 15:22:17.976 Grid[40199:5354843] Window.makeFirstResponder end
14. 2015-02-08 15:22:20.692 Grid[40199:5354843] Window.makeKeyAndOrderFront end
15. 2015-02-08 15:22:20.742 Grid[40199:5354843] windowDidUpdate
16. 2015-02-08 15:22:20.772 Grid[40199:5354843] applicationDidFinishLaunching
17. 2015-02-08 15:22:20.773 Grid[40199:5354843] windowDidUpdate
18. 2015-02-08 15:22:21.216 Grid[40199:5354843] windowDidBecomeMain
19. 2015-02-08 15:22:21.238 Grid[40199:5354843] windowDidBecomeKey
20. 2015-02-08 15:22:21.322 Grid[40199:5354843] windowDidUpdate
21. 2015-02-08 15:22:25.117 Grid[40199:5354843] windowDidUpdate

На элементе журнала 14 он показывает окно в неактивном состоянии. (Это как выход из метода Window.makeKeyAndOrderFrontпосле звонка супер)

Только в пункте 21 журнала выше окно моего приложения фактически стало активным (в этой точке я переместил курсор мыши на окно, чтобы вызвать «windowDidUpdate»).

Моя следующая проблема, которую нужно решить, - это то, что происходит между 13 и 14, но я просто пытался понять одну вещь за раз ... если они не связаны.

ОБНОВИТЬ

[RE Комментарий Кена Томаса ниже о том, что говорит консольный журнал, происходит между 13 и 14]

2015/02/08 5: 30: 40 963 PM WindowServer [114]: disable_update_timeout: обновления пользовательского интерфейса были принудительно отключены приложением «Сетка» более чем на 1,00 секунды. Сервер повторно включил их.

2015/02/08 17:30:43,568 PM WindowServer [114]: common_reenable_update: обновления пользовательского интерфейса были наконец включены приложением «Сетка» через 3,61 секунды (сервер принудительно включил их через 1,00 секунды)

Возникновение вышеуказанного связано с размером сетки объектов NSTextField, которые я пытаюсь отобразить. Ниже определенного размера сетки это не происходит.

Ответы на вопрос(0)

Ваш ответ на вопрос