0

这是设置:

我有一个 NSView,它是一个支持 CALayer 的视图,并且包含许多 CALayer。我有一个用于视图“背景”的 CALayer,以及许多作为子层的小型 CALayer。有时这个视图可能非常大(大至 2560x1400),当它出现时,CALayers 中会出现非常明显的延迟。我的猜测是 Core Animation 在处理非常大的 CALayers 时会遇到一些问题。

因此,我想将这个“背景”层从 CALayer 更改为可能是 CGLayer 或其他东西,在那里它将像普通 CGLayer 一样呈现到视图中。然而,最重要的是,小型 CALayer 仍将像现在一样运行。这样我只有小的 CALayer,“背景”层可以缓存在 CGLayer 中,希望性能会显着提高。

任何人都知道如何做到这一点?

4

1 回答 1

1

再多研究下,​​看来这也做不到了。NSView 要么支持 CALayer,要么不支持。

于 2010-10-15T18:46:19.130 回答