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

2021-02-19 14:47发布

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

5条回答
戒情不戒烟
2楼-- · 2021-02-19 15:02

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

查看更多
Emotional °昔
3楼-- · 2021-02-19 15:09

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

查看更多
干净又极端
4楼-- · 2021-02-19 15:13

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()}

查看更多
beautiful°
5楼-- · 2021-02-19 15:20

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

查看更多
霸刀☆藐视天下
6楼-- · 2021-02-19 15:27

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

查看更多
登录 后发表回答