大图像到剪贴板会冻结计算机


16

所以我在弄乱一些高度图图像,发现了其中一个:

http://upload.wikimedia.org/wikipedia/commons/1/15/Srtm_ramp2.world.21600x10800.jpg

当我在浏览器中右键单击“复制图像”(我使用的是chrome)时,此图像为21600x10800,它会降低计算机的速度,直到死机。之后,我必须重新启动。我想知道为什么会发生这种情况,我想它是图像的大小,尽管保存时只有大约6mb。

我也在使用Windows 8.1

Answers:


21

“复制图像”是将原始图像数据而非图像文件本身复制到剪贴板。

原始图像数据将为21600 x 10800 x 3(24位图像)= 699,840,000字节数据。您的浏览器尝试在剪贴板上戳入大约700MB的数据。

JPEG使用有损算法压缩原始数据,并且可以获得很好的压缩效果。因此,压缩文件只有6MB。

它使您的计算机运行缓慢的原因是,它可能至少用浏览器用来显示图像的700MB图像数据来填充内存,另外700MB(连同剪贴板产生的所有开销)将其存储在计算机上。剪贴板,以及将图像转换为可以存储在剪贴板上的格式的处理能力并不低。

如果您的物理RAM少于4GB或更少,则这些映像数据副本可能会迫使您的计算机将内存分页到交换文件中,以尝试同时满足这两种内存需求。这将导致程序和磁盘访问缓慢,因为它们使用磁盘并尝试使用可能刚刚被调出的数据。

简而言之:除非有足够的存储空间和时间,否则不要将剪贴板用于大图像。

喜欢漂亮的图吗?当我在Chrome中加载该图像,然后将其复制到具有12GB RAM的计算机上的剪贴板时,会发生以下情况:

在此处输入图片说明

它从较低的点开始使用2.8GB的RAM,加载图像后将其最大填充为3.6GB(大约700MB),然后将其复制到剪贴板,在6.3GB的RAM处达到峰值,然后再向下放置。您希望看到一个程序具有4.5-ish的功能,以及一个较大图像的两个副本。

峰值时需要处理多达3.7GB的图像数据,这可能是初始图像,为剪贴板保留的数量以及两个转换缓冲区。这足以使任何具有少于8GB RAM的计算机屈服。

奇怪的是,在Firefox中这样做只是复制图像文件,而不是复制图像数据,而不会造成可怕的内存激增。


Mokubai拥有它的权利。该图像会使大多数计算机的剪贴板变得异常混乱。如果需要将该图像放置到某个位置,则应保存它,或右键单击并使用“复制图像位置”命令。
TorpedoBench 2014年

我在Windows 7上有一个伙伴。他只报告了1-3秒的延迟。我只是要问他什么浏览器和多少内存。
Joban Dhillon

是的 在我的机器上,它几乎是即时的,但是那时我有相当多的RAM。如果您的内存不足8GB,那么如果您的计算机出现问题,我也不会感到惊讶。
Mokubai

@Mokubai:我并不完全相信。它不需要下载700 MB的文件即可将700 MB的数据发送到剪贴板吗?而且,正如我尝试过的那样,该文件肯定小于700MB。
shortstheory 2014年

1
@shortstheory文件本身只有7mb,但由于是jpg图像,因此已高度压缩。实际图像数据约为700mb。您在7mb下载中看到的是图片的压缩表示形式,对于要实际查看图像的任何程序,必须首先将其解压缩,并且将数据(而不是文件本身)放在剪贴板上。
Mokubai
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.