If-Koubou

Защо копирането на голямо изображение в клипборда ще замрази компютъра?

Защо копирането на голямо изображение в клипборда ще замрази компютъра? (Как да)

Понякога нещо наистина странно се случва, когато използвате нашите компютри, които нямат никакъв смисъл ... като копиране на просто изображение в клипборда и компютъра, замръзващи заради него. Изображението е изображение, нали? Днешната публикация на SuperUser е отговорът на разтревожената дилема на читателя.

Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори.

Оригиналното изображение е предоставено от Wikimedia.

Въпроса

Reader на SuperUser Joban Dhillon иска да знае защо копирането на изображение в клипборда на компютъра му го замразява:

Бях объркана с някои изображения на височина карта и намерих това:

(http://upload.wikimedia.org/wikipedia/commons/1/15/Srtm_ramp2.world.21600×10800.jpg)

Изображението е 21 600 * 10 800 пиксела. Когато щракнете с десния бутон на мишката и изберете "Копиране на изображение" в моя браузър (използвам Google Chrome), той забавя компютъра ми, докато замръзне. След това трябва да рестартирам. Любопитен съм защо се случва това. Предполагам, че е размерът на изображението, въпреки че е само около 6 MB, когато се запазва на компютъра ми. Аз също използвам Windows 8.1

Защо едно просто изображение ще замрази компютъра на Joban след като го копира в клипборда?

Отговорът

Сътрудникът на SuperUser Mokubai има отговор за нас:

"Копиране на изображение" копира в клипборда необработените изображения, а не самият файл с изображения.

Суровите данни за изображението ще бъдат 21 600 x 10 800 x 3 (24-битово изображение) = 699 840 000 байта данни. Това е приблизително 700 MB данни, които браузърът ви се опитва да копира в клипборда.

JPEG компресира суровите данни, като използва загубен алгоритъм и може да получи доста добра компресия. Оттук и сгъстен Файлът е само 6 MB.

Причината, поради която компютърът ви е бавен, е, че вероятно той запълва паметта ви с най-малко 700 MB данни от изображения, които браузърът ви използва, за да ви покаже изображението, още 700 MB (заедно с каквото и да е такова от клипборда) тя в клипборда и незначително количество мощност за преобразуване на изображението във формат, който може да се съхранява в клипборда.

Шансовете са, че ако имате по-малко от 4 GB физическа памет, тогава тези копия на данните за изображението принуждават компютъра ви да пренасочи паметта към суаповия файл в опит да изпълни едновременно двете искания за паметта. Това ще доведе до забавяне на програмите и достъпа до дисковете, тъй като те използват диска и се опитват да използват данните, които току-що са били прехвърлени.

Накратко: Не използвайте клипборда за огромни изображения, освен ако не разполагате с много памет и малко време да пощадите.

Като хубави графики? Това се случва, когато зареждам това изображение в Google Chrome, а след това го копирай в клипборда на моята машина с 12 GB RAM:

Той се зарежда в долната точка, използвайки 2,8 GB RAM, зареждайки изображението, удря до 3,6 GB (приблизително 700 MB), след което го копира в клипборните шипове нагоре там на 6,3 GB RAM, преди да се установи назад в 4.5-ти, което бихте очаквали да видите за програма и две копия на доста голям образ.

Това е огромен 3.7 ГБ изображения, обработвани в пика, което вероятно е първоначалното изображение, запазено количество за клипборда и може би няколко буфера за преобразуване. Това е достатъчно, за да донесе на колене всяка машина с по-малко от 8 GB RAM.

Странно, да правите едно и също нещо в Firefox, просто копира изображението досие вместо изображението данни (без страховита вълна на паметта).

Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.