我正在开发一个简单的网络应用程序,纯 Javascript。
核心功能之一是加载和查看图像。
当加载大量大图像时,脚本执行速度通常会减慢甚至停止,直到其中一些图像加载完成,这对于大型 .gif
尤其明显(HTML5 视频不是由于某种原因同样糟糕)。
图像是通过使用 jQuerys .css()
设置 div 的 background-image
css 属性来加载的,没有任何阻塞事件或 sleep /等待时间直到加载图像。
奇怪的是,在 OSX 上,滚动(使用 Macbook 触控板)暂时缓解暂停/减速,即使在全屏时也是如此(OSX 浏览器为触控板留有摆动空间),这让我认为这是渲染或资源分配的问题某种。感觉浏览器没有重绘的必要,只是因为滚动才被迫重绘。
我想强制它不断重绘,60 FPS。
最佳答案
问题在于加载大量大图像 并在应用程序中显示它们。 您可以尝试图像延迟加载概念,即在您滚动窗口时立即加载/获取图像。
可能是这个link会有帮助的。该插件将在用户滚动时负责加载图像,并且非常易于使用。
有人可以试试 WebWorker 的概念.它在 javascript 中的多线程。
关于javascript - 图像加载似乎减慢了 Javascript 的执行速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34695972/