首页 > 其他分享 >大屏显示性能问题

大屏显示性能问题

时间:2024-01-11 17:01:42浏览次数:30  
标签:显示 渲染 性能 Object 置空 大屏 数据 页面

    大屏显示的定位就是在可视化大屏中显示数据和图表,大屏有可能会晚上关机早上开机,也可能一直在运转。时间一久,会导致页面卡顿,页面渲染不流畅,影响用户体验。

    1、大屏可能会循环显示成千上万条数据,甚至更多,如果将大批量的数据全部一次性加载轮播,肯定会造成内存占用过多,服务器负载过重。现在的前端解决方案一般在框架内实现。以vue为例,项目采用SPA单页面开发,只加载数据,而不需要刷新页面。返回的数据VUE 会通过Object.defineProperty进行劫持,来实现视图响应式数据的变化。A、大屏展示中的数据就是纯粹的数据展示,不会有数据改变,我们就不需要VUE劫持数据,可以减少组建初始化的时间。

实现方式如下

async initData(){
    const users = await axios.get('/users/list')
    this.users = Object.freeze(users)      
}

B、v-for 中避免使用会变化且不唯一的值做key值,v-for 避免与 v-if 同时使用。C、data中的数据VUE 会通过Object.defineProperty进行劫持VUE 会通过Object.defineProperty进行劫持,如果不需要监听的数据,可以不在data中声明。

  2、复杂的计算可以放到后端计算,前端只负责渲染。前端需要计算的数据可以把数据和计算分开,可以大大提高组件渲染的效率。

  3、渲染中,v-if 具有惰性,只有条件成立时才会去渲染。

  4、对于一些需要频繁过滤和查询的数据,使用Map或Set可以提高性能。

  5、页面中使用了addEventListener 时,在不需要时 使用removeEventListener,页面中使用了 setInterval 或者 setTimeout时,不需要时,使用clearInterval 或 clearTimeout进行清理,避免页面不必要的引用导致内存无法回收。同时我们设计对象时,要避免循环引用,导致内存无法回收。

  6、采用较新版本的浏览器,提高渲染的性能问题。

  7、在没有客户使用或者较少客户使用的时间段,通过v-if 触发组件的生命周期,在destroy中 对data中的数据置空,将addEventlistener监听的事件置空,将setInterval,setTimeout置空,将echarts对象置空,重新渲染组件。

8、W3c小组引入了Navigation Timing API,实现了自动、精准的页面性能打点,我们可以通过window.performance属性获取。

  • performance.timing 接口(定义了从 navigationStart 至 loadEventEnd 的 21 个只读属性)

  • performance.navigation(定义了当前文档的导航信息,比如是重载还是向前向后等)我们可以通过这些属性进行优化。可以使用谷歌的插件灯箱“lighthouse”,另外也可以嵌入一些第三方的性能监控软件,比如阿里的“岳鹰”。

 

标签:显示,渲染,性能,Object,置空,大屏,数据,页面
From: https://www.cnblogs.com/c-and-unity/p/17958924

相关文章

  • 振弦采集仪在工程监测中的性能评估与分析
    振弦采集仪在工程监测中的性能评估与分析振弦采集仪是一种用于测量和记录振弦信号的仪器。在工程监测中,振弦采集仪的性能评估与分析对于准确测量和分析结构的振动特性具有重要意义。以下是一些常见的性能评估和分析指标: 1.准确性:振弦采集仪的准确性是指它测量和记录振弦信号......
  • [转帖]解Bug之路-NAT引发的性能瓶颈
    https://zhuanlan.zhihu.com/p/286532997 解Bug之路-NAT引发的性能瓶颈笔者最近解决了一个非常曲折的问题,从抓包开始一路排查到不同内核版本间的细微差异,最后才完美解释了所有的现象。在这里将整个过程写成博文记录下来,希望能够对读者有所帮助。(篇幅可能会有点长,耐心......
  • EAS_WEB更新解决方案后,无法登录web页面,显示connect.refused
    本地bos更新测试环境的解决方案后,启动bos,登录web提示连接异常失败;看日志,在图中打断点发现了异常:6999是测试服务i的端口,我本地应该是56898端口,对配服务器的实例server1和以前备份的server1.发现了不同:  在同步服务器解决方案后,配置文件被更改了,改回去重启服务即可......
  • UM2004 一款低功耗、高性能、即插即用型 OOK 射频接收器芯片
    UM2004是一款低功耗、高性能、即插即用型OOK射频接收器,该芯片具有2.5V~5.5V较宽的输入电压范围,灵敏度高达到-109dBm,工作频段为300MHz~480MHz,支持1Kbps~5Kbps的数据率传输。采用SOP8封装类型,应用时仅需天线端阻抗匹配网络、VDD退耦电容和AGC滤波电容,VDD电路上无......
  • 基于TIC6000 DSP教学实验箱_数字图像处理操作教程:5-20 图像离散余弦变换(LCD显示)
    一、实验目的学习图像离散余弦变换的原理,掌握图像的读取方法,并实现在LCD上显示余弦变换前后的图像。二、实验原理图像离散余弦变换图像的离散余弦变换广泛用于图像的压缩。对原始图像进行离散余弦变换,变换后DCT系数能量主要集中在左上角,其余大部分系数接近于零,DCT具有适用于图像压......
  • 使用CentOS搭建高性能静态HTTP服务器
    在互联网应用中,静态内容是广泛存在的,例如HTML页面、图片、视频等。为了提供高效、稳定和安全的静态内容服务,我们可以使用CentOS来搭建高性能的静态HTTP服务器。1.选择合适的软件Nginx和Apache是两个流行的HTTP服务器软件。Nginx以其高效、轻量级和快速的性能而著称,特别适合于提供......
  • Unity3D 性能杀手Overdraw详解
    前言Unity3D是一款强大的游戏开发引擎,但在使用过程中,我们需要注意一些可能会影响游戏性能的因素。其中之一就是Overdraw(过度绘制),它可以成为性能杀手。本文将详细解释Overdraw的概念、原因以及如何通过代码实现来减少Overdraw对游戏性能的影响。对惹,这里有一个游戏开发交流小组,希......
  • HBase表的读写性能低下
    假设我们面临的问题是HBase集群中某个表的读写性能较差,影响了业务的实时查询和数据写入。我们通过以下实际案例来解决这个问题:问题:HBase表的读写性能低下实战解决:案例:我们的HBase表设计采用了默认的随机RowKey,导致数据写入时可能引发热点问题。同时,表结构设计上没有很好地利用列簇......
  • 智能运维:预测风险,提升网络设备性能
    在当今高度信息化的时代,智能运维已经成为企业运营的关键一环。智能运维不仅能提升设备的运行效率,更能预测风险,确保企业业务的稳定运行。本文将详细介绍智能运维的各项功能,包括智能统计、预测报告、预测风险、智能分析以及算法模型管理。一、智能统计:实时监控设备状态智能统计功能实......
  • latex参考文献不显示在pdf中
    latex参考文献不显示在pdf中下面是texstudio的“消息”一栏的输出:开始:bibtex"main".auxThisisBibTeX,Version0.99d(TeXLive2022/dev/Debian)Thetop-levelauxiliaryfile:main.auxIcouldn'topenstylefilegbt7714-numerical.bst---line3offilemain.au......