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

2021-02-19 15:14发布

问题:

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

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



回答2:

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



回答3:

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



回答4:

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



回答5:

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