四大浏览器JavaScript性能/硬件加速测试
四大浏览器JavaScript性能/硬件加速测试
新的Web标准将浏览器推向一个又一个极限,而这个极限在近些年不断被打破,更快的浏览速度、更强大的内容渲染,而这正是用户们希望从浏览器那里获取的。要说当前浏览器的热点或者说是趋势,那无疑是对硬件加速的支持以及更好的JavaScript引擎。
尽管当前大多数浏览器并没有默认开启系统GPU加速,不过各大浏览器在这方面的竞争已经展开。所以此次我们就来看一下各大浏览器在JavaScript性能和硬件加速这两大方面的表现。其中,JavaScript测试基准包括Celtic Kane、WebKit SunSpider、Google V8和Kraken,硬件加速方面选用微软的基准测试Flying Images、FishIE Tank和Psychedelic Browsing。
选取浏览器:Firefox 4 Beta 6(默认支持硬件加速)、IE9 Beta、Chromium 7.0.526.0 (59622)、Chrome 7.0.517.8 Dev和Opera 10.62 (build 3500)。这里说明一下,之所以同时选择Chrome和Chromium是因为后者可以开启硬件加速。
测试平台配置如下:
— JavaScript测试平台:T6600 Intel Core 2 Duo处理器(2.2GHz)、4GB DDR3 RAM、GeForce 240 GPU、1GB VRAM;
— 硬件加速测试平台:T6600 Intel Core 2 Duo处理器(2.2GHz)、ATI Mobility Radeon HD 4570 GPU、512MB VRAM。
JavaScript性能:
1、Sunspider是最常用的JavaScript引擎性能基准测试套件,在此测试中,分数越低,说明浏览器越快。
Firefox 4 Beta 6:581.2毫秒
IE9 Beta:446.1毫秒
Opera:358.2毫秒
Chrome:350毫秒
Chromium:337.6毫秒

Firefox 4 Beta 6

IE9 Beta

Opera

Chrome

Chromium
2、V8基准套件来自Google,得分越高说明性能越好。
与Sunspider测试结果相同,Chromium成绩最好,得分最高(5327),Chrome随后(5094),其次分别为Opera(3203)、IE9 Beta(1122)和Firefox 4(952)。

Chrome

Chromium

Firefox 4 Beta 6

IE9 Beta

Opera
3、Celtic Kane基准测试中,得分越高JavaScript性能越高,其测试结果与上面两轮测试有所不同,最后两名互换了位置,IE9 Beta成为垫底的浏览器,得分为204,不过Firefox 4也没有好到哪里,得分仅为208。前三位仍然保持不变,分别为Chromium(549)、Chrome(505)、Opera(339)。

Chrome

Chromium

Firefox 4 Beta 6

IE9 Beta

Opera
硬件加速:
其实硬件加速在当前并不会对用户的浏览体验造成太大影响,但是HTML5一旦到来,硬件加速就会成为评判浏览器是否优秀的一个必须考虑的方面。所以,为了迎接新的Web标准,浏览器现在就应该开始着手硬件加速这一技术的开发了。
1、FishIE Tank测试中,我们选取了250条Beta鱼。由于Opera和Chrome不支持硬件加速,因此这次测试其实是另外三者的较量,之所以将Opera和Chrome也列在测试名单中,是为了让大家更清晰地看到使用硬件加速与不使用硬件加速浏览之间的差别。当然了,在Chromium中,你还要手动开启硬件加速功能:右键点击桌面上的Chrome图标,在“属性”的“目标”中添加命令行“--enable-accelerated-compositing”。
此次测试提供了比较充足的时间(60秒)让各个浏览器渲染内容,IE9自然是当仁不让的胜者,在测试中它每秒刷新的帧数最多,达到了50 fps。Chromium和Firefox实力相当,分别为42 fps和43 fps。缺少硬件加速功能的Chrome和Opera成绩分别为24 fps、20 fps。Chrome和Opera在最开始的帧率更低,仅为4 fps左右,不过随着时间的推移,两者变得更快更稳定。

Chrome

Chromium

Firefox 4 Beta 6

IE9 Beta

Opera
2、Flying Images测试结果让人有些意外,此次选取了256个浏览器Logo,Firefox 4击败IE9 Beta位居第一,成绩为45 fps,IE9的得分为36 fps,而Chrome竟然和开启了硬件加速的Chromium不分上下,分别为16 fps和18 fps。Opera在这轮测试中表现较差,每秒帧数为13。

Chrome

Chromium

Firefox 4 Beta 6

IE9 Beta

Opera
3、Psychedelic Browsing主要测试了浏览器对HTML5 Canvas和HTML5 audio的支持,测试中色彩会呈渐变样充满整个页面,然后围绕中心点旋转。在这五款浏览器中,只有IE9和Firefox能完成测试并提供了音频效果,其中,Firefox 4每分钟转动次数为1779,IE9为1815转/分。
Chromium的得分也不低,为1598转/分,但是无法实现HTML5音频。
Chrome和Opera就更不用提了,确实音频效果,转速分别为36和25。

Chrome

Chromium

Firefox 4 Beta6

IE9 Beta

