社区
CSS
帖子详情
Web前端实时刷新【卡顿】
Bupt_beyond
2018-01-11 03:58:54
前端绘制了表格,表格内的数据实时刷新。
目前用的Websocket,每秒推送2次,每次数据量大概在1MB,表格大概有400行4列,也就是有1600个数值需要每秒刷新2次。
服务端很好,完全无压力,但客户端浏览器很卡,求解。
而且我想实现的是1000行*4列的数据每秒刷新达10次,求有什么好的解决办法。
...全文
1605
7
打赏
收藏
Web前端实时刷新【卡顿】
前端绘制了表格,表格内的数据实时刷新。 目前用的Websocket,每秒推送2次,每次数据量大概在1MB,表格大概有400行4列,也就是有1600个数值需要每秒刷新2次。 服务端很好,完全无压力,但客户端浏览器很卡,求解。 而且我想实现的是1000行*4列的数据每秒刷新达10次,求有什么好的解决办法。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
weixin_41630943
2018-01-14
打赏
举报
回复
看大神的分析收到很多启发
Bupt_beyond
2018-01-13
打赏
举报
回复
试试楼上这种
林二棍子
2018-01-12
打赏
举报
回复
每秒需要刷新1600个数据2次,也就是一共3200次。 假定不重新组织DOM结构,只修改已有DOM里面的值,则至少需要: 1. 查找DOM节点3200次 2. 修改DOM节点内部的值3200次 3. 浏览器刷新显示3200次 一共是9600次计算,js是单线程,所以给每个操作的时间在0.1ms左右。我觉得不可行。 换个思路,每次都重写整个DOM。 初始化 $("container").hide(); var rows = []; rows.push('<table>'); 搞一个数组,把每行的html字符串写在数组里面,比如 var arr = [ "<tr><td>", "", "</td><td>", "", ... "</td></tr>" ] for循环每行数据设置值 arr[1] = "f1"; arr[3] = "f2"; ... 然后合并成一行html添加到数组: rows.push(arr.join('')); rows.push('</table>'); 循环结束,rows数组输出成html片段: var rowshtml = rows.join(''); 最后$("container").html(rowshtml).show(); 理论上比第一种思路快一点。但是一秒钟能不能刷新两次我没把握。
hookee
2018-01-12
打赏
举报
回复
一屏看不了这么多数据吧,考虑只刷新看到的那一屏的数据。
Bupt_beyond
2018-01-12
打赏
举报
回复
但这不是根本性解决方案哦,用户最终需求是一个页面4000个数值,1秒刷新2次。如何提高浏览器的性能? 是否因为前端代码优化力度不够导致卡顿?
天际的海浪
2018-01-11
打赏
举报
回复
浏览器创建和重新渲染dom元素需要时间,页面上dom元素太多,重新渲染肯定会卡。 要分页显示
Bupt_beyond
2018-01-11
打赏
举报
回复
补充下哈:服务端数据我做了缓存,服务端基本不存在发送数据的延迟,肯定是每隔0.5s发送一次,只不过前端渲染不出来。如何提高前端的渲染速率?使用什么框架会比较好?
百度地图 点聚合 maker 定时
刷新
。。时间久后的
卡顿
问题解决
本文分享了一次百度地图点聚合功能优化的经历。针对
实时
刷新
时出现的
卡顿
问题,通过深入研究MarkerClusterer源码并正确使用其API,找到了清除旧标记的有效方法。
Web
前端
开发过程踩过的坑以及一些小方法技巧(持续更新)
本文分享了在iOS和Android平台进行
Web
开发时遇到的常见问题及解决方案,包括jQuery事件代理、自定义输入键盘、Retina屏1px解决方案、阻止iOS输入法弹出、input样式调整、滚动性能优化等。
前端
实时
数据
刷新
全方案详解|
Web
Socket / 定时轮询 / 惰性轮询 /
Web
Worker/SharedWorker/ 后台静默同步
本文系统对比
Web
Socket、定时轮询、惰性轮询、
Web
Worker轮询、Periodic Background Sync、requestIdleCallback及SharedWorker七种
前端
实时
数据
刷新
技术。重点分析各方案的通信机制、执行稳定性、后台存活能力、浏览器兼容性及适用场景,涵盖Vue2/Vue3集成实践、Service Worker调度原理、多标签页协同机制等关键技术细节,为高可靠性
实时
数据更新提供选型依据。
踩坑实战分析
前端
实时
数据
刷新
全方案详解|
Web
Socket / 定时轮询 / 惰性轮询 /
Web
Worker / SharedWorker / 后台静默同步
本文系统剖析
前端
实现
实时
数据
刷新
的六大核心技术方案:
Web
Socket、定时轮询、惰性轮询、
Web
Worker、SharedWorker及后台静默同步。重点涵盖各方案适用场景、工程挑战、关键优化点与组合选型策略,并提出分层
实时
引擎架构与稳定性保障体系,强调按业务
实时
等级(强/准/弱)科学选型,而非单一技术堆砌。
从
卡顿
到流畅:
前端
渲染性能深度解析与实战指南
在现代
Web
应用中,
前端
渲染性能决定页面流畅度。本文先剖析页面
卡顿
根源,如帧率、渲染流水线等;接着介绍浏览器微观渲染机制,如按需渲染、DOM批处理等;最后给出性能优化实战指南,包括动画优化、DOM读写分离及系统性瓶颈分析对策,助开发者打造流畅页面。
CSS
61,120
社区成员
60,701
社区内容
发帖
与我相关
我的任务
CSS
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
复制链接
扫一扫
分享
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章