我注意到性能监视器中的“到目前为止掉线”数字不断增加。达到了2030fps。
这个数字应该不断增加吗?或我的应用程序有问题。
答案 0 :(得分:1)
通常随着时间的推移会增加,但是您希望该数字尽可能地低。基本上,每个javascript动作都以16ms的间隔捆绑在一起并发送到主线程,任何时候javascript动作所花费的时间都比它被认为是丢帧的时间长,因为主线程不必等待下一个16ms批处理。每16毫秒会导致丢掉1帧。
例如,假设您有一个具有动画幻灯片的组件,并且在componentDidMount
上进行了一些工作,并且该工作需要60毫秒。这意味着,如果您的动画是在javascript线程上发生的,则它将口吃4帧(绝对可以感知)。
浏览您的应用程序,查看哪些渲染导致应用程序丢帧,然后查看这些组件的渲染逻辑。您可能应该使用shouldComponentUpdate
甚至更好的PureComponent
来防止渲染浪费。