gpt4 book ai didi

objective-c - 将 NSTitlebarAccessoryViewController 添加到 NSWindow 后出现延迟

转载 作者:行者123 更新时间:2023-12-03 17:49:23 27 4
gpt4 key购买 nike

以下代码最近被添加到现有应用程序中。 ButtonHolderView 是一个 NSView,里面有一个 NSButton 控件。

if ((NSInteger)NSAppKitVersionNumber >= NSAppKitVersionNumber10_10) {
NSTitlebarAccessoryViewController *pinButtonViewController = [[NSTitlebarAccessoryViewController alloc] init];
pinButtonViewController.view = self.buttonHolderView;
pinButtonViewController.layoutAttribute = NSLayoutAttributeRight;
[self.window addTitlebarAccessoryViewController:pinButtonViewController];
}

应用程序向用户呈现一个或多个窗口,每个窗口都有一个播放视频源的 NSOpenGLView。随着这些窗口数量的增加,OS X 10.10 上的响应速度滞后也会增加。看来主线程的负担要大得多。

使用新代码运行和不使用新代码运行之间的仪器时间分析器数据比较显示,在 [NSApplication sendEvent:] 中花费的时间百分比小于通常没有附件 View 的 1/2(3.4% 降至 1.4%)在标题栏中,这是预期的滞后经历。 [NSView displayIfNeeded] 中花费的时间也显着增加(从 26% 增加到 39%)。

任何关于如何纠正这种滞后的想法都值得赞赏。

最佳答案

下载 Xcode 图形工具 Graphic tools for Xcode

尝试使用 Flash 屏幕更新从那里进行调试

10.10 上层支持 View 的性能也很差(错误)link

Debug Menu

关于objective-c - 将 NSTitlebarAccessoryViewController 添加到 NSWindow 后出现延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31976073/

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