【问题标题】:Mixing CGLayers and CALayers混合 CGLayers 和 CALayers
【发布时间】: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


    【解决方案1】:

    经过更多研究,似乎无法做到这一点。 NSView 要么支持 CALayer,要么不支持。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      • 2021-11-29
      • 1970-01-01
      • 1970-01-01
      • 2012-04-17
      • 2010-09-16
      相关资源
      最近更新 更多