【发布时间】:2010-09-30 15:55:12
【问题描述】:
设置如下:
我有一个 NSView,它是一个 CALayer 支持的视图,并且包含许多 CALayer。我有一个用于视图“背景”的 CALayer,以及许多作为子层的小型 CALayer。有时这个视图可能非常大(大到 2560x1400),当它出现时,CALayers 中会出现非常明显的滞后。我的猜测是 Core Animation 在处理非常大的 CALayers 时会遇到一些问题。
所以,我想将这个“背景”层从 CALayer 更改为可能的 CGLayer 或其他东西,在那里它将像普通 CGLayer 一样呈现到视图中。然而,最重要的是,小型 CALayer 仍将像现在一样运行。这样我只有小的 CALayer,“背景”层可以缓存在 CGLayer 中,希望性能会显着提高。
有人知道这是怎么实现的吗?
【问题讨论】:
标签: macos core-animation calayer nsview cglayer