首页 新闻 会员 周边 捐助

实时推送的大数据量(通过websocket),造成页面数据加载比较慢,应该怎么改善?

0
[已解决问题] 解决于 2021-02-19 14:52

就是一次性给前端推送数据比较多,导致页面加载很慢,有没有什么优化的方法?目前不是纯前端,有很多地方不太懂,希望大佬赐教,谢谢。

Micheal_L的主页 Micheal_L | 初学一级 | 园豆:173
提问于:2020-08-29 00:43
< >
分享
最佳答案
1

downsample~~减少数据,减少dom,绘制代替html dom,或者再加上webassembly等等。

总而言之优化,自己找点优化。别说html,就是winForm几十万个点位普通控件也无法刘畅,得自己动手干。

比如h(ttps://q.cnblogs.com/q/128968/)有人问时间转换,答案中——若不太需要性能这么写简单快捷,但是消耗了更多cpu和内存,如果考虑性能,可以考虑减少循环,降低内存。

因此我们可以循环一次,直接排进stringBuilder。

for(i<demo.Length){if(i==?? || i==?? || ...)stringBuilder.Append()}

奖励园豆:5
花飘水流兮 | 专家六级 |园豆:13617 | 2020-08-29 15:57

一堆我不太懂的名词😂😂,不明觉厉,看来我要学的东西还很多,谢谢前辈指导

Micheal_L | 园豆:173 (初学一级) | 2020-08-29 23:11
其他回答(5)
0

这个问题有点大,看你为什么要推大量数据了。如果是为了形成一个图表chart,那你可以重新设计一下这个图表,如果你是为了显示一个列表,那么这类表中看不到的字,你可以不要整个对象传过来。具体的优化方法要看业务而定,不是单纯技术能够解决的。

泰乐世陶潜 | 园豆:432 (菜鸟二级) | 2020-08-29 01:30

好的,我试一试,感谢前辈指导

支持(0) 反对(0) Micheal_L | 园豆:173 (初学一级) | 2020-08-29 23:10
0

我觉得你就只是没用worker而已吧。

首席吐槽官秦寿 | 园豆:601 (小虾三级) | 2020-08-31 16:53
0

这个要具体调试分析:F12 network  根据加载时间长短进行优化分析

大da脸 | 园豆:73 (初学一级) | 2020-09-01 10:43
0

没必要通过websocket来推送大量数据呀,你换个思路,websocket只推送一个标识给前端,前端根据这个标识通过ajax来请求数据就行了

魔狼再世 | 园豆:16 (初学一级) | 2020-10-16 16:31
0

同问,所以在想到底是先用 http ajax轮询呢,还是websocket直接发送过去?

谦曰盛 | 园豆:402 (菜鸟二级) | 2021-07-13 11:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册