canvas 的绘图模式 retained-mode(保存模式) 和 immediate-mode (立即模式)

红太狼 2022-03-25 12:38 328阅读 0赞

(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;

这种模式就是 立即模式;

保存模式会在内存中保存状态,当有需要改变的时候,执行的是改变的处理,也就是说前后不改变的地方不会变化;

但是立即模式不是这样,立即模式会每次都重新绘制所有的元素,不管这个对象改变的是一点点还是两点点,

也就是说不会像保存模式那样,占用过高的内存资源,以上简单对比就能初步了解两种不同的模式了;

发表评论

表情:
评论列表 (有 0 条评论,328人围观)

还没有评论,来说两句吧...

相关阅读

    相关 自动保存--Balking模式

    1,什么是Balking? 类似放弃作用,即本身有个线程准备响应时,发现另外一个线程已经响应,故当前线程放弃响应。 2,代码举例: 自动保存和手动保存 文档类