Diff算法的作用是用来计算出 Virtual DOM 中被改变的部分,然后针对该部分进行原生DOM *** 作,而不用重新渲染整个页面。
Diff算法有三大策略:
三种策略的执行顺序也是顺序依次执行。
Tree Diff 是对树每一层进行遍历,找出不同,如图1所示。
Component Diff 是数据层面的差异比较
Element Diff 真实DOM渲染,结构差异的比较
首先进行第一层比较,第一层都是R,不发生变化;然后进入第二层Component Diff,发现A组件没有,则删除A及其子组件B、C;最后比较第三层,创建A及其子组件B、C。
当节点处于同一层级时,Diff提供三种DOM *** 作: 删除 、 移动 、 插入 。
如图2所示,首先将OldVnode 和 NewVnode的首尾位置分别标记为oldS、oldE、newS、newE。
(1) oldS和newS相同,不发生变化,oldS++,newS++。
(2) newS与OldVnode不匹配,oldS前面插入f,newS++。
(3) newS与oldE相同,oldE移动到oldS前面,newS++,oldE--。
(4) newE与oldE相同,不发生变化,newE--,oldE--。
(5) 都不相同,oldS前插入newE,删除oldS,oldS++,newS++,newE--,oldE--。
(6) oldS >oldE,Diff结束,最后结果为:a、f、d、e、c。
最后附上核心源码分析:
patch
这个函数做了以下事情:
updateChildren
上一篇 虚拟DOM : https://www.jianshu.com/p/580157c93c53
半导体“扩散”部门。分为扩散工艺技术和扩散设备检测、维修技术两个方面。
扩散工艺技术主要是对半导体芯片进行高温掺杂的 *** 作、控制等工作,需要具备一定的半导体器件和IC的知识。
扩散设备的检测、维修,主要的工作对象是扩散炉及其自动控制装置,需要具备一定的机电、自动控制和少量的半导体技术知识。
如果能够熟悉这两个方面的工作,当然厂方求之不得。
作用:
1、保证可制造性,防止芯片在制造过程中由于曝光过渡或不足而导致的蚀刻失败。
2、避免由于光刻过程中光的反射与衍射而影响到关键元器件物理图形的精度,进又而影响其size。
3、避免芯片中的noise对关键信号的影响,在关键信号的周围加上dummy routing layer后者dummy元器件。
RESdummy:
类似于MOSdummy方法增加dummy,有时会在四周都加上。在poly/diff电阻下面增加nwell减轻noise对电阻的影响,nwell连接高电位与sub反偏。
Nwell电阻四周加subcont连接VSS。Nwell电阻为了降低光照使电阻阻值下降的影响,在上面覆盖metal并连接高电位。其次为给nwell电阻足够的margin通常nwell宽度5-6um。
以上内容参考:百度百科-电路设计
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)