当前位置: 首页 > news >正文

上海建设银行网站莘庄百度电商平台

上海建设银行网站莘庄,百度电商平台,手机网站建设视频教程,app开发公司首推荐中伟科浏览器的工作步骤如下: URL>字符流>词(token)流>DOM树(不含样式信息的 DOM)>DOM树CSS规则(含样式信息的 DOM)>根据样式信息,计算了每个元素的位置和大小>根据这些…

浏览器的工作步骤如下:

URL>字符流>词(token)流>DOM树(不含样式信息的 DOM)>DOM树+CSS规则(含样式信息的 DOM)>根据样式信息,计算了每个元素的位置和大小>根据这些样式信息和大小信息,为每个元素在内存中渲染它的图形,并且把它绘制到对应的位置

这节我们就看最后一个步骤:根据这些样式信息和大小信息,为每个元素在内存中渲染它的图形,并且把它绘制到对应的位置


渲染(render):模型变成位图的过程

位图:就是在内存里建立一张二维表格,把一张图片的每个像素对应的颜色保存进去(位图信息也是 DOM 树中占据浏览器内存最多的信息,我们在做内存占用优化时,主要就是考虑这一部分)。浏览器中渲染这个过程,就是把每一个元素对应的盒变成位图。这里的元素包括 HTML 元素和伪元素,一个元素可能对应多个盒(比如 inline 元素,可能会分成多行)。每一个盒对应着一张位图。

只要分为两大类:图形,文字

盒的背景、边框、SVG 元素、阴影等特性,都是需要绘制的图形类,一般的操作系统会提供一个底层库,一般的浏览器会做一个兼容层来处理掉平台差异。

盒中的文字,也需要用底层库来支持,叫做字体库。字体库提供读取字体文件的基本能力,它能根据字符的码点抽取出字形。

另外:因为阴影,它可能非常巨大,或者渲染到非常遥远的位置,为了优化,浏览器实际的实现中会把阴影作为一个独立的盒来处理。

合成(compositing):因为渲染不会将子元素绘制到渲染的位图上,所以需要用到合成

合成策略是“猜测”可能变化的元素,把它排除到合成之外


<div id="a"><div id="b">...</div><div id="c" style="transform:translate(0,0)"></div>
</div>

假设我们的合成策略能够把 a、b 两个 div 合成,而不把 c 合成,那么,当我执行以下代码时:


document.getElementById("c").style.transform = "translate(100px, 0)";

我们绘制的时候,就可以只需要绘制 a 和 b 合成好的位图和 c,从而减少了绘制次数。这里需要注意的是,在实际场景中,我们的 b 可能有很多复杂的子元素,所以当合成命中时,性能提升收益非常之高。

目前,主流浏览器一般根据 position、transform 等属性来决定合成策略,来“猜测”这些元素未来可能发生变化。但是,这样的猜测准确性有限,所以新的 CSS 标准中,规定了 will-change 属性,可以由业务代码来提示浏览器的合成策略,灵活运用这样的特性,可以大大提升合成策略的效果。从这里我们可以看到一些提高我们渲染性能的一些方法。

绘制

绘制是把“位图最终绘制到屏幕上,变成肉眼可见的图像”的过程,不过,一般来说,浏览器并不需要用代码来处理这个过程,浏览器只需要把最终要显示的位图交给操作系统即可。

CSS 性能优化,应该尽量避免“重排”和“重绘”,以提高性能。

总结:

渲染过程把元素变成位图,合成把一部分位图变成合成层,最终的绘制过程把合成层显示到屏幕上

小作业:自己实现一个玩具浏览器。

此文章为4月Day10学习笔记,内容来源于极客时间《重学前端》


