浏览器性能对比测试方法与评价模型研究
1、 引言
浏览器是检查、传递和展现万维网上信息资源的一个软件[1],运行客户电脑上,用来显示WEB服务器或文件系统中的HTML文件。[2]信息资源有可能是网页、图片、视频等,但每一个信息资源都由一个URI(Uniform Resource Identifier)标示。[3]一个完整的浏览器由排版引擎和用户界面两部分构成,这两部分也称为浏览器的逻辑结构。[4]随着浏览器技术的不断成熟,几种成熟浏览器产品分割着浏览器领域,其中包含Microsoft的Internet Explorer(下简称:IE)、Mozilla的Firefox、Google的Chrome、基于Apple Mac OS的Safari,以及号称世界最快浏览器的挪威Opera等[5]。由于同一网页在不同排版引擎的浏览器显示的效果、速度、对错与否都不相同。[6]同时,对浏览器的性能评价又存在多个方面的因素制约,因此目前还没有对浏览器性能好坏的对比评价方法。针对上述问题,本文通过分析浏览器性能对比测试中的测试指标,以及应用该指标对目前主流和部分国产浏览器的测试结果,设计出浏览器性能对比测试评价模型。该模型分别从整体维度和分指标的单项维度对浏览器进行了性能对比。
2、 浏览器性能测试要素
2.1启动测试
浏览器启动时需要的时间、计算机资源消耗都是在浏览器启动阶段要被考察的内容。Donald Brook设计过一个实验,他将浏览器的启动阶段分为了冷启动和热启动两部分,其中冷启动是指在登录操作系统后第一次启动浏览器;热启动是指在退出浏览器程序后,再一次启动浏览器。[2]
其次,浏览器的启动时间也受到了默认加载项的影响,所有设定都按照浏览器默认安装过程为考核标准。
2.2 标准符合性测试
Acid2设计的针对HTML、Css 2.0及Png图像标准的测试网页,可通过预设的编码对网页排版引擎进行测试,如果通过测试,在浏览器中能看到如图1展示的效果。[7]Acid3主要针对浏览器Web 2.0规范,在测试标准上对浏览器的Dom、JavaScript、Css渲染、Svg等有更严格的标准,其测试焦点集中在ECMAScript、Dom Level 3、Media Queries和data: URL [8]
HTML 5 的第一份正式草案已于2008年1月22日公布。HTML 5有两大特点:首先,强化了Web 网页的表现性能。其次,追加了本地数据库等 Web 应用的功能。[9]HTML5对浏览器有了更新的要求,因此浏览器是否能够正常、快速的显示HTML5的网页也是目前值得考察的一个方面。
在浏览器加载被访问页面的过程中,脚本阻止页面的平行下载和加载,因此浏览器对规范的JavaScript脚本的解释速度同样影响着最终用户的直观感受;而CSS渲染同样对被访问页面最终显示效果起着决定性的作用,因此CSS渲染的时间特性也应在浏览器性能对比测试中重点考察。
2.3页面加载和硬件加速测试
页面加载速度主要考察浏览器加载Nontroppo[10]标准页面时间特性。硬件加速是指在计算机中通过把计算量非常大的工作分配给专门的硬件来处理,以减轻中央处理器的工作量的技术。目前每个浏览器使用的硬件加速都不尽相同,都采取对各自最有利的架构建立自己的浏览器硬件加速功能。为了能够加快整个渲染模型的速度(目的是提升网页打开速度)包括图像合成、图像缩放之类操作。[11]
3、 浏览器性能对比评价模型
3.1 浏览器性能测试评价指标
依据上述所有内容,结合在浏览器性能对比测试中通用方法和准则,总结归纳出10项浏览器性能对比评价指标,如下表所示。
表1 浏览器性能对比测试评价指标
标号 |
种类 |
种类别名 |
性能测试评价指标性 |
性能测试评价指标别名 |
1 |
启动测试 |
R |
冷启动时间特性 |
R1 |
2 |
热启动时间特性 |
R2 |
||
3 |
标准符合测试 |
S |
Acid2 |
S1 |
4 |
Acid3 |
S2 |
||
5 |
HTML5 |
S3 |
||
6 |
JavaScript1 |
S4 |
||
7 |
JavaScript2 |
S5 |
||
8 |
CSS渲染 |
S6 |
||
9 |
页面加载测试 |
P |
标准页面加载速度测试 |
P |
10 |
硬件加速测试 |
H |
硬件加速 |
H |
启动类测试中主要考察冷启动时间特性和热启动时间特性,而对启动过程中资源(例如:内存、CPU等)的消耗,作为辅助考察项,被记录在测试结果中。这是因为目前硬件发展越来越快速,目前市场上浏览器对在启动测试时消耗相对于都很小,因此资源消耗并不在本次的具体评价标准中。
标准符合测试类主要考察浏览器对标准的支持,JavaScript的解释速度以及CSS的渲染速度。JavaScript基准测试方面有两款公认的测试工具,分别是SunSpider和V8 JavaScript。
SunSpider:Mozilla公司开发的JavaScript引擎性能基准测试工具,屏蔽了浏览器类型和语言的差别,仅针对JavaScript进行测试,与Dom和浏览器接口均无关。SunSpider主要协助开发者解决现实世界的问题,拥有对象、函数调用、数学、递归等测试类型,共测试3d、access、bitops、controlflow、crypto、date、math、regexp、string九项内容,执行时间越短,代表浏览器的JavaScript解码速度越快。
V8 JavaScript:Google公司开发的JavaScript引擎性能基准测试工具,分别对Richards、DeltaBlue、Crypto、RayTrace和EarleyBoyer五项内容进行测试,running times/s值越高,表明浏览器的JavaScript解码速度越快,分值也相应越高。
这两款测试工具考察角度存在一定的差异,因此将JavaScript测试分成两部分Javascript,JavaScript1是应用SunSpider测试结果,JavaScript2是V8 JavaScript测试结果,这些都和普通用户使用浏览器的日常行为息息相关,既能考察浏览器是否能够为用户正常提供展示、交互等的能力,又能考察被测浏览器对脚本语言和样式表渲染的速度。
页面加载类测试是对标准页面Nontroppo访问的时间特性,访问标准页面能够分析出浏览器对目前互联网主流web技术的支持能力以及解析显示速度,也是从最终受众角度进行的测试。
硬件加速类测试主要是对浏览器的硬件加速功能进行的测试,该项技术在浏览器领域中越来越重要,能够加快浏览器在图像合成、图像缩放等方面的显示。
3.2 浏览器性能对比测试评价模型
在上面描述的浏览器性能评价指标的基础之上,结合类比统计类方法设计了浏览器性能对比测试评价模型,具体如下所示。
图2 浏览器性能对比测试基准模型
在该模型中,浏览器性能评价指标中的每一项是一个分量,因此本模型是一个等边十边型。每一个分量都是十等分,用以描述在对比测试中,每个分量的测试结果。将所有结果相邻点两两互联,就形成了一个封闭的图形,每个封闭都是一个三角形(如公式2所示),将上述十个三角形面积(每个三角形面积为Si)求和在与单位长度的十边形面积(单位长度十边形面积Ss,如公式1所示)做比,就等到了整体浏览器相对性能评价值(相对性能评价结果Rp,如公式3所示)。如下公式所示。
其中,Ss表示单位长度等边十边形面积,单位长度等边十边型面积约等于2.50;Si是第i个三角形面积, 是分量之间的夹角,因此该分量在本模型中是固定值36°,αi和βi是第i个三角形 角的两个临边;Rp是相对性能评价值;T是被测浏览器的一个测试指标结果,TS是对应项单位化后的结果,Max(T)是所有被测浏览器在该测试指标结果的最大值。
本性能对比评价模型是在两个维度进行分析比较的,一个是整体性能,另外一个是分指标性能。在整体性能评价过程中,浏览器的整体性能的优异程度是与Rp的值承正比发展态势的。 在分指标评价的过程中,采用各维度的相对值进行比较,即R1:R2:S1:S2:S3:S4:S5:S6:P:H。在获取对比测试中被测浏览器的全部性能指标后,通过单位化公式,即公式(4)消除10项性能测试指标不同区间、不同单位的情况。
4、 基于浏览器性能对比评价模型的评价方法
4.1被测浏览器性能测试结果
结合上述浏览器性能对比评价模型,对某互联网公司自行开发的浏览器(由于被测浏览器目前处于内部测试阶段,还未正式产业化,为避免引起不必要的纠纷,待测试的浏览器下文简称A)与主流的浏览器IE、Firefox和Chrome进行了性能对比(其中IE8.0、Firefox9.0.1、Chrome17.0.963.6和A浏览器1.4)。
本次测试是在实验室模拟环境下展开的。为保证测试执行过程的公平、公正,本次测试的外部条件是一致的,这包括环境和输入条件一致。每款浏览器测试完成后,直接更换部署下一套浏览器产品,测试设备、网络环境、操作系统版本和设置均保持一致。测试结果如下表所示:
表2 浏览器性能测试结果记录表
R1 |
R2 |
S1 |
S2 |
S3 |
S4 |
S5 |
S6 |
P |
H |
|
IE |
6.45 |
2.25 |
10 |
23 |
41 |
5685.9 |
131.6 |
345 |
1125 |
0 |
Firefox |
12.03 |
4.53 |
10 |
100 |
299 |
2831 |
4779 |
574 |
896 |
18 |
Chrome |
10.36 |
5.76 |
10 |
100 |
329 |
228.7 |
7880 |
574 |
743 |
29 |
A |
9.76 |
3.40 |
10 |
100 |
213 |
327 |
7617 |
558 |
98 |
30 |
其中,R1(冷启动时间特性)是在记录的开机后第一次打开浏览器的时间,本次结果是对三次重复测试用例的结果平均值。
R2(热启动时间特性)是在运行一次及其以上浏览器后,再次打开浏览器的时间,在本次测试通过HP的QuikTestProfessional工具协助完成。操作脚本进行10次循环,取结果平均值。
S1(Acid2标准符合性)是访问Acid2标准测试网页(http://acid2.acidtests.org)得到的测试结果,如果能够正常显示如图2所示图案,结果为10,否则为0.
S2(Acid3标准)是访问Acid3标准测试网页(http://acid3.acidtests.org)得到的测试结果,Acid3测试标准网页共有100个预设项。
S3(HTML5标准)是访问HTML5标准测试网页(http://html5test.com)得到的测试结果,Html5标准测试网页针对浏览器的文字、动画、音频、视频等文件的加载和显示兼容能力,提供了Canvas、Video、Forms等20余类共计450项测试内容。
S4(JavaScript解析速度),是SunSpider测试工具显示结果。
S5(JavaScript解析速度),是V8JavaScript测试工具测试结果
S6(CSS渲染)是CSS3标准测试工具测试结果,该测试工具对E[attribute]、:lang()和:nth-of-type()等41类共574项内容进行测试。
P(标准页面加载)是通过访问加载权威页面http://nontroppo.org/timer/的Doc+Image指标项时间。
4.2 应用评价模型评价被测浏览器性能
结合公式(4),对表2结果进行单位化,单位化结果如表3所示。
表3 单位化测试结果
指标 被测件 |
R1 |
R2 |
S1 |
S2 |
S3 |
S4 |
S5 |
S6 |
P |
H |
IE |
0.54 |
0.39 |
1.00 |
0.23 |
0.12 |
1.00 |
0.02 |
0.60 |
1.00 |
0.00 |
Firefox |
1.00 |
0.79 |
1.00 |
1.00 |
0.91 |
0.50 |
0.61 |
1.00 |
0.80 |
0.60 |
Chrome |
0.86 |
1.00 |
1.00 |
1.00 |
1.00 |
0.04 |
1.00 |
1.00 |
0.66 |
0.97 |
A |
0.81 |
0.59 |
1.00 |
1.00 |
0.65 |
0.06 |
0.97 |
0.97 |
0.09 |
1.00 |
以R1为例,单位化计算过程如下:
R1属性最大值为12.03
IE浏览器在R1单位化结果R1(EI)=R1(EI)/Max(R1)=6.45/12.03≈0.54
Firefox浏览器在R1单位化结果R1(Firefox)=R1(Firefox)/Max(R1)=1.00
Chrome浏览器在R1单位化结果R1(Chrome)=R1(Chrome)/Max(R1)≈0.86
A浏览器在R1单位化结果R1(A)=R1(A)/Max(R1)≈0.81
将各个被测浏览器单位化后性能测试结果在浏览器性能对比测试基准模型中,得到如下所示结果。
图3 四款浏览器整体性能测试对比结果
通过上述分析,应用浏览器性能对比测试模型计算得出IE综合性能为0.197,Firefox综合性能为0.79,Chrome综合性能为0.83,A浏览器综合性能为0.54。整体性能上Chrome浏览器目前优于其他产品,但是在应用数量方面IE占优,在标准符合性方面Firefox占优,国产浏览器产品A在目前整体评价排名第三,但是在标准符合性、标准页面载入等方面上还有一定的提升空间。
5、 总结
通过浏览器性能对比测试评价模型,对目前主流浏览器产品与某国产浏览器产品进行了对比测试结果的评价,从总体和分测试指标多个方面对浏览器产品性能对比测试结果进行了评价,但是该模型还有待在更多的浏览器性能对比测试中应用,在应用的过程中继续完善。
参考文献:
[1]Web Browser. WIKIPEDIA[BE/OL]. http://en.wikipedia.org/wiki/Web_browser.2012(4)
[2] 王志新.几种常用浏览器特色功能比较[J].网络安全.2007.10(117):30-32.
[3] Jacobs, Ian; Walsh, Norman. URI/ResourceRelationships [J]. Architecture of the World Wide Web, Volume One.2004 (12)
[4]苏海明.图书馆常用数据库的浏览器兼容性测试[J].图书与情报.2008(3):61-67
[5] browser market -Market share for browsers, operating systems and search engines [BE/OL].http://marketshare.hitslink.com/report.aspx?qprid=0 .2010(01)
[6] 王萍,游强华,李朝葵.高校网站对浏览器兼容性测试[J].软件导刊.2011.01(10):152-154
[7] Acid2. WIKIPEDIA[BE/OL].http://zh.wikipedia.org/zh-cn/Acid2
[8]Acid3. WIKIPEDIA[BE/OL]. http://zh.wikipedia.org/wiki/Acid3
[9]HTML5[BE/OL]. http://baike.baidu.com/view/951383.htm
[10] nontroppo[BE/OL]http://nontroppo.org/timer/
[11]硬件加速[BE/OL]http://zh.wikipedia.org/wiki/
浏览器性能对比测试方法与评价模型研究相关推荐
- Chrome浏览器性能对比测试报告
w Chrome浏览器性能对比测试报告 十五年前,Netscape推出第二代浏览器并改名为Navigator.后来微软认识到浏览器的重要性,迅速推出了最早的IE版本,并捆绑进操作系统,最终打 败了Ne ...
- 深圳杯---人才吸引力评价模型研究
人才吸引力评价模型研究 在世界各国和全国各地都加大争夺人才的背景下,一个城市要保持其竞争活力和创新力,必须与时俱进地但不盲目地调整相关人才吸引政策.2018年深圳市将加大营商环境改革力度作为一项重要工 ...
- 人才吸引力评价模型研究
额外声明 本文章是2018年中国数学建模大赛山科大校内选拔时所作,因为本人去年已经拿过奖了,过校内选拔十分容易,所以此处写的很简单.以下内容仅限参考如有错误之处,望指教.谢谢.代码已经开源.地址见Fo ...
- Chrome 浏览器性能对比测试报告
十五年前,Netscape推出第二代浏览器并改名为Navigator.后来微软认识到浏览器的重要性,迅速推出了最早的IE版本,并捆绑进操作系统,最终打 败了Netscape.时间进入了21世纪,浏览器 ...
- 五款主流 Linux 发行版性能对比,稳而不强?
测试结果解读 2018 即将结束,年末正是各种基准测试对比轮番出炉的时候,通过这些报告,我们可以看到 Linux 性能的各个方面在 2018 是如何发展的.但本文的这份性能对比会更加深入 -- 将研究 ...
- Linux学习总结(52)——主流 Linux 发行版性能对比
2018 即将结束,年末正是各种基准测试对比轮番出炉的时候,通过这些报告,我们可以看到 Linux 性能的各个方面在 2018 是如何发展的.但本文的这份性能对比会更加深入 -- 将研究五个主流 Li ...
- 评价类研究方法概述——以物流模式选择为例
1引言:什么是评价? 评价可以理解为对抽象概念进行具体化的测量,从而进行某些判断.具体化的测量是按照一定的标准. 2常用的评价类方法 2.1德尔菲法+层次分析法 德尔菲法:确定评价指标,层次分析法:确 ...
- 浏览器性能对比测试技术研究与应用
1.现状分析 如今,国内浏览器市场竞争激烈,国外优秀的浏览器如Microsoft的Internet Explorer(下简称:IE).Mozilla的Firefox.Google的Chrome.基于A ...
- background-image 与 img 动画性能对比
开发H5常常会用到滑屏,目前大部分滑屏插件都是通过控制页面的transform属性来实现.尽管如此,我总是发现自己的H5滑动起来就是不如网上一些优秀案例流畅,表现为滑动动画会出现卡顿.跳帧. 后来我发 ...
最新文章
- 北大「最优化:建模、算法与理论」新书, 附579页电子版与课件
- 安卓(android)建立项目时失败,出现Android Manifest.xml file missing几种解决方法?...
- Python3的urllib.parse常用函数小结
- 爬虫之验证码IP攻防心得——小总结
- OpenFOAM算例报错,浮点溢出错误,Floating point exception【汇总】
- 聊聊excel生成图片的几种方式
- Docker快速搭建Bugzilla
- DAO层、ENTITY层、SERVICE层、CONTROLLER层
- C语言 gcc API
- 19.SimLogin_case01
- 泰凌微TLSR8258烧录
- UltraLAB台式图形工作站(独门绝技~多核+超高频~极速计算工作站H490介绍)
- 牛客练习赛53 E.老瞎眼 pk 小鲜肉(离线+BIT单点修改)
- 一个IT从业者的课外读物___养生锻炼篇
- 代理机制说明及JDK动态代理的使用
- Tether操纵市场了吗?
- 大众易融迎“端午”活动公告
- 做游戏,不加班行不行?
- html5游戏开发_HTML5游戏开发–第10课
- 普通青年,文艺青年,二逼青年之程序员版
热门文章
- 以色列突袭伊朗可能性有多大?
- Bootstrap响应式布局案例- -阿里百秀
- 所见不凡,带你探秘独角兽背后的大数据力量 | MaxCompute杭州Meetup报名中
- 京城报刊全面提速 城八区居民提前一小时看早报
- 方舟原始恐惧mod生物代码_现代科技与远古恐龙的完美结合,《方舟生存进化》泰克龙强大无比...
- C++入门教程:大白话讲解,新手基础篇(附源码及详解、视频课程资料推荐)
- 广义Hurst指数与分维D关系的范例解释
- LoRA: 大语言模型个性化的最佳实践
- 台达C2000变频器如何使用PID实现恒压供水功能及相关参数设置?
- hyper服务器虚拟网卡和实际网卡,关于Hyper-V虚拟机中的vEthernet虚拟网卡不能联网的问题...