将NSView添加到ScreenSaver视图时的性能问题

时间:2017-03-16 11:30:43

标签: macos screensaver

我尝试了一个基本实验,我在macOS ScreenSaver视图中添加了一个正方形网格(通过Xcode模板创建)。我正在运行性能相当不错的MacBook Pro,但出于某种原因,添加我的网格(由~900 NSView对象组成)完全锁定了我的系统 - 屏幕保护程序挂起。

这当然不是一个不合理的观点吗?有趣的是,我在macOS应用程序中尝试了完全相同的布局(在NSWindow中绘图),性能非常好。

有什么区别?

1 个答案:

答案 0 :(得分:0)

导致性能问题的原因是所有视图都是图层支持的。一旦我停止请求视图有一个图层,性能就会大大提高。

我还使用CAShapeLayer来改善动画效果。