Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
图像加载似乎会降低Javascript的执行速度_Javascript_Jquery_Css_Html_Image - Fatal编程技术网

图像加载似乎会降低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

我正在开发一个简单的web应用程序,纯Javascript

核心功能之一是加载和查看图像

当加载大量大图像时,脚本执行通常会减慢甚至停止,直到其中一些图像加载完毕,这在大
.gif
s(HTML5视频由于某些原因没有那么糟糕)中尤其明显

通过使用jQuerys
.css()
设置divs的
背景图像
css属性来加载图像,在加载图像之前没有任何类型的阻塞事件或睡眠/等待时间

奇怪的是,在OSX上,滚动(使用Macbook trackpad)暂时缓解了暂停/减速,即使在全屏模式下(OSX浏览器为trackpad留出了晃动的空间),这让我觉得这是渲染或某种资源分配的问题。感觉浏览器不需要重画,只是因为滚动而被迫重画


我想强制它以每秒60帧的速度不断重画。

问题在于加载大量大图像并在应用程序中显示它们。 您可以尝试图像延迟加载概念,即在滚动窗口时加载/获取图像

也许这会有帮助。这个插件将负责加载图像时,用户滚动和它非常容易使用


有人可以试试这个概念。它的多线程是javascript。

我想补充一点,不要忘记图像优化。

那么您是否经常在scroll上设置背景图像属性,即使是已经设置了此属性的图像?也许你应该看看延迟加载?@adeneo不在滚动条上,它是:用户输入->加载约20个图像->根据进一步的用户输入(幻灯片等)操作DOM。我也考虑过这个问题,但我还是很好奇:如果浏览器实际上仍然有资源可以渲染,为什么会减慢渲染速度?当浏览器处理许多图像时,渲染需要时间。它不仅与资源有关,还与获取图像然后渲染到UI有关。考虑一个脸谱网的例子,有时即使页面被渲染,图像也需要时间来显示。此外,浏览器对每个选项卡使用单线程(这取决于浏览器),因此会影响性能。也许你可以用一种叫做WebWorker的新概念来寻找一些工作的转机。遗憾的是,这是不可能的,因为这些图片不是来自我(任何地方的热链接都取决于用户的输入)。我想这一次是不可能的。