CSS3过渡与jQuery Animate的对比。性能
动画为生活带来了一个全新的世界
如果没有动画师帮助我们以全新的视角看待世界,我们会在哪里?我们似乎很容易忘记这些人所做的艰苦工作,这确实是一个悲剧。
有这么多人帮助我们看到这个世界的真实面貌,我们应该感谢和尊重他们所做的艰苦工作。这就是为什么我们也要问自己,在寻找合适的程序来做动画工作时,我们是否应该使用CSS3 Transitions或jQuery Animate。
你可能认为动画只是用来制作儿童电影和电视节目的东西,但这并不完全正确。
它在我们今天的世界中有着广泛的用途(后面会有更多的介绍),我们越来越多地依靠它来做出关键性的决定,我们必须做出一些最重要的决定,以保持我们的世界以我们希望的方式向前发展。
花点时间退后一步,认识到动画给我们带来的一切,这将帮助你更好地理解为什么有很多人都在努力找出哪些软件能给他们带来最好的动画效果。
Rich Bradshaw写了一个关于CSS过渡、变换和动画的详细教程系列。
仅此一点就值得一读;但如果你还不相信,Rich还把一个小小的(也许有点不公平)性能比较放在一起:
CSS转换和jQuery的animate的头对头比较。不是设置一个定时器来重复运行,而是由浏览器本身来处理转换。在我相当不科学的测试中,转场总是更快,以更高的帧率运行,特别是在元素数量较多的情况下。它们还有一个优点,就是颜色可以很容易地被动画化,而不是必须依赖插件。
将其全部投入测试
比较这两个程序的最好方法是让它们通过一系列的模拟测试,让每个程序证明它的优势。信不信由你,这正是一些人所做的。
他们与这两个程序一起工作,看它们在各种测试条件下如何适应和反应。通过这样做,这些程序必须证明自己的意义,即它们被迫表明它们能够跟上快速的变化和扔给它们的工作动态的转变。
这些测试都可以通过使用计算机模拟来运行测试,而不是把人所做的实际工作放在测试期间来加速进行。你会发现,通过所有这些,并弄清楚每个系统有多少潜在的能力,可以获得很多东西。
你不希望使用与其他项目相比不合格的东西,这就是为什么我们都非常感激有人愿意与这两个项目合作,对它们进行测试,看看每个项目的最终结果到底是什么。
不令人惊讶的结果
当你得知CSS3 Transitions是更好的程序时,你不应该感到震惊。它在图像之间的过渡更加无缝,而且它处理所有这些数据的速度也确实惊人。
有多种程序供我们选择是件好事,但CSS3 Transitions和jQuery Animate之间确实没有竞争。CSS3 Transitions程序存在的时间要长得多,它有能力更容易从用户那里得到结果。
结果可能不会让你感到惊讶,结论也是不可避免的("能用CSS3做动画就用CSS3"),但Rich使用Webkit检查器中的时间轴视图进行的分析(向下滚动)是非常漂亮的。
(实际上,时间线是非常整洁的,就是这样。我直到现在才知道它。)
所以,请看看Rich 的测试和性能讨论,也许将来会使用 Webkit Inspector 的时间线来进行性能微调。
面向未来的动画
动画界所使用的工具将继续被要求帮助创作者完成他们所从事的挑战性工作。对动画电影和电视连续剧的需求并没有停止,但动画的用处远远超出了娱乐的范围。
动画在各种模拟中都有用途。甚至军队也使用动画来模拟某些战场条件和其他他们知道与他们行动有关的问题。
这是帮助他们理清在需要时如何最好地推进他们的行动计划的东西。换句话说,军队使用动画来确保他们永远不会措手不及。
在法庭上,检察官和辩护律师都看到越来越多的动画被用于演示。
他们用动画重现了被指控的犯罪的各个方面,以帮助陪审团从他们的角度看到他们声称的事情是如何发生的。这有助于陪审团更全面地理解他们的观点,原因有很多。
CSS3技术正在帮助使动画的使用更加广泛,让各行各业的更多人可以使用。
看来这种趋势很可能会继续下去,有很多人都指望在他们目前正在进行的几个项目中使用CSS3技术。我们都应该庆祝这样一个事实,即这种技术正在使动画变得更容易获得。
使用最好的程序不一定要花钱
当你为动画目的寻找最佳程序时,还有一件事要记住。它们不一定是昂贵的。许多程序是免费和/或开源的。即使是那些你必须付费的程序也不一定很贵。
当你使用它们时,它们提供了巨大的投资回报率,仅这一点就应该让你明白为什么它们的使用如此重要。确保你考虑到这一点,并考虑到你面前的选择,当涉及到选择一个能够完成你需要的工作的动画程序。
世界上你最不希望发生的事情就是制作质量较差的动画,只因为你坚持要用一个不那么昂贵的动画程序来节省几美元。