Должна ли GD так много памяти при изменении размера?

У меня есть сценарий изменения размера, который я сделал на PHP, который использует GD (у моего VPS нет установленного образа imagemagick), чтобы изменить размер изображения, я недавно начал получать ошибки памяти, поэтому я увеличил memory_limit до 50 Мб и все еще получаю ошибку памяти.

Изображение, которое я пытаюсь изменить, составляет всего 2 Мб, это правильно для файлов изображений PHP, что-то звучит немного неправильно для меня.

Related of "Должна ли GD так много памяти при изменении размера?"

Чтобы изменить размер изображения, GD должен работать с несжатым изображением, которое, как я полагаю, значительно превышает 2 МБ. Imagemagick должен хранить все данные изображения (пиксели * бит_депт) и еще немного для фактической работы в памяти.

50 мегабайт не так много для работы с изображениями. Например, Drupal предупреждает вас, если вы имеете ограничение на менее чем 96 МБ памяти, если у вас есть изменение размера изображения и т. Д.. Для изображений с достаточным размером 64 МБ достаточно по моему опыту, но если вы поместите изображения полного размера с цифровой камеры, у вас возникнут проблемы с этим ограничением памяти.

На моем общем / облачном хостинге (2,7 £ / месяц) я все еще не видел никаких предупреждений / ошибок при изменении размеров изображений. Я установил ограничение на 200 МБ (иногда пользователям нужно загружать очень большие изображения). Как сказал Фабиан, я думаю, что 50 слишком низко.