Tab 组件性能讨论 #12335
Replies: 4 comments 15 replies
-
试了下渲染 1000 个 Cell 组件还是挺流畅的,你可以提供一下对应的 codesandbox 链接吗? |
Beta Was this translation helpful? Give feedback.
-
尝试渲染 10 个 Tab 和 3000 个 VanCell 组件,并从第 1 个 Tab 滑动到第 10 个 Tab,渲染开销如下: VantNut UI结论在本 case 下,Vant Tabs 的 rendering 性能相对好一些,未能复现你描述的性能问题。 |
Beta Was this translation helpful? Give feedback.
-
我个人感觉似乎tabs组件在切换tab进行渲染动画的过程中,似乎还在做什么计算,而且似乎跟vue的双向绑定相关,导致触发了大量了patch事件,从而引起了css动画堵塞。我数了下性能分析中,每一帧的事件中,触发了至少约16次左右的vue3的patch事件,甚至有一帧触发了2次touchmove事件,从而触发了2*16次的 patch事件。这也是性能分析中每次切换tab的时候,cpu消耗性能大的原因吧? |
Beta Was this translation helpful? Give feedback.
-
这是我录制的视频,可以看到vant的tab组件在切换的时候,动画有明显的卡顿。 |
Beta Was this translation helpful? Give feedback.
-
What problem does this feature solve?
希望官方大大们能优化下tab组件的性能
What does the proposed API look like?
1、双方组件都启用了手势滑动切换,
2、vant的tab组件是静态内容,且渲染的dom节点很少,Nut-ui的tab组件渲染的是200个列表的动态数据。但是通过性能对比可以看到,vant的tab组件消耗的性能远大于Nut-ui。并且经过我实测,vant的tab组件去渲染这动态的200个列表数据,切换的时候整个动画效果很卡很卡,而Nut-ui则依然很流畅。
Beta Was this translation helpful? Give feedback.
All reactions