Домашняя » как » Зачем копировать большое изображение в буфер обмена, чтобы заморозить компьютер?

    Зачем копировать большое изображение в буфер обмена, чтобы заморозить компьютер?

    Иногда при использовании наших компьютеров происходит что-то действительно странное, что вообще не имеет смысла ... например, копирование простого изображения в буфер обмена и зависание компьютера из-за этого. Изображение есть изображение, верно? Сегодняшний пост SuperUser имеет ответ на дилемму озадаченного читателя.

    Сегодняшняя сессия вопросов и ответов пришла к нам благодаря SuperUser - подразделению Stack Exchange, группе веб-сайтов вопросов и ответов, управляемой сообществом..

    Оригинальное изображение предоставлено Викимедиа.

    Вопрос

    Читатель SuperUser Джобан Диллон хочет знать, почему копирование изображения в буфер обмена на его компьютере замораживает его:

    Я возился с некоторыми изображениями карты высот и нашел это:

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

    Размер изображения 21 600 * 10 800 пикселей. Когда я щелкаю правой кнопкой мыши и выбираю «Копировать изображение» в моем браузере (я использую Google Chrome), он замедляет мой компьютер, пока он не зависнет. После этого я должен перезагрузить. Мне интересно, почему это происходит. Я предполагаю, что это размер изображения, хотя при сохранении на моем компьютере он составляет всего около 6 МБ. Я также использую Windows 8.1

    Почему простое изображение зависает на компьютере Джобана после копирования в буфер обмена??

    Ответ

    У автора SuperUser Мокубая есть ответ для нас:

    «Копировать изображение» копирует необработанные данные изображения, а не сам файл изображения, в буфер обмена.

    Необработанные данные изображения будут иметь размер 21 600 x 10 800 x 3 (24-битное изображение) = 699 840 000 байт данных. Это примерно 700 МБ данных, которые ваш браузер пытается скопировать в буфер обмена..

    JPEG сжимает необработанные данные с использованием алгоритма с потерями и может получить довольно хорошее сжатие. Следовательно сжатый файл всего 6 МБ.

    Причина, по которой ваш компьютер работает медленно, заключается в том, что он, вероятно, заполняет вашу память как минимум 700 МБ графических данных, которые ваш браузер использует для показа изображения, еще 700 МБ (вместе со всеми накладными расходами буфера обмена) для хранения. это в буфере обмена, и немалая мощность процессора для преобразования изображения в формат, который может быть сохранен в буфере обмена.

    Скорее всего, если у вас менее 4 ГБ физической ОЗУ, то эти копии данных образа вынуждают ваш компьютер перенести память в файл подкачки, пытаясь одновременно удовлетворить обе потребности в памяти. Это приведет к замедлению работы программ и доступа к диску, поскольку они используют диск и пытаются использовать данные, которые только что были выгружены.

    Короче говоря: не используйте буфер обмена для больших изображений, если у вас есть много памяти и немного времени, чтобы сэкономить.

    Нравится красивые графики? Вот что происходит, когда я загружаю это изображение в Google Chrome, а затем копирую его в буфер обмена на моей машине с 12 ГБ ОЗУ:

    Он начинается в нижней точке с использованием 2,8 ГБ ОЗУ, загрузка изображения обрезает его до 3,6 ГБ (примерно 700 МБ), а затем копирует его в буфер обмена, поднимаясь туда на 6,3 ГБ ОЗУ, прежде чем вернуться к 4.5-дюймовая версия, которую вы ожидаете увидеть для программы и двух копий довольно большого изображения.

    Это колоссальные 3,7 ГБ данных изображения, которые обрабатываются на пике, что, вероятно, является исходным изображением, зарезервированным количеством для буфера обмена и, возможно, парой буферов преобразования. Этого достаточно, чтобы поставить на колени любую машину с объемом оперативной памяти менее 8 ГБ..

    Странно, делая то же самое в Firefox просто копирует изображение файл а не изображение данные (без страшного всплеска памяти).


    Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.