1

imagickを使用して、角のあるサムネイルを作成します。

ここに興味深い行があります:

$background = 'white';
$image->cropThumbnailImage($width,$height);
$im = new Imagick(); 
$im->newImage($width, $height, $background); 
//$image->sharpenImage(50, 1); 
$image->roundCorners( $cornersSize, $cornersSize);
$im->compositeImage($image, Imagick::COMPOSITE_OVER, 0, 0); 
$im->setImageFormat('jpeg');
$im->flattenImages(); 
$image = $im;

サーバー上で作成するのに10秒かかります!

小さなラップトップでは、1.5秒かかります(まだ遅い)。

どうすればそれを改善できますか?

精度:

20148pxx1222pxの1つの画像のみでコードを再起動します。ラップトップでは10秒、サーバーでは20秒。

サーバー:

ラップトップ:

  • php5-imagick:3.0.0〜rc1-1build1
  • imagemagick:7:6.6.2.6-1ubuntu1.1
  • ubuntu 10.10
  • 2048mo RAM 1333MHz DDR3
  • Intel Core i3-370M 2,4GHz、3MB

サーバ:

  • Intel Xeon(16 Moキャッシュ)
  • 8Go RAM(RDIMM)
  • オンラインのウェブサイトはありません。
4

2 に答える 2

2

サーバーがUbuntu10.04/ Debian 6で、Viruozzo、または他の仮想化プラットフォーム、あるいは単にマルチプロセッサシステムを使用している場合、これはImageMagickのOpenMPサポートのバグである可能性があります。

これらのプラットフォームでは、imagickPHP拡張機能を使用するとImagemagickが遅くなる可能性があります。単純な画像を作成するには、ミリ秒ではなく数秒かかります。

私のために働いた解決策:http: //tellgren.com/blog/2011/03/24/trouble-with-imagemagick-on-vps/

于 2011-10-26T10:27:48.183 に答える
0

GPUを使用して処理を行うことはできますが、この場合は使用されません。あなたのCPUだけ。

不要な手順を実行しているようです。これの何が問題になっていますか:

$image->cropThumbnailImage($width,$height);
$image->roundCorners( $cornersSize, $cornersSize);
于 2011-01-17T11:24:56.477 に答える