首页 > 其他分享 >项目性能优化方案

项目性能优化方案

时间:2024-06-13 20:12:43浏览次数:11  
标签:方案 缓存 渲染 性能 base64 首屏 体积 优化

前端性能优化的指标

  • 首屏速度,白屏时间等
  • 操作速度以及渲染速度等

 

 

首屏速度
白屏时间 渲染页面
资源加载 首屏 js 执行 首屏数据请求 Dom 渲染

首屏速度可以做的操作

# 收效很大的操作

1.减少首屏资源体积(打包工具的压缩,异步加载,更新为体积更小的新版本,编写代码尽量减少体积,去除大的 base64 体积)最大效果。

  • 体积大又不需要马上用的功能适合异步加载(比如图片压缩功能)。
  • 新版本的第三方库基本支持 tree-haking(很多时候只用到第三方库的一部分功能)。
  • 能不用第三方库的情形,就尽量自己写,因为第三方库通常比自己写的大。
  • 图片转为 base64 时会进入 js 代码,增加了代码量,避免将大图片转为 base64。

# 收效不大或者特殊情况的优化操作

  1. 首屏数据尽量并行,如果可行让小数据接口合并到其他接口。
  2. 页面包含大量 Dom 可以分批,随滚动渲染。
  3. 骨架屏,loading,先让屏幕不白,减少用户焦虑。

 

操作速度和渲染速度

# 什么情况下会造成操作卡顿和渲染慢?

  1. 一次性操作大量 Dom。(解决方案:参照长列表渲染和异步渲染)
  2. 进行了复杂度很高的运算(常见于循环)。
  3. vue 和 react 项目中,不必要的渲染太多。

    --如果是 react 相关技术栈,可以人工干预的性能优化很多。详情可参照 react 课程。

    --vue 中有依赖收集,配合上 vue3 的静态节点标记,已经基本上避免了因为数据改变引起的无意义渲染。常见的优化方式如下:

      1.频繁切换的显隐的内容用 v-show ,只有打开就一次决定显示与否的用 v-if。

      2.循环,动态切换内容加好 key。

      3.keep-alive 缓存。

      4.区分请求粒度,减少请求范围,也能减少更新。

 

数据缓存

  • 不变的数据,定期时效可以缓存在 cookies 或者 localstorage 中,比如 token,用户名等。
  • 可以考虑做一个缓存队列,存于内存中(全局对象,vuex)。这样能保证刷新就更新数据,也能一定程度上缓存数据。

 

标签:方案,缓存,渲染,性能,base64,首屏,体积,优化
From: https://www.cnblogs.com/ladybug7/p/18246603

相关文章

  • 基于蛙跳优化的神经网络数据预测matlab仿真
    1.程序功能描述      通过蛙跳优化算法,优化神经网络的权值参数,然后使用优化后的神经网络模型对数据进行预测,输出预测曲线。 2.测试软件版本以及运行结果展示MATLAB2022a版本运行  3.核心程序%数据归一化预处理Vmin1=min(X);Vmax1=max(X);......
  • m基于PSO-GRU粒子群优化长门控循环单元网络的电力负荷数据预测算法matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下: 优化前:    优化后:    对比如下:   2.算法涉及理论知识概要       基于粒子群优化(ParticleSwarmOptimization,PSO)和长门控循环单元(GatedRecurrentUnit,GRU)网络的电力负荷预测算法,是一种融合......
  • 解决方案 | winrar 使用命令行解压到同名文件夹 (QTTabBar 中创建一个【解压文件】命令
     需求:我们经常需要把rar或者zip解压到当前文件夹,如果是直接解压的话可能会解压出来很多文件,事实上我们当然可以通过右键解压到这个指定文件夹。  但是经过查询知道,如果是指定文件夹好说,直接指定.\new_data\表示在当前目录下的new_data文件夹即可。但是这不是我想要的,我想......
  • seo如何优化
    哈喽,大家好,我是木头左,物联网搬砖工一名,致力于为大家淘出更多好用的AI工具!SEO如何优化一、了解SEO的基本概念SEO(SearchEngineOptimization),即搜索引擎优化,是指通过一系列技术手段,提高网站在搜索引擎中的自然排名,从而获得更多的免费流量。SEO的核心目标是提高网站的用户体验,让......
  • hive优化
    复制粘贴到md中查看Hive优化1.1 hive的随机抓取策略理论上来说,Hive中的所有sql都需要进行mapreduce,但是hive的抓取策略帮我们省略掉了这个过程,把切片split的过程提前帮我们做了。sethive.fetch.task.conversion=none;(一旦进行这么设置,select字段名也是需要进行mapreduce......
  • 从ES的JVM配置起步思考JVM常见参数优化
    目录一、真实查看参数(一)-XX:+PrintCommandLineFlags(二)-XX:+PrintFlagsFinal二、堆空间的配置(一)默认配置(二)配置Elasticsearch堆内存时,将初始大小设置为物理内存的一半(重点理解)(三)堆外内存划分说明元空间(Metaspace)JIT编译后代码存放本地内存直接内存JNI内存(四)平常的......
  • 海外一对一视频聊天APP开发搭建源码方案
    国际版1v1视频交友APP的基础功能和搭建应用程序的考虑方面,以下是进一步的分析和建议:一、基础功能优化建议注册和登录系统:简化流程:减少不必要的步骤,使注册和登录更加快速。第三方登录支持:增加对主流社交平台的登录支持,方便用户快速注册。用户验证:加强手机或邮箱验证,提高用户......
  • BFS(广度优先搜索)优化技巧 — 双向遍历
    BFS优化技巧—双向遍历在之前我发过动态规划框架与动态规划的优化技巧—空间压缩,类似的,BFS框架也有相应的优化技巧双向遍历。从技巧的名字就可以看出,双向遍历指的就是从起点开始找终点的同时,也从终点开始找起点,一旦两个寻找过程出现交集,那么起点到终点的路径也就找出......
  • 性能分析: 快速定位SQL问题
    在数据库性能调优的实践中,SQL性能分析是至关重要的一环。一个执行效率低下的SQL语句可能会导致整个系统的性能瓶颈。为了快速定位并解决这些问题,我们需要对SQL进行性能分析。本文将介绍一些常用的方法和技术,帮助大家快速定位SQL问题。1、找出执行时间最长的SQL首先,我们需......
  • 多重背包 单调队列优化
    https://www.acwing.com/problem/content/6/#include<iostream>#include<memory.h>#include<deque>#include<stdio.h>usingnamespacestd;/*https://www.acwing.com/problem/content/6/有N种物品和一个容量是V的背包。第i种物品最多有si件,每件体积是vi,......