Скорость создания PNG в PHP средствами GD
Меня сейчас очень интересует, стоит ли работать с изображениями в PHP. Сомнения вызывает не возможности работы с библиотекой GD, а скорость создания PNG-изображений.
Для этого я создал небольшой PHP-скрипт, который генерирует случайный массив чисел с координатами для шестиугольника. А этот шестиугольник рисуется на изображении размером 250×250 px, которое сохраняется в файл. Скрипт работает в течение 10 секунд. Несколько раз запуская этот скрипт, который генерирует сотни изображений, я могу получить среднюю производительность (изображений в секунду).
Сам скрипт:
// current time $time = time(); // create dir mkdir ('test/' . $time, 0777); // min and max values $min = 0; $max = 250; // i $i = 0; while (time() < $time + 10) { // set up array of points for polygon $values = array( rand($min,$max), rand($min,$max), // Point 1 (x, y) rand($min,$max), rand($min,$max), // Point 2 (x, y) rand($min,$max), rand($min,$max), // Point 3 (x, y) rand($min,$max), rand($min,$max), // Point 4 (x, y) rand($min,$max), rand($min,$max), // Point 5 (x, y) rand($min,$max), rand($min,$max) // Point 6 (x, y) ); // create image $image = imagecreatetruecolor(250, 250); // some colors $bg = imagecolorallocate($image, 200, 200, 200); $blue = imagecolorallocate($image, 0, 0, 255); // draw a polygon imagefilledpolygon($image, $values, 6, $blue); // save image imagepng($image, 'test/' . $time . '/' . $i . '.png'); imagedestroy($image); $i++; }
Изображения получаются примерно такими:
Итак, результаты:
- 48 изображений в секунду на моём ноутбуке
- 70 изображений в секунду на виртуальном хостинге
Результаты вполне нормальные :-)
Коммент.(13)