客户端渲染

简介: 什么是客户端渲染页面呢?

客户端渲染页面

  • 浏览器渲染页面的步骤
    • 解析HTML,生成DOM树,解析CSS,生成CSSOM树
    • 将DOM树和CSSOM树结合,生成渲染树(Render Tree)
    • Layout(回流):根据生成的染树,计算它们在设备视口(viewport)内的确切位置和大小,这个阶段是回流
    • Painting(重绘): 根据潼染树以及回流得到的几何信息,得到节点的绝对像素
    • Display:将像素发送给GPU,展示在页面上
  • DOM重绘和回流

    • 重绘:元素样式的改变(但宽高、大小、位置等不变)
    • 回流:元素的大小或者位置发生了变化(当页面布局和几何信息发生变化的时候),触发了重新布局,导致渲染树重新计算布局和渲染

注意:回流一定会触发重绘,而重绘不一定会回流

  • 前端性能优化之 : 避免DOM的回流

    • 放弃传统操作dom的时代,基于vue/react开始数据影响视图模式
    • 分离读写操作(现代的浏览器都有渲染队列的机制)
    • 样式集中改变
    • 缓存布局信息
    • 元素批量修改
    • 动画效果应用到position厘性为absolute或fixed的元素上(脱离文档流)
    • CSS3硬件加速(GPU加速)
    • 牺牲平滑度换取速度
    • 避免table布局和使用css的javascript表达式

    谢谢款待

小记整理于 2023 / 8 / 30

目录
相关文章
|
应用服务中间件 Shell nginx
mac m1笔记本docker 安装nginx
mac m1笔记本docker 安装nginx
481 4
|
机器学习/深度学习 测试技术 数据处理
KAN专家混合模型在高性能时间序列预测中的应用:RMoK模型架构探析与Python代码实验
Kolmogorov-Arnold网络(KAN)作为一种多层感知器(MLP)的替代方案,为深度学习领域带来新可能。尽管初期测试显示KAN在时间序列预测中的表现不佳,近期提出的可逆KAN混合模型(RMoK)显著提升了其性能。RMoK结合了Wav-KAN、JacobiKAN和TaylorKAN等多种专家层,通过门控网络动态选择最适合的专家层,从而灵活应对各种时间序列模式。实验结果显示,RMoK在多个数据集上表现出色,尤其是在长期预测任务中。未来研究将进一步探索RMoK在不同领域的应用潜力及其与其他先进技术的结合。
479 4
|
存储 缓存 分布式计算
|
存储 分布式计算 监控
什么是 Hadoop 集群?
【8月更文挑战第12天】
620 4
|
小程序
基于微信小程序的电器维修系统设计与实现(源码+lw+部署文档+讲解等)
基于微信小程序的电器维修系统设计与实现(源码+lw+部署文档+讲解等)
279 0
基于微信小程序的电器维修系统设计与实现(源码+lw+部署文档+讲解等)
|
存储 安全 数据库
打破砂锅:Rails如何实现精细的RBAC权限控制?
【8月更文挑战第31天】 Ruby on Rails 中的权限控制系统是确保多用户 Web 应用安全的关键。基于角色的访问控制(RBAC)通过角色分配实现细粒度权限管理。本文介绍如何构建 RBAC 系统,包括创建角色和权限模型及其关联,并在控制器中执行权限检查。通过这种方式,可以有效地管理和保护应用资源。利用 Rails 的强大功能及社区资源(如 `cancancan` 或 `pundit`),可进一步提升权限控制的灵活性和安全性。
168 0
|
编译器 索引 Python
Python常见异常类型说明及触发代码示例
开发过程中需要根据具体情况选择处理异常,并使用try-except语句来捕获并处理异常,从而保证程序的健壮性和稳定性。在Python中,异常是程序执行期间发生的错误或意外情况。当解释器遇到异常时,会停止程序的正常执行,并在控制台输出异常的相关信息。Python中有许多不同的异常类型,每个异常类型表示不同的错误或意外情况。OSError:操作系统产生的异常(例如打开一个不存在的文件)。AttributeError:尝试访问一个对象没有的属性。UnicodeError:Unicode相关的异常。
310 5
|
存储 编解码 安全
阿里云服务器五代、六代、七代、八代实例规格与经济型e和通用算力型u1实例介绍
阿里云服务器实例规格经过多次升级之后,目前已经推出了最新的第八代云服务器,当下主售的云服务器实例也以及从以往的六代七代过渡到七代和八代为主,同时还有通用算力型及经济型这些刚推出不久的新品云服务器实例,对于有的新手用户来说,并不是很清楚阿里云五代、六代、七代、八代云服务器的实例规格具体有哪些,以及它们之间有何区别,最新一代相比于上一代在性能上有何提升。本文对阿里云五代、六代云服务器实例规格做个简单介绍,同时对七代和八代云服务器做个重点介绍,以供大家参考。
阿里云服务器五代、六代、七代、八代实例规格与经济型e和通用算力型u1实例介绍
|
SQL 数据采集 存储
Dataphin V3.6版本发布啦!多项能力升级,助力企业提升全链路数据治理能力!
Dataphin V3.6版本全新上线概念建模、基线运维、全域数据质量监控、数据标准标准落标映射等核心功能,为企业建设贯穿事前、事中、事后的全链路数据治理能力添砖加瓦,助力提升资产价值。
38135 1
Dataphin V3.6版本发布啦!多项能力升级,助力企业提升全链路数据治理能力!
|
存储 NoSQL Ubuntu
MongoDB的「Linux」安装及基本使用
MongoDB的「Linux」安装及基本使用
1309 0
MongoDB的「Linux」安装及基本使用