【问题标题】:Optimising a graphic and animation intese layout优化图形和动画 intese 布局
【发布时间】:2012-06-12 11:32:46
【问题描述】:

我正在开发一个使用大量大图像和大量 javascript 的网站。

在这里查看 - http://joehamilton.info/1/1/

我一直在努力提高性能,但收效甚微。我只想保持帧速率平稳,因为有时它会陷入困境。

我认为可能是代码让它陷入了困境,但在发现 chrome 中的分析后,似乎“绘制”过程正在减慢速度。

我只是想知道我可以做些什么来改进。我愿意接受任何建议,但我想我是在考虑这些事情类型的事情: • 压缩图像文件有帮助吗? • 300px 方形重复图案图像在 900px 方形 div 中绘制是否比 900px 方形图像更快?

这是一个庞大而复杂的网站,所以如果它没有帮助,我宁愿不花很多时间修改东西。

那里有任何专业的光栅图像人吗?

【问题讨论】:

  • 滚动到底部时出现错误是否正常? CSS 线 389ish。加载需要很长时间,但是加载完成后,这里的速度非常快。
  • 是的,有点乱。我需要解决一些错误
  • 哦,是的……那是我用来调试另一个问题的东西!
  • 在 chrome 上加载大约需要一分钟,并且没有加载栏或任何东西。然后是一个带有破损滚动条的巨大拼贴画。

标签: javascript performance image optimization repaint


【解决方案1】:

对于任何移动的东西,你应该使用转换和变换而不是 jquery animate 和 background-position,因为它会在某些浏览器中被硬件加速。它还避免了如此频繁地重新粉刷。 http://css3.bradshawenterprises.com/demos/speed.php 是一个在公认的极端情况下比较这两种技术的示例。

如果您不能这样做,请确保您的动画使用 requestAnimationFrame 而不是 setTimeout 循环。

这应该很有帮助。

【讨论】:

  • hmm .. 我正在阅读它,但还有很多事情要做。我将如何转换这样的东西,以便它使用转换? $('#p6bg').css('backgroundPosition', -scrollerCount/18+'px 0px');
  • $('#p6bg').css('-webkit-transform', 'translate('-scrollerCount/18+'px 0px)');应该管用。除非您也添加过渡,否则它不会有任何动画。此外,您还需要确定供应商前缀并使用它。
猜你喜欢
  • 2010-11-18
  • 1970-01-01
  • 2016-04-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-16
  • 2014-03-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多