图像调整大小性能比较

时间:2013-04-29 21:40:15

标签: php gd benchmarking

我正在保存上传中的两张照片。一个是较大的照片,另一个是拇指。

我想知道我是否使用更少的资源来创建照片的拇指副本,从缩小的较大照片说450 * 400或创建拇指从原始可以说3mb并说2500px *无论是什么或是6个方式还是半打另一种?

imagecopyresampled($photo, $source, 0, 0, 0, 0, $photo_width, $photo_height, $width, $height);

imagecopyresampled($thumb_photo, $source, 0, 0, 0, 0, $thumb_width, $thumb_height, $width, $height); // old way

imagecopyresampled($thumb_photo, $photo, 0, 0, 0, 0, $thumb_width, $thumb_height, $photo_width, $photo_height); // new way

2 个答案:

答案 0 :(得分:1)

将2500x2500图像加载到内存中所需的内存比450x400要多得多。比如,+ 30倍以上。

另一方面,如果您已经加载它,那么您可以重复使用它而无需额外的内存使用(除了制作实际的第三个图像所需的内容)。

答案 1 :(得分:0)

是的,重复使用已调整大小的图像来创建拇指是有意义的,但仅当您从内存中删除原件时才有意义:

imagecopyresampled($photo, $source, 0, 0, 0, 0, $photo_width, $photo_height, $width, $height);

imagedestroy($source);

imagecopyresampled($thumb_photo, $photo, 0, 0, 0, 0, $thumb_width, $thumb_height, $photo_width, $photo_height);