If-Koubou

Dlaczego kopiowanie dużego obrazu do schowka Blokuje komputer?

Dlaczego kopiowanie dużego obrazu do schowka Blokuje komputer? (Jak)

Czasami zdarza się coś naprawdę dziwnego podczas korzystania z naszych komputerów, które nie ma żadnego sensu ... np. Kopiowanie prostego obrazu do schowka i zamrażanie komputera z tego powodu. Obraz jest obrazem, prawda? Dzisiejszy post SuperUser ma odpowiedź na zaintrygowaną dylematę czytelnika.

Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, społecznościowego forum z pytaniami i odpowiedziami.

Oryginalny obraz dzięki uprzejmości Wikimedia.

Pytanie

Czytnik SuperUser Joban Dhillon chce wiedzieć, dlaczego kopiowanie obrazu do schowka na jego komputerze zawiesza się:

Robiłem zdjęcia z mapami wysokości i znalazłem to:

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

Obraz ma rozmiar 21 600 * 10 800 pikseli. Kiedy klikam prawym przyciskiem myszy i wybieram "Kopiuj obraz" w mojej przeglądarce (używam przeglądarki Google Chrome), spowalnia mój komputer, aż do jego zawieszenia. Potem muszę zrestartować. Ciekawi mnie, dlaczego tak się dzieje. Przypuszczam, że jest to rozmiar obrazu, chociaż jest to tylko około 6 MB, gdy zapisano go na moim komputerze. Używam również systemu Windows 8.1

Dlaczego prosty obraz zamroziłby komputer Jobana po skopiowaniu go do schowka?

Odpowiedź

Pomocnik SuperUser Mokubai ma dla nas odpowiedź:

"Kopiuj obraz" kopiuje dane surowego obrazu, a nie sam plik graficzny do schowka.

Dane surowego obrazu będą 21,600 x 10,800 x 3 (obraz 24-bitowy) = 699,840 000 bajtów danych. To około 700 MB danych, które przeglądarka próbuje skopiować do schowka.

JPEG kompresuje surowe dane za pomocą stratnego algorytmu i może uzyskać całkiem dobrą kompresję. Stąd sprężony plik ma tylko 6 MB.

Powodem, dla którego spowalnia to komputer, jest prawdopodobnie zapełnienie pamięci co najmniej 700 MB danych obrazu, które używa twoja przeglądarka, aby pokazać obraz, kolejne 700 MB (wraz z jakimkolwiek obciążeniem schowka) do przechowywania to w schowku, a także niewielka ilość mocy przetwarzania, aby przekonwertować obraz na format, który można przechowywać w schowku.

Jest możliwe, że jeśli masz mniej niż 4 GB fizycznej pamięci RAM, to te kopie danych obrazu zmuszają twój komputer do przeniesienia pamięci strony do pliku wymiany w celu spełnienia obu żądań pamięci w tym samym czasie. Spowoduje to spowolnienie programów i dostępu do dysków podczas korzystania z dysku i spróbowanie użyć danych, które zostały właśnie stronicowane.

W skrócie: nie używaj schowka do wielkich obrazów, chyba że masz dużo pamięci i trochę wolnego czasu.

Jak ładne wykresy? Tak dzieje się po załadowaniu tego obrazu w przeglądarce Google Chrome, a następnie skopiowaniu go do schowka na moim komputerze z 12 GB pamięci RAM:

Zaczyna się w niższym punkcie, używając 2,8 GB pamięci RAM, ładowanie obrazu dziurkuje go do 3,6 GB (około 700 MB), a następnie kopiowanie go do szczytów schowka w górze, przy użyciu 6,3 GB pamięci RAM, a następnie powrót do poprzedniego poziomu. 4,5-krotnie można się spodziewać po programie i dwóch kopiach dość dużego obrazu.

To jest imponujące 3,7 GB danych obrazu, nad którymi pracuje się na szczycie, co jest prawdopodobnie początkowym obrazem, zarezerwowaną ilością dla schowka i być może kilkoma buforami konwersji. To wystarczy, aby każda maszyna z mniej niż 8 GB pamięci RAM była na kolana.

O dziwo, robienie tego samego w Firefoksie po prostu kopiuje obraz plik raczej niż obraz dane (bez strasznego przypływu pamięci).

Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.