将 NSView 添加到 ScreenSaver 视图时出现性能问题
Performance issues when adding NSViews to ScreenSaver view
我正在尝试一个基本实验,我将正方形网格添加到 macOS 屏幕保护程序视图(通过 Xcode 模板创建)。我 运行 使用性能相当不错的 MacBook Pro,但出于某种原因,添加我的网格(由约 900 个 NSView
对象组成)完全锁定了我的系统 — 屏幕保护程序挂起。
这不是不合理的观看次数,对吧?有趣的是,我在 macOS 应用程序中尝试了完全相同的布局(在其 NSWindow
中绘制),并且性能完全没问题。
有什么区别?
导致性能问题的原因是所有视图都是图层支持的。一旦我停止请求视图具有图层,性能就会显着提高。
到目前为止,我还使用 CAShapeLayer
来改进动画性能。
我正在尝试一个基本实验,我将正方形网格添加到 macOS 屏幕保护程序视图(通过 Xcode 模板创建)。我 运行 使用性能相当不错的 MacBook Pro,但出于某种原因,添加我的网格(由约 900 个 NSView
对象组成)完全锁定了我的系统 — 屏幕保护程序挂起。
这不是不合理的观看次数,对吧?有趣的是,我在 macOS 应用程序中尝试了完全相同的布局(在其 NSWindow
中绘制),并且性能完全没问题。
有什么区别?
导致性能问题的原因是所有视图都是图层支持的。一旦我停止请求视图具有图层,性能就会显着提高。
到目前为止,我还使用 CAShapeLayer
来改进动画性能。