Как уменьшить влияние большого объема памяти на загружаемые маленькие изображения? - PullRequest
2 голосов
/ 19 апреля 2020

Я создаю массив поверхностей (предварительно повернутых или с обработкой перед эффектом), и все равно он работает прекрасно и очень быстро для python. Однако я заметил, что используется огромное количество памяти, и проследил это до фундаментальной загрузки исходного изображения или создания поверхностной копии.

Образ, который я тестирую, представляет собой файл PNG размером 65 КБ на диске. Загрузка изображения или копирование поверхности с этим же изображением приводит к дополнительному использованию памяти в 1,2 Мб. Я мог понять 2,3,4x, но 20x? Поэтому предварительная загрузка solid небольших изображений для ускорения звучит хорошо, пока я не пойму это влияние памяти. net - это если я предварительно повернул это изображение на 5 градусов, иначе 72 изображения (360/5) python Память изображений находится на 100 МБ, не считая обычных служебных данных модулей и т. Д. c ... Это выглядит довольно на самом деле невероятно.

Кто-нибудь получил какие-либо идеи относительно того, почему / как / советы / хитрости и т. Д. c ...?

1 Ответ

0 голосов
/ 20 апреля 2020

Найден такой ответ, который сильно помогает. Похоже, что глубина загрузки подпрограммы загрузки изображения напрямую связана с битовой глубиной display.set_mode, которая в моей системе является 32-битной по умолчанию, в основном форсируя 32-битную глубину для всех загружаемых изображений. Учитывая, что мне нужна только максимальная 16-битная глубина на дисплее, а также изображения, это увеличило размер примерно до 7x или около того. Все еще больше, чем я думаю, разумно, но делает то, что я пытаюсь сделать, в пределах возможного.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...