Opera
总结:从测试结果中可以看出,IE9 Beta在JavaScript性能方面依然表现不佳,无法超越Chrome和Opera,更不用提开源版Chromium了。不过IE9当前还只是测试阶段,相信在经过进一步开发后其表现会更上一层楼。
撇开无法支持硬件加速的Chrome和Opera不说,IE9 Beta的整体表现还是稍高于Firefox 4 Beta和Chromium的,也算是不枉费微软的一片苦心了。同样作为测试版的Firefox 4在这方面值得嘉奖,虽然没有像IE9那样大肆宣扬,而且从Beta 5开始才默认开启硬件加速功能,但是Firefox 4在这方面的表现可圈可点。
阅读更多:DirectX
相关阅读:
四大浏览器JavaScript性能/硬件加速测试的更多相关文章
- JavaScript性能优化
如今主流浏览器都在比拼JavaScript引擎的执行速度,但最终都会达到一个理论极限,即无限接近编译后程序执行速度. 这种情况下决定程序速度的另一个重要因素就是代码本身. 在这里我们会分门别类的介绍J ...
- javascript性能优化-repaint和reflow
repaint(重绘) ,repaint发生更改时,元素的外观被改变,且在没有改变布局的情况下发生,如改变outline,visibility,background color,不会影响到dom结构渲 ...
- 网站性能,javascript性能相关知识点
一.高性能网站 <高性能网站建设指南>一书中提出用户只有10%-20%最终用户响应时间是花在从web服务器获取html文档并传送到浏览器中,80%的时间都花在了等待页面组件中,由此提出了构 ...
- 摘:JavaScript性能优化小知识总结
原文地址:http://www.codeceo.com/article/javascript-performance-tips.html JavaScript的性能问题不容小觑,这就需要我们开发人员在 ...
- 浅谈JavaScript性能
最近在JavaScript性能方面有所感悟,把我的经验分给大家: 说到JavaScript,就不得不说它的代码的运行速度—— 在我初学JavaScript的时候,只是觉得它是一个很强大的脚本.渐渐的, ...
- 用Chrome开发者工具做JavaScript性能分析
来源: http://blog.jobbole.com/31178/ 你的网站正常运转.现在我们来让它运转的更快.网站的性能由页面载入速度和代码执行效率决定.一些服务可以让你的网站载入更快,比如压缩J ...
- OneAPM大讲堂 | 提高JavaScript性能的30个技巧
文章系国内领先的 ITOM 管理平台供应商 OneAPM 编译呈现. 您是网站管理员还是网页开发人员?想创建超快速的网站吗? 今天我们来看看 JavaScript,这项神奇而又复杂的技术.它使网站内容 ...
- JavaScript性能优化小窍门汇总(含实例)
在众多语言中,JavaScript已经占有重要的一席之地,利用JavaScript我们可以做很多事情 , 应用广泛.在web应用项目中,需要大量JavaScript的代码,将来也会越来越多.但是由于J ...
- JavaScript性能优化小知识总结(转)
JavaScript的性能问题不容小觑,这就需要我们开发人员在编写JavaScript程序时多注意一些细节,本文非常详细的介绍了一下JavaScript性能优化方面的知识点,绝对是干货. 前言 一直在 ...
随机推荐
- ASP.NET网页开发基础(7)
整理了一点的小知识点: 1.ASP.NET网页扩展名: .asax 全局应用程序类的扩展名 .xml 访问网页时的扩展名 .htm .ascx Web用户控件的扩展名 ...
- 【剑指offer】7:斐波那契数列
题目描述: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1).假设 n≤39 解题思路: 斐波拉契数列:1,1,2,3,5,8--,总结 ...
- 迷宫问题(BFS)
给定一个n* m大小的迷宫,其中* 代表不可通过的墙壁,而"."代表平地,S表示起点,T代表终点.移动过程中,如果当前位置是(x, y)(下标从0开始),且每次只能前往上下左右.( ...
- Day 12_61_多线程的创建和启动(二)
多线程的创建和启动 * 在java中实现多线程的第二种方法 实现java.lang.Runnable接口,重写run()方法 * 推荐使用这种方式,因为实现接口还可以保留类的继承. package c ...
- JVM小册(1)------jstat和Parallel GC日志
JVM小册(1)------jstat和Parallel GC日志 一. 背景 在生产环境中,有时候会遇到OOM的情况,抛开Arthas 等比较成熟的工具以外,我们可以使用java 提供的jatat和 ...
- OO第四单元与全课程总结
OO第四单元与全课程总结 一.作业代码架构设计 1.第一次作业 作业类图如下: 具体架构设计: 第一次作业的全部查询工作都是和类图有关,需要解决的主要问题就是如何解析原有UML类图数据的结构,并形成自 ...
- hdu3472 混合欧拉
题意: 给你一些字符串,有的字符串反过来也有意义,题目问给的这n个字符串是否可以首尾相连,组成一个串. 思路: 算是混合欧拉的基础题目了,混合欧拉就是专门处理这类问题的,先说下 ...
- C#-几个STL相关
C#结构体排序 1................................................. 声明 struct data { public string A; public ...
- C#-string生成图片
public static Bitmap GetLink(string Wordstr) { #region older //arial //StrForImg sf = new StrForImg( ...
- JVM虚拟机-了解Java堆中对象分配、布局和访问的全过程
目录 前言 对象的创建 类加载检查 分配内存 内存空间分配方式 指针碰撞 空闲列表 并发时的内存分配 同步处理:CAS 本地线程分配缓冲:TLAB 初始化零值 设置对象头 执行 init 方法 对象的 ...