Skip to content

Dlaczego kopiowanie dużego obrazu do schowka miałoby zamrażać komputer?

4 de sierpień de 2021
whywouldcopyingalargeimagetotheclipboardfreezeacomputer00

Czasami podczas korzystania z naszych komputerów dzieje się coś naprawdę dziwnego, co w ogóle nie ma sensu… na przykład kopiowanie prostego obrazu do schowka i zawieszanie się komputera z tego powodu. Obraz to obraz, prawda? Dzisiejszy post SuperUser zawiera odpowiedź na dylemat zdziwionego czytelnika.

Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser — pododdziału Stack Exchange, społecznościowej grupy witryn internetowych 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 go:

Bawiłem się kilkoma obrazami mapy wysokości i znalazłem ten:

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

1628057902 996 Dlaczego kopiowanie duzego obrazu do schowka mialoby zamrazac komputer

Obraz ma rozmiar 21600*10800 pikseli. Kiedy klikam prawym przyciskiem myszy i wybieram „Kopiuj obraz” w mojej przeglądarce (używam Google Chrome), spowalnia mój komputer, aż się zawiesi. Po tym muszę ponownie uruchomić. Jestem ciekaw, dlaczego tak się dzieje. Przypuszczam, że jest to rozmiar obrazu, chociaż po zapisaniu na moim komputerze to tylko około 6 MB. Używam również Windows 8.1

Dlaczego prosty obraz miałby zamrażać komputer Jobana po skopiowaniu go do schowka?

Odpowiedź

Współtwórca SuperUser Mokubai ma dla nas odpowiedź:

„Kopiuj obraz” kopiuje surowe dane obrazu, a nie sam plik obrazu, do schowka.

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

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

Powodem, dla którego twój komputer działa wolno, jest to, że prawdopodobnie wypełnia on twoją pamięć co najmniej 700 MB danych obrazu, których twoja przeglądarka używa do wyświetlenia obrazu, kolejne 700 MB (wraz z tym, co obciąża schowek) do przechowywania znajduje się w schowku i nie jest nieznaczna ilość mocy obliczeniowej do konwersji obrazu na format, który można przechowywać w schowku.

Istnieje szansa, że ​​jeśli masz mniej niż 4 GB fizycznej pamięci RAM, te kopie danych obrazu wymuszają na komputerze stronicowanie pamięci do pliku wymiany, próbując jednocześnie spełnić oba wymagania dotyczące pamięci. Spowoduje to, że programy i dostęp do dysku będą spowolnione, ponieważ będą korzystać z dysku i próbować użyć danych, które mogły zostać właśnie stronicowane.

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

Lubisz ładne wykresy? Oto, co się dzieje, gdy załaduję ten obraz w Google Chrome, a następnie skopiuję go do schowka na moim komputerze z 12 GB pamięci RAM:

1628057902 280 Dlaczego kopiowanie duzego obrazu do schowka mialoby zamrazac komputer

Zaczyna się w najniższym punkcie, używając 2,8 GB pamięci RAM, ładowanie obrazu powoduje wybicie go do 3,6 GB (około 700 MB), a następnie kopiowanie go do schowka wznosi się do 6,3 GB pamięci RAM, zanim opadnie z powrotem na 4.5-ish można by się spodziewać po programie i dwóch kopiach dość dużego obrazu.

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

O dziwo, robienie tego samego w Firefoksie po prostu kopiuje obraz plik a nie obraz dane (bez przerażającego przypływu pamięci).

Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych doświadczonych technologicznie użytkowników Stack Exchange? Sprawdź pełny wątek dyskusji tutaj.

Czy ten post był pomocny?