vue文字内容高频更新优化方案
业务场景是一个服务器状态监控系统,需要通过websocket
高频实时渲染页面,主要是文本内容更新,和DOM样式更新,所以因该是有很高频的重绘和回流。目前系统需要优化性能。
我能想到的优化方式是用input作为文本内容的容器,感觉这样不会重绘和回流?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
样式更新,这不可避免的会触发重绘。
现在已经造成卡顿了吗?使用开发工具看看是哪里的卡顿,讲道理不应该是内容更新造成的。
其实可以考虑使用
absolute+z-index
来让内容有层级,只触发单个层级的重绘input
和textarea
并不能降低消耗,而且也很难加样式有效果图的展示吗?
建议一下方式:
1.控制展示的数量,不要输出和渲染全部的内容,建立回收机制清理超出屏幕的内容!
譬如,你屏幕可以显示的上限是 20 条,那么 100 条之后的内容对你来说基本是没有意义的!
整一个缓存池,和渲染的池子,搞这个吧 ... 代码满嫌弃的我就不贴了,
基本上这个能保证自动加载类型的需求正常应用!
2.如果你渲染的内容有动画效果,带图片,
建议可以使用 transform:translate3D, 实现 GUI 的加速,和缩小重绘的范围
下面是笔记的内容:
Q:如何减少重绘和回流的消费?
A:答案是独立的图层,DOM元素重绘和回流的影响只会在这个图层中,而不是全局!
Q:关于UI渲染的其他优化或者建议
A:下面是常见的优化方式: