关于浏览器性能

1.浏览器的渲染机制,渲染展示网页有以下几步:

1.1解析html(HTML Parser)

1.2创建DOM树(DOM Tree)

1.3渲染树构建(Render Tree)

1.4绘制渲染树(Painting)

具体结构流程图为:

2.怎样避免呢?

2.1慎重选择高消耗的样式:如box-shadow、border-radius、transform、css filters等。

2.2减少重排能够节省浏览器对其子元素及父类元素的重新渲染,减少回流reflow;

(由于reflow是一种浏览器中的用户拦截操作,所以我们了解如何减少reflow次数,及DOM的层级,css效率对refolw次数的影响是十分有必要的。)

  1. 不要一条一条地修改 DOM 的样式,预先定义好 class,然后修改 DOM 的 className
  2. 把 DOM 离线后修改,比如:先把 DOM 给 display:none (有一次 Reflow),然后你修改100次,然后再把它显示出来
  3. 不要把 DOM 结点的属性值放在一个循环里当成循环里的变量
  4. 尽可能不要修改影响范围比较大的 DOM
  5. 为动画的元素使用绝对定位 absolute / fixed
  6. 不要使用 table 布局,可能很小的一个小改动会造成整个 table 的重新布局

2.3避免过分重绘 :当元素改变的时候,将不会影响元素在页面当中的位置(比如 background-colorborder-colorvisibility),浏览器仅仅会应用新的样式重绘此元素

2.4优化动画:css3 动画是优化的重中之重.

2.5启用GPU硬件加速:GPU为图像处理器,GPU 加速通常包括以下几个部分:Canvas2D布局合成(Layout Compositing)CSS3转换(transitions)CSS3 3D变换(transforms)WebGL视频(video)

/*

* 将 2d transform 换成 3d
 * 就可以强制开启 GPU 加速
 * 提高动画性能
 */
div {
  transform: translate(10px, 10px);
}
div {
  transform: translate3d(10px, 10px, 0);
}
时间: 2024-10-28 05:57:34

关于浏览器性能的相关文章

浏览器性能接口performance.timing说明

原文来自于 https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html 下图描述了该接口的各个时间点: performance.timing API 各个时间点含义如下: navigationStart 当访问一个新页面时,当前页面卸载完成所返回的时间点,如果没有当前页面,则返回fetchStart时间点. unloadEventEnd 如果要打开的页面和当前的页面同源,则返回用户unload事

3种浏览器性能測试

1.Javascript性能測试(Google的V8 Javascript引擎) 測试地址:http://v8.googlecode.com/svn/data/benchmarks/v6/run.html 谷歌浏览器版本号32 IE浏览器版本号11 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamt4cWo=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthE

关于浏览器性能优化-转

网页性能管理详解 作者: 阮一峰 日期: 2015年9月17日 你遇到过性能很差的网页吗? 这种网页响应非常缓慢,占用大量的CPU和内存,浏览起来常常有卡顿,页面的动画效果也不流畅. 你会有什么反应?我猜想,大多数用户会关闭这个页面,改为访问其他网站.作为一个开发者,肯定不愿意看到这种情况,那么怎样才能提高性能呢? 本文将详细介绍性能问题的出现原因,以及解决方法. 一.网页生成的过程 要理解网页性能为什么不好,就要了解网页是怎么生成的. 网页的生成过程,大致可以分成五步. HTML代码转化成DO

笔试常考--浏览器性能优化

1. 减少http请求 HTTP是无状态协议,每次HTTP请求都要重新建立通信链路.而服务器端每个http请求都要启动独立的线程来处理.因此,减少http请求能有效提高访问性能. 减少HTTP请求的主要手段是合并CSS,javascript和图片. 2. 使用浏览器缓存 对于Logo.图标.CSS和javascript这些静态资源文件,几乎是每次HTTP请求都需要的,如果将这些文件缓存在浏览器中,第一次加载后,以后就不需要请求了. 通过设置HTTP头中的Cache-Control和Expires

浏览器性能优化

1. 减少http请求,合理设置 HTTP缓存 http协议是无状态的应用层协议,意味着每次http请求都需要建立通信链路.进行数据传输,而在服务器端,每个http都需要启动独立的线程去处理.这些通信和服务的开销都很昂贵,减少http请求的数目可有效提高访问性能. 减少http的主要手段是合并CSS.合并javascript.合并图片.将浏览器一次访问需要的javascript和CSS合并成一个文件,这样浏览器就只需要一次请求.图片也可以合并,多张图片合并成一张,如果每张图片都有不同的超链接,可

现代浏览器性能之争

Surface Pro 3 Edge与Chrome的分数

测试浏览器性能

var x="werdfg"; t1=new Date().getTime(); for(var i=0;i<1000000;i++){ x=hex_md5(x); } var t2=new Date().getTime(); console.log(t2-t1);

浏览器的渲染原理简介

原文转自:http://kb.cnblogs.com/page/178445/ 看到这个标题大家一定会想到这篇神文<How Browsers Work>,这篇文章把浏览器的很多细节讲得很细,而且也被翻译成了中文.为什么我还想写一篇呢?因为两个原因, 1)这篇文章太长了,阅读成本太大,不能一口气读完. 2)花了大力气读了这篇文章后可以了解很多,但似乎对工作没什么帮助. 所以,我准备写下这篇文章来解决上述两个问题.希望你能在上班途中,或是坐马桶时就能读完,并能从中学会一些能用在工作上的东西. 浏览

【转】浏览器的渲染原理简介

How Browsers Work 这篇文章把浏览器的很多细节讲的很细,也有中文的翻译版本,现在转载的这篇是陈皓写的,目的的为了能在上班途中,或是坐马桶时就能读完,并能从中学会一些能用在工作上的东西. 浏览器工作大流程 先看个图 从图中,可以看到: 1) 浏览器会解析三个东西 * 一个 HTML/SVG/XHTML,事实上,Webkit 有三个C++的类对应这三类文档.解析这三种文件会产生一个DOM Tree * CSS,解析CSS会产生CSS规则树 * JavaScript 脚本,主要是通过