IE9的脚本引擎改进
Posted | archive
关注IE9的技术改进。用了Direct2D和DirectWrite。前者其实和Direc3D没多少关系,Direct2D是Windows 7里引入的一个代替GDI的技术,基于Direct3D绘图,也就是GPU运算。后者是Cleartype的替代,估计也是基于Direct3D的。这样IE9就是跑在GPU上了。那么说明现在浏览器费电就不仅仅是CPU了,GPU也很耗电发热的。
由于是Win7的技术,所以如果IE9要跑在XP上就必须做痛苦的backport了。否则IE9将无法支持Windows XP、2003、2000等系统。而且Direct2D只安装在Win7和Server 2008 R2上。Vista和 Server 2008需要安装Platform Update。而安装Platform Update之前又需要安装SP2。。。。
GPU硬件也有要求。Direct2D需要Direct3D 10,Direct3D 10需要显卡硬件支持(就是支持Crysis那个显卡),但是可以在Direct3D 9 的显卡上通过 10on9 来模拟。XP没有Direct 3D 10,估计Direct2D的程序会failback到GDI。只有Vista以上的Windows才能支持Direct2D
微软的Silverlight已经把.NET核心给backport了一次,这次又要backport新的图形系统。真是折腾啊。哈哈。说不定显卡不支持DX10就没法跑呢。。。囧。。。。
认真学习了一下,Channel 9的视频,讲Javascript脚本引擎的改进:
开始提到JScript is no longer,说明微软正式放弃JScript了。。。。。。
Intimidation的motivator作为双显示器桌面
JScript引擎开发人员的hotmail,大家快来人肉:
微软员工居然也用Gmail,不知道会不会被开除
IE9的新引擎跑Gmail还是很流畅的
IE9的JScript引擎性能主要测试指标依然是Webkit.org的SunSpider
COM是过去JScript的core data structure,也是interoperate的主要部分,看起来过于big不够轻量级。现在这个新model叫object pattern,是array of slot, each slot holds a property。Javascript就是store properties and reveal properties。还提到Polymorphism ???ing(没听清楚)。In a nutshell,新的engine会generate native code,优化途径就是提供两种执行渠道:fast path和slow path,大部分可预测的计算都会走fast path。最后还有一些library的改进。特别是RegExp。提到了了PRCE和Python。。
hardest part of Javascript: 评价说javascript是great mix of really use features with dark corners. 最影响performance的是arguments array。例如f.arguments。这个会影响call stack的效率
Sunspider的结果跑出来了:
IE9 Build41 986.4ms
Firefox 3.6 beta1 480.8ms
Chrome 4.0 beta 437.2ms
Javascript的效率对于Web浏览用户体验很重要,但是不是最突出的因素。对浏览速度而言,Javascript性能大概只影响1/3。DOM解析效率、渲染都是浪费时间的因素。一些重型Javascript应用才对JS引擎要求比较高
有些网站探测到IE会使用VBScript。
看来IE9还不是最终杀手。微软如果老是追赶别人的话,是没法引领时代潮流的。Google超过Yahoo并不是因为Google的搜索结果和Yahoo一样好,而是好很多倍。
Comments