Gambar besar ke clipboard membekukan komputer

16

Jadi saya bermain-main dengan beberapa gambar peta ketinggian dan menemukan ini:

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

Gambar ini adalah 21600x10800 ketika saya mengklik kanan "salin gambar" dari browser saya (saya menggunakan chrome) memperlambat komputer saya sampai membeku. Setelah itu saya harus restart. Saya ingin tahu mengapa ini terjadi saya menganggap itu adalah ukuran gambar, semua itu hanya sekitar 6MB ketika disimpan.

Saya juga menggunakan Windows 8.1

Joban Dhillon
sumber

Jawaban:

21

'Salin Gambar' menyalin data gambar mentah, bukan file gambar itu sendiri, ke papan klip Anda.

Data gambar mentah akan menjadi 21600 x 10800 x 3 (gambar 24 bit) = 699.840.000 byte data. Itu sekitar 700MB data yang dicoba browser Anda untuk dicungkil ke clipboard.

JPEG memampatkan data mentah menggunakan algoritma lossy dan bisa mendapatkan kompresi yang cukup bagus. Karenanya file terkompresi hanya 6MB.

Alasannya membuat komputer Anda lambat adalah karena mungkin mengisi memori Anda dengan setidaknya 700MB gambar gambar yang digunakan browser Anda untuk menunjukkan gambar, 700MB lain (bersama dengan apa pun overhead clipboard dikeluarkan) untuk menyimpannya di clipboard dan jumlah kekuatan pemrosesan yang tidak signifikan untuk mengubah gambar menjadi format yang dapat disimpan di clipboard.

Kemungkinannya adalah jika Anda memiliki RAM fisik kurang dari 4GB atau lebih, maka salinan data gambar memaksa komputer Anda untuk mengeluarkan memori halaman ke file swap dalam upaya untuk memenuhi kedua tuntutan memori pada saat yang sama. Ini akan menyebabkan program dan akses disk menjadi lamban karena mereka menggunakan disk dan mencoba menggunakan data yang mungkin baru saja dikeluarkan.

Singkatnya: jangan gunakan clipboard untuk gambar besar kecuali Anda memiliki banyak memori dan sedikit waktu luang.

Suka grafik cantik? Inilah yang terjadi ketika saya memuat gambar itu di Chrome dan kemudian menyalinnya ke clipboard di komputer saya dengan RAM 12GB:

masukkan deskripsi gambar di sini

Ini dimulai pada titik yang lebih rendah menggunakan 2.8GB RAM, memuat gambar meninju hingga 3.6GB (kira-kira mungkin 700MB), kemudian menyalinnya ke paku clipboard jauh di sana di 6.3 GB RAM sebelum menetap kembali di 4,5-ish yang Anda harapkan untuk melihat sebuah program dan dua salinan dari gambar yang agak besar.

Itu adalah data gambar 3,7GB yang sedang dikerjakan di puncak, yang mungkin merupakan gambar awal, jumlah yang disediakan untuk clipboard dan mungkin beberapa buffer konversi. Itu cukup untuk membuat mesin apa pun dengan RAM kurang dari 8GB.

Anehnya melakukan hal yang sama di Firefox hanya menyalin file gambar daripada data gambar tanpa lonjakan memori yang menakutkan.

Mokubai
sumber
Mokubai berhak untuk itu. Gambar ini akan membuat clipboard komputer paling aneh. Jika Anda perlu mendapatkan gambar itu ke suatu lokasi, Anda harus menyimpannya, atau klik kanan dan gunakan perintah "Salin lokasi gambar".
TorpedoBench
Saya punya teman melakukannya di Windows 7. Dia melaporkan hanya 1-3 detik. Saya hanya harus bertanya kepadanya apa browser dan berapa banyak RAM.
Joban Dhillon
Ya. Di mesin saya, itu hampir instan, tetapi kemudian saya memiliki jumlah RAM yang cukup besar. Jika Anda memiliki kurang dari 8GB maka saya tidak akan terkejut jika mesin Anda kesulitan.
Mokubai
@Mokubai: Saya tidak sepenuhnya yakin. Tidakkah perlu mengunduh file 700 MB untuk mendapatkan 700 MB ke clipboard? Dan, seperti yang saya coba, file itu pasti lebih kecil dari 700MB.
cerita pendek
1
@shortstheory file itu sendiri hanya 7mb tetapi sangat terkompresi karena merupakan gambar jpg. Data gambar aktual sekitar 700mb. Apa yang Anda lihat dalam unduhan 7mb adalah representasi gambar yang dikompres, untuk setiap program yang benar-benar melihat gambar itu harus dikompresi terlebih dahulu dan data (bukan file itu sendiri) yang diletakkan di clipboard.
Mokubai