La imagen grande en el portapapeles congela la computadora

16

Así que estaba jugando con algunas imágenes de mapas de altura y encontré esta:

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

Esta imagen es 21600x10800 cuando hago clic derecho en "copiar imagen" desde mi navegador (estoy usando Chrome), ralentiza mi computadora hasta que se congela. Después de eso debo reiniciar. Tengo curiosidad por saber por qué sucede esto. Supongo que es el tamaño de la imagen, aunque solo son unos 6 MB cuando se guardan.

También estoy usando Windows 8.1

Joban Dhillon
fuente

Respuestas:

21

'Copiar imagen' está copiando los datos de la imagen en bruto, en lugar del archivo de imagen en sí, en su portapapeles.

Los datos de la imagen sin procesar serán 21600 x 10800 x 3 (imagen de 24 bits) = 699,840,000 bytes de datos. Eso es aproximadamente 700 MB de datos que su navegador está tratando de meter en el portapapeles.

JPEG comprime los datos sin procesar utilizando un algoritmo con pérdida y puede obtener una compresión bastante buena. Por lo tanto, el archivo comprimido tiene solo 6 MB.

La razón por la que hace que su computadora sea lenta es que probablemente esté llenando su memoria con al menos los datos de imagen de 700 MB que su navegador está usando para mostrarle la imagen, otros 700 MB (junto con cualquier sobrecarga que incurre el portapapeles) para almacenarla en el portapapeles y una cantidad no insignificante de potencia de procesamiento para convertir la imagen a un formato que pueda almacenarse en el portapapeles.

Lo más probable es que si tiene menos de 4 GB o menos de RAM física, esas copias de los datos de la imagen están obligando a su computadora a buscar memoria en el archivo de intercambio en un intento de cumplir con ambas demandas de memoria al mismo tiempo. Esto hará que los programas y los accesos al disco sean lentos a medida que usan el disco e intentan usar los datos que pueden haberse paginado.

En resumen: no use el portapapeles para grandes imágenes a menos que tenga mucha memoria y un poco de tiempo libre.

¿Te gustan los gráficos bonitos? Esto es lo que sucede cuando cargo esa imagen en Chrome y luego la copio al portapapeles de mi máquina con 12 GB de RAM:

ingrese la descripción de la imagen aquí

Comienza en el punto inferior usando 2.8GB de RAM, cargando la imagen la perfora hasta 3.6GB (aproximadamente quizás los 700MB), luego copiándola en los picos del portapapeles hasta 6.3 GB de RAM antes de volver a asentarse en el 4.5-ish esperaría ver para un programa y dos copias de una imagen bastante grande.

Se trata de la increíble cantidad de 3,7 GB de datos de imagen que se están trabajando en el pico, que probablemente sea la imagen inicial, una cantidad reservada para el portapapeles y quizás un par de buffers de conversión. Eso es suficiente para poner de rodillas a cualquier máquina con menos de 8 GB de RAM.

Extrañamente, hacer lo mismo en Firefox simplemente copia el archivo de imagen en lugar de los datos de la imagen sin el aumento repentino de la memoria.

Mokubai
fuente
Mokubai tiene el derecho de hacerlo. Esta imagen haría que la mayoría de los portapapeles de la computadora se asusten. Si necesita llevar esa imagen a una ubicación, debe guardarla o hacer clic derecho y usar el comando "Copiar ubicación de imagen".
TorpedoBench
Tuve un amigo que lo hizo en Windows 7. Informó solo un retraso de 1-3 segundos. Solo tengo que preguntarle qué navegador y cuánta RAM.
Joban Dhillon
Si. En mi máquina fue casi instantáneo, pero luego tengo una cantidad bastante grande de RAM. Si tiene menos de 8 GB, no me sorprendería si su máquina tuviera problemas.
Mokubai
@Mokubai: No estoy completamente convencido. ¿No necesitaría descargar un archivo de 700 MB para llevar 700 MB al portapapeles? Y, como he probado, ese archivo es definitivamente más pequeño que 700MB.
shortstheory
1
@shortstheory el archivo en sí es de solo 7 MB, pero está muy comprimido, ya que es una imagen jpg. Los datos reales de la imagen son aproximadamente 700mb. Lo que ves en la descarga de 7mb es una representación comprimida de la imagen, para que cualquier programa pueda ver la imagen, primero debe descomprimirse y son esos datos (no el archivo en sí) los que se colocan en el portapapeles.
Mokubai