栅格化CAGradientLayer与CGGradient效率明智的做法

时间:2018-11-24 23:48:54

标签: macos uikit core-graphics

创建CAGradientLayer会将新的子图层添加到视图的现有图层(public class DoWhileLoop { public static void main(String[] args) { Scanner in = new Scanner(System.in); Random rand = new Random(); int num = rand.nextInt(10); Boolean correct = false; int attempts = 0; do{ if (attempts == 3) { System.out.println("rerun the program"); break; } System.out.println("Enter number 1-9"); int ans = in.nextInt(); if (ans == num) { correct = true; System.out.println("Correct! the number is: " + ans); } else { attempts++; } }while(!correct); } } shouldRasterize)。而CGGradient正在true方法中绘制视图。

使用一个相对于另一个有主要的速度优势吗?

1 个答案:

答案 0 :(得分:0)

SNMPv3 architecture中有一个关于Core Graphics的注释,其中提到了两者之间的区别。事实证明,两者的呈现方式之间存在很大差异,请注意:

  

使用Core Graphics绘制静态视图通常足够快,但是   如果视图四处移动或需要频繁重绘,则应使用   核心动画层。优化了Core Animation,以便GPU,   不是CPU,而是负责大部分处理。相比之下,CPU   处理由核心图形在draw(_ :)中执行的绘制。

这是一个一般性注释,这也适用于CALayerdraw(_:)