web前端应用性能指标优化方案有哪些?

news/2024/10/4 8:43:19/文章来源:https://www.cnblogs.com/csuwujing/p/18282283

接上一篇介绍前端性能指标的内容,本文主要总结下一般使用的指标优化方案

加载相关:

FCP 优化 :

  • 降低服务器响应时间:确保服务器能迅速响应请求,这样浏览器就能更快地开始处理并渲染页面内容。可以通过优化服务端代码、改善静态资源的提供方式(如将图片部署到 CDN)来实现。
  • 延迟加载非关键资源:对于非关键的脚本和 CSS 样式表,使用defer属性或async属性(对于脚本)来延迟加载,这样它们就不会阻塞页面的初次渲染。
  • 使用 code splitting 和 lazy loading 优化资源加载
  • 移除不必要的资源:检查页面并移除那些未被使用的样式表和JavaScript脚本,这些不必要的资源会拖慢 FCP 的时间。
  • 内联关键样式:虽然这种做法会受到质疑,但如内联一些关键的 CSS 样式确实可以减少浏览器解析外部资源所需的时间,从而加快渲染速度。
  • 使用预渲染,将首屏内容预先渲染好。
  • 优化图片和视频的加载,使用 webp 格式的图片和视频。
  • 减少首次请求数量,合并文件并使用 HTTP/2 的 server push。
  • 使用浏览器缓存,设置正确的Cache-Control和Expires头。
  • 优化 JavaScript 执行性能,减少首次渲染时间

TBT总阻塞时间优化

减少 TBT 时间的方式包括:

  • 减轻第三方代码的影响
  • 缩短JavaScript执行时间
  • 减少主线程的工作量
  • 控制请求数量和传输大小
    理想情况下,TBT 在移动设备上应低于 300 毫秒,在桌面 Web 上应低于 100 毫秒。

交互相关

CLS 优化
影响 CLS 分数的常见的原因主要有:

  • 图片、视频和 iframe 没有预先设定尺寸,导致页面加载时元素位置变化。
  • 字体加载过程中可能产生文本短暂消失或样式未加载的文本闪烁,影响布局稳定性。
  • 动态内容(如广告、通知等)注入 DOM 后,尤其是网络请求之后,往往会导致页面布局发生突变

CLS 是由于布局中的意外变化而发生的,因此在编写 HTML 和 CSS 时,可以考虑以下原则:

  • 避免布局重叠:不要将新元素插入到现有元素之上,因为这可能导致页面布局发生意外的变化。尤其是当插入通知或警告框时,应该考虑使用不会干扰其他页面元素的设计方法。

  • 预留空间:为图像和视频元素指定尺寸属性,以便浏览器在内容加载之前就能为它们预留出正确的空间。这有助于防止页面在加载过程中发生不必要的布局调整。

  • 谨慎使用动画:动画和过渡效果可以提升用户体验,但应确保它们不会导致页面布局发生不必要的改变。选择那些不会移动元素或改变布局尺寸的过渡效果,以保持页面的稳定性和一致性。

TTI:可交互时间优化
TTI 时间主要取决于以下因素:

  • 页面布局稳定,所有可见的内容都已经被加载。

  • 主线程空闲。如果还在加载脚本或处理其他任务,那么应用将不会处于交互状态。用户的点击和其他操作将被忽略(或排队)直到线程空闲。
    以下是一些优化策略:

  • 清除冗余脚本:移除所有未使用的脚本,避免浏览器花费时间去解析不必要的代码,从而提升页面加载速度。

  • 分割脚本文件:将大型脚本拆分成多个较小的文件。这有助于浏览器更有效地加载和解析这些脚本,减少阻塞时间。

  • 动态加载脚本:对于来自外部资源且无法直接分割或修改的脚本,考虑采用动态加载的方式,以减少对页面初始加载时间的影响。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/736961.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web前端应用应该关注哪些性能指标?

