图像加载似乎会降低Javascript的执行速度
我正在开发一个简单的web应用程序,纯Javascript 核心功能之一是加载和查看图像 当加载大量大图像时,脚本执行通常会减慢甚至停止,直到其中一些图像加载完毕,这在大图像加载似乎会降低Javascript的执行速度,javascript,jquery,css,html,image,Javascript,Jquery,Css,Html,Image,我正在开发一个简单的web应用程序,纯Javascript 核心功能之一是加载和查看图像 当加载大量大图像时,脚本执行通常会减慢甚至停止,直到其中一些图像加载完毕,这在大.gifs(HTML5视频由于某些原因没有那么糟糕)中尤其明显 通过使用jQuerys.css()设置divs的背景图像css属性来加载图像,在加载图像之前没有任何类型的阻塞事件或睡眠/等待时间 奇怪的是,在OSX上,滚动(使用Macbook trackpad)暂时缓解了暂停/减速,即使在全屏模式下(OSX浏览器为trackpa
.gif
s(HTML5视频由于某些原因没有那么糟糕)中尤其明显
通过使用jQuerys.css()
设置divs的背景图像
css属性来加载图像,在加载图像之前没有任何类型的阻塞事件或睡眠/等待时间
奇怪的是,在OSX上,滚动(使用Macbook trackpad)暂时缓解了暂停/减速,即使在全屏模式下(OSX浏览器为trackpad留出了晃动的空间),这让我觉得这是渲染或某种资源分配的问题。感觉浏览器不需要重画,只是因为滚动而被迫重画
我想强制它以每秒60帧的速度不断重画。问题在于加载大量大图像并在应用程序中显示它们。 您可以尝试图像延迟加载概念,即在滚动窗口时加载/获取图像 也许这会有帮助。这个插件将负责加载图像时,用户滚动和它非常容易使用
有人可以试试这个概念。它的多线程是javascript。我想补充一点,不要忘记图像优化。那么您是否经常在scroll上设置背景图像属性,即使是已经设置了此属性的图像?也许你应该看看延迟加载?@adeneo不在滚动条上,它是:用户输入->加载约20个图像->根据进一步的用户输入(幻灯片等)操作DOM。我也考虑过这个问题,但我还是很好奇:如果浏览器实际上仍然有资源可以渲染,为什么会减慢渲染速度?当浏览器处理许多图像时,渲染需要时间。它不仅与资源有关,还与获取图像然后渲染到UI有关。考虑一个脸谱网的例子,有时即使页面被渲染,图像也需要时间来显示。此外,浏览器对每个选项卡使用单线程(这取决于浏览器),因此会影响性能。也许你可以用一种叫做WebWorker的新概念来寻找一些工作的转机。遗憾的是,这是不可能的,因为这些图片不是来自我(任何地方的热链接都取决于用户的输入)。我想这一次是不可能的。