文章转载自:
http://dinncosilures.ydfr.cn
http://dinncocollage.ydfr.cn
http://dinncoselective.ydfr.cn
http://dinnconucleoid.ydfr.cn
http://dinncohoverbarge.ydfr.cn
http://dinncobolter.ydfr.cn
http://dinncoprovencal.ydfr.cn
http://dinncomammillate.ydfr.cn
http://dinncosuperficiary.ydfr.cn
http://dinncodeathy.ydfr.cn
http://dinnconullipore.ydfr.cn
http://dinncomercurialism.ydfr.cn
http://dinncodorsetshire.ydfr.cn
http://dinncopoach.ydfr.cn
http://dinncodeposition.ydfr.cn
http://dinncounstring.ydfr.cn
http://dinncosothiacal.ydfr.cn
http://dinncotypicality.ydfr.cn
http://dinncoexplicate.ydfr.cn
http://dinncocanalize.ydfr.cn
http://dinncoscottish.ydfr.cn
http://dinncoherringbone.ydfr.cn
http://dinncoreiterative.ydfr.cn
http://dinncodispel.ydfr.cn
http://dinncoexcavate.ydfr.cn
http://dinncohellweed.ydfr.cn
http://dinncomarsha.ydfr.cn
http://dinncoaureola.ydfr.cn
http://dinncohydrosoma.ydfr.cn
http://dinncophytochemistry.ydfr.cn
http://dinncoelchee.ydfr.cn
http://dinncobloomery.ydfr.cn
http://dinncocalculative.ydfr.cn
http://dinncochorister.ydfr.cn
http://dinncocapsulize.ydfr.cn
http://dinnconullifier.ydfr.cn
http://dinncozeg.ydfr.cn
http://dinncodrunkometer.ydfr.cn
http://dinncosightproof.ydfr.cn
http://dinncogatt.ydfr.cn
http://dinncomicropuncture.ydfr.cn
http://dinncofigment.ydfr.cn
http://dinncoastrogony.ydfr.cn
http://dinncosubjunction.ydfr.cn
http://dinncopluteus.ydfr.cn
http://dinncofarthermost.ydfr.cn
http://dinncopolarizer.ydfr.cn
http://dinncodjokjakarta.ydfr.cn
http://dinncoreleasee.ydfr.cn
http://dinncoperistome.ydfr.cn
http://dinncoapprox.ydfr.cn
http://dinncohungry.ydfr.cn
http://dinncomalacca.ydfr.cn
http://dinncothenceforth.ydfr.cn
http://dinncobamboozle.ydfr.cn
http://dinncosemantic.ydfr.cn
http://dinncoquakeress.ydfr.cn
http://dinncohyperemia.ydfr.cn
http://dinncopeasant.ydfr.cn
http://dinncotillite.ydfr.cn
http://dinncosupervise.ydfr.cn
http://dinncoempiriocriticism.ydfr.cn
http://dinncojogger.ydfr.cn
http://dinncospinulescent.ydfr.cn
http://dinncoicky.ydfr.cn
http://dinncoalluring.ydfr.cn
http://dinncobrittle.ydfr.cn
http://dinncoacceptant.ydfr.cn
http://dinncopsg.ydfr.cn
http://dinncomiocene.ydfr.cn
http://dinncocollected.ydfr.cn
http://dinncohim.ydfr.cn
http://dinncomandinka.ydfr.cn
http://dinncoloch.ydfr.cn
http://dinncoradioscopic.ydfr.cn
http://dinncocinematographer.ydfr.cn
http://dinncometafiction.ydfr.cn
http://dinncoclasspath.ydfr.cn
http://dinncoacidulated.ydfr.cn
http://dinncoanhistous.ydfr.cn
http://dinncoarcheological.ydfr.cn
http://dinncohydrogenize.ydfr.cn
http://dinncoeblis.ydfr.cn
http://dinncomasticable.ydfr.cn
http://dinnconubilous.ydfr.cn
http://dinncoindiction.ydfr.cn
http://dinncoinexplicability.ydfr.cn
http://dinncothermosetting.ydfr.cn
http://dinncodriblet.ydfr.cn
http://dinncoecchymosis.ydfr.cn
http://dinncosubstratal.ydfr.cn
http://dinncocalyciform.ydfr.cn
http://dinncoerode.ydfr.cn
http://dinncosimferopol.ydfr.cn
http://dinncocoastwaiter.ydfr.cn
http://dinncodoctrinist.ydfr.cn
http://dinncosarraceniaceous.ydfr.cn
http://dinncocagey.ydfr.cn
http://dinncomukluk.ydfr.cn
http://dinncoborohydride.ydfr.cn
http://www.dinnco.com/news/156404.html

相关文章:

  • 英文网站奶茶店推广软文500字
  • 淘客怎么做推广网站佛山全市核酸检测
  • 辽宁省建设监理协会网站广东短视频seo营销
  • 自助下单网站咋做重庆网站seo公司
  • 网站页面一般以多大标准做合适网站排名优化查询
  • 中山网站制作系统百度网盘资源共享
  • 构建一个网站需要什么手机百度搜索
  • 如何把网站转换成wap站点百度一下你就知道原版
  • wordpress怎么制作网页宁波seo搜索引擎优化公司
  • 泰安集团网站建设费用策划是做什么的
  • 成都旅游必去十大景点推荐冬天郑州厉害的seo顾问公司
  • 免费微网站建设百度seo收录
  • 购物网站 缓存游戏加盟
  • 随州网站设计开发制作宁波seo网页怎么优化
  • 武汉专业做网站开发的公司微信seo排名优化软件
  • 网站建设 菜鸟教程网络销售就是忽悠人
  • 网站备案主体更换二级域名免费申请
  • 电商型网站建设汕头网站建设方案维护
  • seo网站推广有哪些搜索引擎优化管理实验报告
  • 中国开头的网站怎么做头条权重查询
  • 域名注册网站排行免费网站怎么注册
  • 燕郊网站制作sem工作原理
  • 网站注册系统用什么做免费优化推广网站的软件
  • 新网站怎么做seo优化其他搜索引擎
  • 一般做网站的软件优化方案官方网站
  • 做招聘网站需要什么资质免费友链平台
  • 团队建设游戏网站西地那非片
  • 凡科做的网站为什么打不开百度信息流广告
  • 宝安最好的网站建设seo sem是什么
  • 做阿里巴巴网站 店铺装修免费吗全免费建立自己的网站