Лучший тип изображения для GD? - PullRequest
0 голосов
/ 25 октября 2009

Я использую библиотеку GD для добавления текста в изображение PNG формы, которое я использую для создания PDF. Мои тесты показывают, что при использовании PNG большая нагрузка на сервер просто не выполняется, однако я обеспокоен масштабируемостью.

Таким образом, мой вопрос заключается в том, имеет ли работа с одним типом файла больше издержек, чем у любого другого?

Ответы [ 4 ]

7 голосов
/ 25 октября 2009

У вас есть три варианта:

  • GIF: большинство обратно совместимых, без потерь;
  • PNG: лучшие коэффициенты сжатия, чем GIF, некоторые проблемы в некоторых браузерах (например, прозрачность в IE6); и
  • JPG: формат с потерями, обычно используемый для фотографий.

Таким образом, вы должны выбрать, что подходит для того, что вы делаете. Я думаю, вам придется сделать много (например, тысячи), прежде чем различия в процессорах будут иметь значение. Из них GIF, вероятно, является наименьшим, а PNG - наиболее (из-за алгоритма сжатия) с JPG в середине. Но я не могу представить, что разница будет существенной.

1 голос
/ 25 октября 2009

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

Если у вас более 256 цветов, вам понадобится PNG, но если вы используете меньше этого, то почему бы просто не использовать GIF и получить преимущество поддержки в большем количестве браузеров, если это проблема.

1 голос
/ 25 октября 2009

Существует много факторов, которые определяют накладные расходы независимо от типа файла.

Реальная реализация алгоритма будет иметь большое влияние на производительность. Например, даже если растровое изображение является простым форматом, плохо написанная программа может работать хуже, чем оптимизированная библиотека jpg, даже если она использует преобразования Фурье.

Другим фактором является дисковый ввод-вывод, который обычно дорог. Зачастую сжатие ЦП занимает меньше времени, чем запись несжатых данных на диск.

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

0 голосов
/ 25 октября 2009

PNG является самым портативным.

Если вы устанавливаете GD, у вас всегда есть поддерживающие библиотеки для PNG.

Это не относится к GIF, JPEG и т. Д.

...