我有很多层支持的视图,其中包含NSScrollview
,而主要关注滚动性能。 documentView
及更高版本是图层支持的,因此他们的子视图也是图层支持的。
以下是显示/渲染代码可以使用的三个自然位置:
NSView.wantsUpdateLayer
以返回false(或者不做任何事情,因为这是默认设置)&在NSView的drawRect
方法NSView.wantsUpdateLayer
以返回true&在NSView的updateLayer
方法NSView
画画在CALayer的drawInContext
方法来自 WWDC 2013 Session 215 的讨论声明(2)比(1)更高效,因为视图不需要为drawRect输出创建临时存储。首先,我没有100%明确何时支持商店"是和(2)和(3)如何进行比较以及何时使用一个而不是另一个?
特别是,我必须在我的视图中绘制文字。 我将如何在updateLayer调用中执行此操作?绘制文本的唯一示例似乎需要掌握上下文 - updateLayer
中无法自然获取。