我正在使用目前使用CSS3转换构建的Web应用程序(仅会在Chrome 19+中运行)。更具体地说,我使用Jquery Transit用Jquery本身触发CSS3动画。这里的理由是,某些动画被绘制了几秒钟,并且jquery动画不够流畅,但是Transit是解决此问题的好方法。 jQuery Transit运行良好,但是我很好奇HTML5 Canvas是否可以使事情更流畅?如果是这样,考虑到我目前正在为DIV使用AJAX和基于百分比的位置这一事实,是否值得追求?如果这里有人知道CSS3动画与Chrome中的HTML5 Canvas性能相比如何,并愿意提供他们的意见,我将不胜感激!
最佳答案
CSS3可以减轻您的麻烦,将来您可以轻松更改它,并且可以在未启用 Canvas 的系统上正常运行。
如果您使用的是文本,那么如果可以避免的话,绝对应该坚持使用CSS。 Canvas破坏了您应用的可访问性,并禁止用户使用克拉或突出显示文本或使用文本进行语音转换。
如果您只是在制作有趣的滑动按钮之类的东西,那么您也应该只使用CSS,因为它可能更易于实现和维护。重做CSS比编写JavaScript(复杂的JavaScript)要容易得多。
我不能诚实地告诉您 Canvas 渲染是否会更平滑。 Canvas 的优点之一是,您可以将事物设置为看似更大的尺寸(同时保持 Canvas 的尺寸不变),而不必导致DOM重新布局。在大多数现代系统上,这实际上不是问题。
此外,如果它已经使用CSS3完成了,那么您实际上有性能问题吗?如果还没有人抱怨性能,那为什么还要为 Canvas 重写它呢?如果到目前为止您还没有遇到任何实际的性能问题,那么为什么要重新发明您的应用程序呢?
关于javascript - 性能:CSS3动画与HTML5 Canvas ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11182478/