Ресрусоемкость imagecreatefrom****

ximka

Новичок
Ресрусоемкость imagecreatefrom****

Есть следующие проблема,
функции типа imagecreatefrom**** при больших размерах картинки требуют значительное количество памяти.

Вопрос: Есть ли в gd другой функционал, который требует меньше ресурсов.

на текущий момент стоит php5+mysql5+gd.bundled (2.0.28 compatible).

Тестировали картинку размером по максимальной стороне более 2500 пикселей, при этом php возвращает ошибку типа:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 7776 bytes).
 

SiMM

Новичок
> Есть ли в gd другой функционал, который требует меньше ресурсов.
Нету.
 

ximka

Новичок
тогда ещё вопрос, для понимания:
может ли кто нить на основе собственного опыта заполнить следующую таблицу:

размер изображения | количество памяти
-----------------------------------------------------------
< 1500 пиксел | 16 Mb
1500 > < 2000 пик | 32 Mb
.....
 

ximka

Новичок
я понимаю. просто чтобы людей сильно не загружать расчетами, вот и написал по максимальной стороне
 

ximka

Новичок
спасибо сейчас почитаю

-~{}~ 02.03.06 19:51:

У меня кстати получилась вот такая таблица

сверху память в МБ, а слева
разрешение по гор. / разрешен. по верт. / произведение

16 32 40
2 500 1 944 4 860 000 0 0 0
2 350 1 763 4 143 050 0 0 0
2 300 1 725 3 967 500 0 0 1
2 200 1 650 3 630 000 0 0 1
2 000 1 500 3 000 000 0 1 1
1 500 1 125 1 687 500 1 1 1
 

ksnk

прохожий
ximka
Так как отношение сторон всех картинок в принципе - одинаковые - то память пропорциональна квадрату максимальной стороны :)
1500^2=2250000
2000^2=4000000 - разница проимерно в 2 раза...
 

Фанат

oncle terrible
Команда форума
к количеству памяти эта таблица не имеет никакого отношкния
для 2500х1944 количество составляет 14 580 000 байт

-~{}~ 02.03.06 15:54:

чтобы людей сильно не загружать расчетами
ты ошибся дверью.
тех, кого такие расчёты затрудняют, здесь за людей вообще не считают
 

ximka

Новичок
Автор оригинала: Фанат
http://phpclub.ru/talk/showthread.php?s=&threadid=26843
почитай, полезно
хорошо конечно.......

в свете этого идей-то немного...

-~{}~ 02.03.06 19:58:

Автор оригинала: Фанат
к количеству памяти эта таблица не имеет никакого отношкния
для 2500х1944 количество составляет 14 580 000 байт

-~{}~ 02.03.06 15:54:


ты ошибся дверью.
тех, кого такие расчёты затрудняют, здесь за людей вообще не считают
спасибо Фанат.

-~{}~ 02.03.06 20:01:

к количеству памяти эта таблица не имеет никакого отношкния
для 2500х1944 количество составляет 14 580 000 байт
тогда вопрос такой же.

тогда ещё вопрос, для понимания:
может ли кто нить на основе собственного опыта заполнить следующую таблицу:
 

Фанат

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

ПОСТАРАЙСЯ вывести формулу сам.
 

ximka

Новичок
тем самым получается что для 3 630 000 хватит 10 890 000
байт памяти, но при этом ему при тесте не хватило и 32 метров

Правда стоит сказать, что я для себя ещё не уяснил слудующее:
32 Mb выдается для каждого пользователя (коннект),
или 32 Mb выдается на весь php?
 

ximka

Новичок
похоже единственное решение, это увелечение памяти
 

ksnk

прохожий
ximka
А тестовый код в студию нельзя?
К примеру связка
PHP:
$img=imagecreatefrom...();
imagejpeg($img...);
съедает в 2 раза больше памяти, чем нужно для одного изображения + размер получившегося jpeg'а.

Еще вариант - использовать Image Magic.

2 Фанат
oops! Sorry!!
 

Фанат

oncle terrible
Команда форума
ksnk
пишешь название продукта - постарайся БЕЗ ОШИБОК
 

Фанат

oncle terrible
Команда форума
блин
один дурак говорит другому правила нарушать, а другой радостно бежит это делать.

ksnk
брысь отсюда.
на коды он не насмотрелся.
 
Сверху