如何强制图像在加载时解码?

mod*_*erf 11 javascript css jquery requestanimationframe

我正在构建一个使用requestAnimationFrame进行视差滚动的网站.有多个部分,每个部分都有一个全尺寸的背景图像以及一些中间和前景图像.我通过requestAnimationFrame设法让这个动画变得相对流畅,但动画中仍然偶尔出现抖动.

通过在帧模式下观看Chrome的时间线,我可以看到导致"jank"的进程被标记为"Image Decode".此外,一旦动画完成一次,jank就不会重现.

似乎大多数浏览器现在都推迟了尚未查看的图像的解码.有没有一种方法可以预先解码(而不仅仅是预加载)图像,而不会让用户看到它们?

mod*_*erf 0

我通过消除检查元素是否在屏幕上的行来解决这个问题,这可能与浏览器做同样的事情,只是效果很差。