作为一个有经验的前端开发工程师来说,关注性能是必不可少的一项日常工作,那么应该重点关注一些什么样的性能指标呢?其实主要还是从用户体验的角度来看,一般我们会从页面加载相关、交互相关方面入手。 原文:前端性能指标,一网打尽FCP:首次内容绘制 LCP:最大内容绘制 TTF…

解决Centos无法yum源的问题

1、安装yum依赖包,出现报错could not resolve host :mirrorlist.centos.org:unknown error 此时 #ping mirrors.aliyun.com 不通 一般是由于dns解析存在问题,cd /etc/resolv.conf 修改nameserver 改为114.114.114.114。重启网卡:systemctl restart network 再次 #ping mir…

数据万象盲水印 - AIGC的“保护伞”

近期AIGC的爆火让人们觉得AI似乎无所不能,打工人们已然将 AI 发展成了工作的一大助手,但同样也伴随着很多AI的受害者。一些专家、画家、学者们发现自己的“作品风格”正在被 AI “抄袭剽窃”。导语 近期AIGC的爆火让人们觉得AI似乎无所不能,打工人们已然将 AI 发展成了工作的…

VMware vSphere Tanzu部署_12_下载使用Tanzu-K8S工具

下载使用Tanzu-K8S工具Tanzu-K8S工具支持windows、linux、macoswindows下载安装tanzu-k8s工具访问命名空间内的链接到CLI工具链接将二进制文件复制到windows内的system32文件夹内linux下载安装tanzu-k8s工具 # 192.168.203.194这个IP地址替换为您环境下看到的IP地址 wget --no-…

流程表单设计器开源优势多 助力实现流程化!

流程表单设计器开源的优势特点在哪里?一起在本文中寻找答案吧。实现流程化办公是很多职场企业的发展目标。应用什么样的软件可以实现这一目的?低代码技术平台、流程表单设计器开源的优势特点多,在推动企业降本增效、流程化办公的过程中作用明显,是理想的软件平台。那么,流…

在Cocoa里玩转Dock图标

原文来自;https://cocoa.venj.me/blog/play-with-dock-icon/ 今天我们来看一看如何在Cocoa程序中自定义Dock图标。Dock图标的自定义主要包括四方面:加徽章(Badge) 换图标 隐藏和显示最小化时的图标徽章 增加自定义Dock菜单本文将对如何进行这四方面的自定义进行简单的介绍,…

VMware vSphere Tanzu部署_10_开启Tanzu功能

1.开启Tanzu功能 1.1. Tanzu开启的必要条件网络需要为vds网络或者nsx网络 esxi集群需要开启DRS和HA功能 需要配置Tanzu存储策略 需要部署有负载均衡(nsx或者haproxy或者nsx avi) 需要配置有Tanzu Kubernetes内容库1.2. 初始化Tanzu启用Tanzu功能选择tanzu网络为VDS网络选择需要…

如何计算弧线弹道的落地位置

1)如何计算弧线弹道的落地位置2)Unity 2021 IL2CPP下使用Protobuf-net序列化报异常3)编译问题,用Mono可以,但用IL2CPP就报错4)Wwise的Bank在安卓上LoadBank之后,播放没有声音这是第393篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术…

内推失败!

简历的重要性相信大家都是清楚的,简历的好坏直接决定了面试机会的多少,以及是否有面试机会。 例如,上周我这把一个 92 院校的同学推荐给朋友表哥了,他表哥是某知名电商公司 Leader 级别的人物,他去这个 PDD 已经 5 年了,是位不折不扣的大佬,但推荐的结果却令人感到失望,…

Springboot+Vue加密通信

前言本文旨在给出Springboot+Vue 框架下的加密通信具体实现,同时为照顾非行业内/初学读者,第一小节浅显的解释下加解密方式,老鸟直接跳过。 1 加解密方式常见的加解密方式大概分成对称加密、非对称加密与信息摘要算法三类。下面仅从使用角度简单介绍下加解密方式: 1.1 对称…

VMware vSphere Tanzu部署_09_配置tanzu内容库

配置Tanzu内容库Tanzu内容库订阅地址为:https://wp-content.vmware.com/v2/latest/lib.json如下为配置步骤在vcenter中配置内容库即可