Защо да копирате голямо изображение в клипборда да замрази компютъра?
Понякога се случва нещо наистина странно, когато използваме нашите компютри, което изобщо няма смисъл… като например копиране на просто изображение в клипборда и компютъра, който се замразява поради това. Изображението е изображение, нали? Днешната публикация на SuperUser има отговор на озадачена дилема на читателя.
Днешната сесия за въпроси и отговори идва при нас с любезното съдействие на SuperUser - подразделение на Stack Exchange, групирано от общността уеб сайтове за въпроси и отговори.
Оригинално изображение, предоставено от Wikimedia.
Въпроса
Четецът на SuperUser Joban Dhillon иска да знае защо копирането на изображение в клипборда на компютъра го замразява:
Забърквах се с някои изображения с карта на височината и намерих това:
(http://upload.wikimedia.org/wikipedia/commons/1/15/Srtm_ramp2.world.21600×10800.jpg)
Изображението е с размер 21 600 * 10 800 пиксела. Когато щракнете с десния бутон и изберете „Copy Image“ в моя браузър (използвам Google Chrome), той забавя компютъра ми, докато не замръзне. След това трябва да рестартирам. Любопитен съм защо това се случва. Предполагам, че е размерът на изображението, въпреки че той е само около 6 MB, когато е записан на моя компютър. Също използвам Windows 8.1
Защо просто изображението замрази компютъра на Джован след копирането му в клипборда?
Отговорът
Сътрудникът на SuperUser Mokubai има отговор за нас:
"Копиране на изображение" копира суровите данни с изображения, а не самия файл с изображения, в клипборда.
Суровите данни за изображения ще бъдат 21,600 x 10,800 x 3 (24 битов образ) = 699,840,000 байта данни. Това са приблизително 700 MB данни, които браузърът ви се опитва да копира в клипборда.
JPEG компресира суровите данни, като използва алгоритъм за загуба и може да получи доста добра компресия. Следователно сгъстен файлът е само 6 MB.
Причината, поради която компютърът ви се забавя, е, че вероятно зареждате паметта ви с поне 700 МБ графични данни, които браузърът ви използва, за да ви покаже изображението, а други 700 MB (заедно с каквито и да било режийни клипборда) се съхраняват в клипборда и незначително количество процесорна мощ за преобразуване на изображението във формат, който може да се съхранява в клипборда.
Шансовете са, че ако имате по-малко от 4 GB физическа оперативна памет, тогава тези копия на данните от изображението принуждават компютъра ви да прехвърля паметта на файла за размяна в опит да изпълни едновременно изискванията за памет. Това ще доведе до забавяне на достъпа на програми и дискове, тъй като те използват диска и се опитват да използват данните, които току-що са били изпратени.
Накратко: Не използвайте клипборда за огромни изображения, освен ако имате много памет и малко време, за да спестите.
Като красиви графики? Това се случва, когато заредя това изображение в Google Chrome, след което го копирам в клипборда на моята машина с 12 GB RAM:
Стартира се в долната точка, използвайки 2,8 GB RAM, зареждайки изображението до 3,6 GB (приблизително 700 MB), след което го копира в клипборда с шипове нагоре с 6,3 GB RAM, преди да се установи обратно. 4.5-ish бихте очаквали да видите за програма и две копия на доста голямо изображение.
Това са огромни 3,7 GB данни за изображения, които се обработват на върха, което вероятно е първоначалното изображение, запазено количество за клипборда и може би няколко буфера за преобразуване. Това е достатъчно, за да донесе на колене всяка машина с по-малко от 8 GB оперативна памет.
Странно е, че правите едно и също нещо във Firefox просто копира изображението досие вместо изображението данни (без страшното избухване на паметта).
Имате ли какво да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други технологични потребители на Stack Exchange? Вижте пълната тема за дискусия тук.