RSS
2014-11-13, 16:51
http://img.chromi.org/2014/11/1-550x213.png (http://www.chromi.org/archives/15317/1-5)
Blink是啥?Blink就是基于Webkit的一个分支,只是以后再无瓜葛,各走各的路。
Chrome从Webkit切换到Blink有一段时间了,至于原因,有很多种说法。我个人的看法是话语权。Chrome基于Webkit的各种工作,需要Apple的评审才能并入代码库,不然只能暂时留在Chromium代码库中,这就造成Chromium中代码维护成本偏高。从Webkit切换成Blink之后,Chromium移除了大量她不使用的代码,这就是自己说了算的好处,想咋地就咋地。
那我们就看看她都咋地了。
Blink-in-JS
Blink-in-JS (http://www.chromium.org/blink/blink-in-js) is a technology to enable Blink developers to implement DOM features in JS
The basic goal is better web layering
Implement only core parts in C++
Implement high-level parts in JS on top of web-exposed APIs
大家看,将来只有那些核心部分使用C++来实现,其他可以用JS来实现了,比如XSLT、XMLSerializer、MediaControls等。我想这样会让Blink实现一些特性更加容易和快速,将来的前端工程师可用功能更多,可以做出更加Niubility的功能!
Blink Scheduler
大家都知道,HTML需要通过Parse之后,得到DOM树,然后结合CSS等得到Render树,最终绘制出我们看到的网页内容。但是目前的Parse工作所在的线程真是太忙了,要做好多事情,还没有优先级的概念。
http://img.chromi.org/2014/11/2-550x231.png (http://img.chromi.org/2014/11/2.png)
Blink Scheduler就好多了,会把众多事情处理成Task,并根据他们的优先级进行调度。
http://img.chromi.org/2014/11/3-550x399.png (http://img.chromi.org/2014/11/3.png)
通过Blink Scheduler,首屏(above-the-fold)显示会更加快速,首次响应用户的输入的时间也会缩短。
http://img.chromi.org/2014/11/4-550x291.png (http://img.chromi.org/2014/11/4.png)
Oilpan
这个是Blink中新的GC算法,取代以前的基于引用计数的GC。带来的好处是:
1.安全性增加。更少的指针错误,不会有use-after-free错误了。
2.工程师不用担心循环引用和内存泄露了。
3.更加利于调试。可以查看V8和Blink之间的对象关系图。
4.更少的内存使用。内存峰值一定低于老的GC算法。
http://img.chromi.org/2014/11/5-550x328.png (http://img.chromi.org/2014/11/5.png)
她们的性能和内存方面一直在调整和优化,相信她们的到来会给Chrome带来不小的提升吧。
这是我仅仅知道的一些方面,相信Chrome会更好!
Blink是啥?Blink就是基于Webkit的一个分支,只是以后再无瓜葛,各走各的路。
Chrome从Webkit切换到Blink有一段时间了,至于原因,有很多种说法。我个人的看法是话语权。Chrome基于Webkit的各种工作,需要Apple的评审才能并入代码库,不然只能暂时留在Chromium代码库中,这就造成Chromium中代码维护成本偏高。从Webkit切换成Blink之后,Chromium移除了大量她不使用的代码,这就是自己说了算的好处,想咋地就咋地。
那我们就看看她都咋地了。
Blink-in-JS
Blink-in-JS (http://www.chromium.org/blink/blink-in-js) is a technology to enable Blink developers to implement DOM features in JS
The basic goal is better web layering
Implement only core parts in C++
Implement high-level parts in JS on top of web-exposed APIs
大家看,将来只有那些核心部分使用C++来实现,其他可以用JS来实现了,比如XSLT、XMLSerializer、MediaControls等。我想这样会让Blink实现一些特性更加容易和快速,将来的前端工程师可用功能更多,可以做出更加Niubility的功能!
Blink Scheduler
大家都知道,HTML需要通过Parse之后,得到DOM树,然后结合CSS等得到Render树,最终绘制出我们看到的网页内容。但是目前的Parse工作所在的线程真是太忙了,要做好多事情,还没有优先级的概念。
http://img.chromi.org/2014/11/2-550x231.png (http://img.chromi.org/2014/11/2.png)
Blink Scheduler就好多了,会把众多事情处理成Task,并根据他们的优先级进行调度。
http://img.chromi.org/2014/11/3-550x399.png (http://img.chromi.org/2014/11/3.png)
通过Blink Scheduler,首屏(above-the-fold)显示会更加快速,首次响应用户的输入的时间也会缩短。
http://img.chromi.org/2014/11/4-550x291.png (http://img.chromi.org/2014/11/4.png)
Oilpan
这个是Blink中新的GC算法,取代以前的基于引用计数的GC。带来的好处是:
1.安全性增加。更少的指针错误,不会有use-after-free错误了。
2.工程师不用担心循环引用和内存泄露了。
3.更加利于调试。可以查看V8和Blink之间的对象关系图。
4.更少的内存使用。内存峰值一定低于老的GC算法。
http://img.chromi.org/2014/11/5-550x328.png (http://img.chromi.org/2014/11/5.png)
她们的性能和内存方面一直在调整和优化,相信她们的到来会给Chrome带来不小的提升吧。
这是我仅仅知道的一些方面,相信Chrome会更好!