版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cvper/article/details/86568245
(canvas 使用的模式是 immediate 模式);
一、retained-mode 和 immediate-mode 两种不同的绘图模式
绘图模式的话,有两种(目前我了解到的只有这两个),第一种是 retained-mode , 第二种是 immediate-mode ;
从名字上我们大概就能知道这两种模式的差别了,我们看看中文,
retained-mode 保存模式 / 保留模式 immediate-mode 立即模式 / 即时模式
我们来看个小例子:
假设我们现在需要一个数字 2 , 然后我又需要两个数字 20 ,再者我们需要数字 201 ,最后我们需要数字 2019;
我们会怎么做呢,先拿出一张纸,写下一个数字2,然后在 2 后面写下 0,而后在 0 后面写下 1,最后在 1 后面写下 9;
这样我们就得到了 2019 ; 这种模式就是retained 模式,即保存模式;
或者我们先拿出一张纸写下 2 ,然后再拿出一张纸 写下 20 ,而后拿出一张纸写下 201 ,最后再拿出一张纸写下 2019;
这种模式就是 立即模式;
保存模式会在内存中保存状态,当有需要改变的时候,执行的是改变的处理,也就是说前后不改变的地方不会变化;
但是立即模式不是这样,立即模式会每次都重新绘制所有的元素,不管这个对象改变的是一点点还是两点点,
也就是说不会像保存模式那样,占用过高的内存资源,以上简单对比就能初步了解两种不同的模式了;