我正在尝试深入研究浏览器渲染,并想出了这个小演示以准备演讲。
我整理了一个动画演示,您可以在其中轻松地将调度从 -based 切换到-basedrequestAnimationFrame
并结合甚至完全-based。setInterval
top/left
top/left
translate3d(0,0,0)
translate3d(x,y,z)
现在我知道 stranslate3d
不是灵丹妙药,尤其是如果应用于太多元素会变得昂贵。然而,有一件特别的事情引起了我的注意。如果我将positioner
from切换DefaultPositioner
到Translate3dPositioner
似乎我得到比以前更长的重新计算样式阶段。我找不到任何相关信息,所以我想知道是否有人可以分享更多关于这里发生的事情的信息?
这是演示的链接:http ://plnkr.co/edit/TKwKBk?p=preview
只需在app.js
文件中切换实现。
还有一件事:当您单击恢复开始演示时,您应该稍等片刻,直到所有框都移开一点。我知道这是一个糟糕的演示;-)