相关疑难解决方法(0)

层支持的NSView性能,直接在CALayer.drawInContext中呈现:

我有很多层支持的视图包含在a中NSScrollview,主要关注滚动性能.的documentView和更高的是层支持因此它们的子视图也层支持的.

以下是显示/呈现代码可能出现的三个自然位置:

  1. override NSView.wantsUpdateLayer返回false(或者不执行任何操作,因为这是默认值)并在NSView的drawRect方法中进行绘制
  2. 覆盖NSView.wantsUpdateLayer返回true并在NSView的updateLayer方法中绘图
  3. 根本没有绘图NSView并用CALayer的drawInContext方法执行所有绘图

WWDC 2013会话215的讨论中可以看出,(2)比(1)更具性能,因为视图不需要为drawRect输出创建临时存储.首先,我没有100%清晰地知道什么时候"支持商店",什么时候没有呢?其次,(2)和(3)如何比较以及何时可以使用一个而不是另一个?

特别是,我必须在我的视图中绘制文字.我将如何在updateLayer调用中执行此操作?绘制文本的唯一例子似乎需要掌握一个上下文 - 这在当然不可用updateLayer.

cocoa calayer nsview nsscrollview

5
推荐指数
0
解决办法
835
查看次数

标签 统计

calayer ×1

cocoa ×1

nsscrollview ×1

nsview ×1