Rasterised CAGradientLayer против CGGradient мудрой эффективности - PullRequest
0 голосов
/ 25 ноября 2018

Создание CAGradientLayer добавляет новый подслой к существующим слоям представления (с shouldRasterize как true).Принимая во внимание, что CGGradient использует вид в методе draw.

Есть ли главное преимущество в скорости использования одного над другим?

1 Ответ

0 голосов
/ 02 мая 2019

В статье Ray Wenderlich о Core Graphics есть примечание, в котором упоминается, как они различаются.Оказывается, есть большая разница между тем, как они отображаются, это примечание:

Рисование статических представлений с помощью Core Graphics обычно достаточно быстрое, но если ваши представления перемещаются или нуждаются в частом перерисовке, вы должны использовать слои Core Animation.Базовая анимация оптимизирована таким образом, что большую часть обработки выполняет графический процессор, а не процессор.Напротив, ЦП обрабатывает чертеж вида, выполненный Core Graphics, в режиме draw (_:).

Поскольку это общее примечание, это относится также к CALayer s против draw(_:).

...