我正在开发一个Ember应用程序,它显示了很多实时数据,这使得JS线程真的很忙。
我想用CSS3添加一些不错的流畅动画但是在引擎盖下工作的JS会让整个应用程序变得迟钝。
有没有办法优先使用CSS动画来使它们流畅? 毕竟我不在乎我的数据是否有半秒没有更新。
我主要针对Chrome和Firefox
答案 0 :(得分:4)
您可能希望了解网络工作者。
如果您让所有的ajax和数据处理都由webworker线程完成,并且只显示DOM线程,则可以节省由计算引起的大量开销/延迟。
一句建议。不要使用worker.postMessage(arg,arg),而是使用单个参数执行worker.postMessage(arg)。
然后将对象本身发布,而不是将其转换为json并在另一个线程中转换回来。节省了大量的cpu时间。 请记住,发布对象的线程将“丢失”对象(以防止并发问题)
此外,DOM元素无法发布到网络工作者,因此如果您向工作人员发帖,请确保您的数据“干净”。
答案 1 :(得分:1)
也许尝试将CSS动画设为rendered by the GPU是可能的。
CPU和GPU会单独运行,你应该试一试,看看它是否能带来改进!