预加载图像以防止在Windows PC上重新绘制Chrome渲染

时间:2014-05-25 13:58:22

标签: performance google-chrome parallax smooth-scrolling requestanimationframe

我的网站有3个全屏背景图片,使用自定义视差滚动脚本,使用 requestAnimationFrame transform:translate3d()作为动画。我这样做是因为经过对视觉表现主题的大量研究后,这是使用画布的最佳选择。

我的问题是我的页面在Firefox 29.1上非常流畅(*因为它绝对使用计算机GPU来渲染页面和复合图层)但是由于某种原因,Chrome存在一些主要的瓶颈。

当我向下滚动页面时,我获得了巨大的性能峰值(低于30fps)...但我注意到一件有趣的事情是,它恰好发生在用脚本动画的背景图像之一(设置为background-position:cover)进入视口。

正在进行重绘操作,因为正在调整背景图像的大小以适应视口宽度/高度,这会导致巨大的性能损失。考虑到gpu对我的Chrome没有正常工作,而且即使没有硬件加速,我想让我的页面在滚动时执行超级柔滑,是否有一种预加载图像/帧并在滚动之前已经调整它们的方法在屏幕上?像帧缓冲技术一样,确保在用户在屏幕上滚动到该图像之前完成所有计算和调整大小?

0 个答案:

没有答案