작은 벤치 마크를 실행합니다. GD 및 ImageMagick을 사용한 간단한 텍스트 그리기 작업 아래 코드를 참조하십시오.ImageMagic for PHP는 GD에 비해 느림
dev 서버의 GD 버전은 1.9 초, ImageMagic은 7.3 초입니다. 이것은 여러 테스트에서 일관 적입니다.
리눅스에 4 초에서 2.5 초에서 실행 IM 버전 GD IM은 GD보다 느리게 만드는 것
(모두 포함 roundtip하지만 테스트는 동일한 서버/클라이언트와의 일관성에 여러 시간을 일했다)? 그것을 최적화하는 방법이 있습니까 동일한 성능을 얻으려면 어떻게해야합니까?
벤치 마크 코드 GD :
$base_image=imagecreatetruecolor (350, 700);
$white = imagecolorallocatealpha($base_image, 255, 255, 255, 100);
imagefill($base_image , 0, 0, $white);
imagealphablending($base_image, true);
imagesavealpha($base_image, true);
$black = imagecolorallocatealpha ($base_image, 0,0,0, 1);
for ($i =0; $i<700; $i ++) {
imagettftext($base_image, 13, 0, 20, $i, $black, './arial.ttf', "Hello World!");
imagettftext($base_image, 13, 0, 20, $i, $black, './arib____.ttf', "Hello World!");
imagettftext($base_image, 13, 0, 20, $i, $black, './verdana.ttf', "Hello World!");
imagettftext($base_image, 13, 0, 20, $i, $black, './trebuc.ttf', "Hello World!");
imagettftext($base_image, 13, 0, 20, $i, $black, './georgia.ttf', "Hello World!");
}
header("Content-Type: image/png");
imagepng($base_image);
벤치 마크 코드 IM :
$canvas = new Imagick();
$canvas->newImage(350, 700, "white");
$draw = new ImagickDraw();
$draw->setFontSize(13*96/72);
for ($i =0; $i<700; $i ++) {
$draw->setFont('./arial.ttf');
$draw->annotation(20, $i, "Hello World!");
$draw->setFont('./arib____.ttf');
$draw->annotation(20, $i, "Hello World!");
$draw->setFont('./verdana.ttf');
$draw->annotation(20, $i, "Hello World!");
$draw->setFont('./trebuc.ttf');
$draw->annotation(20, $i, "Hello World!");
$draw->setFont('./georgia.ttf');
$draw->annotation(20, $i, "Hello World!");
}
$canvas->drawImage($draw);
$canvas->setImageFormat('png');
header("Content-Type: image/png");
echo $canvas;
GD 정보
GD Support enabled
GD Version 2.1.1-dev
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.5.2
GIF Read Support enabled
GIF Create Support enabled
JPEG Support enabled
libJPEG Version 8
PNG Support enabled
libPNG Version 1.2.50
WBMP Support enabled
XPM Support enabled
libXpm Version 30411
XBM Support enabled
WebP Support enabled
Imagick 정보
imagick module enabled imagick module version 3.1.2 imagick classes Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator ImageMagick version ImageMagick 6.7.7-10 2016-06-01 Q16 http://www.imagemagick.org ImageMagick copyright Copyright (C) 1999-2012 ImageMagick Studio LLC ImageMagick release date 2016-06-01 ImageMagick number of supported formats: 204 ImageMagick supported formats 3FR, A, AAI, AI, ART, ARW, AVI, AVS, B, BGR, BGRA, BIE, BMP, BMP2, BMP3, BRF, C, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CRW, CUR, CUT, DCM, DCR, DCX, DDS, DFONT, DNG, DPX, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, FAX, FITS, FRACTAL, FTS, G, G3, GIF, GIF87, GRADIENT, GRAY, GROUP4, HALD, HDR, HISTOGRAM, HRZ, HTM, HTML, ICB, ICO, ICON, INFO, INLINE, IPL, ISOBRL, J2C, J2K, JBG, JBIG, JNG, JP2, JPC, JPEG, JPG, JPX, K, K25, KDC, LABEL, M, M2V, M4V, MAC, MAP, MAT, MATTE, MEF, MIFF, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MRW, MSL, MTV, MVG, NEF, NRW, NULL, O, ORF, OTB, OTF, PAL, PALM, PAM, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG24, PNG32, PNG8, PNM, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, R, RADIAL-GRADIENT, RAF, RAS, RGB, RGBA, RGBO, RLA, RLE, SCR, SCT, SFW, SGI, SHTML, SR2, SRF, STEGANO, SUN, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UIL, UYVY, VDA, VICAR, VID, VIFF, VST, WBMP, WMV, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, Y, YCbCr, YCbCrA, YUV
Directive Local Value Master Value imagick.locale_fix 0 0 imagick.progress_monitor 0 0
차이가 있는지는 모르겠지만 글꼴을 계속 변경하고 글꼴 파일을 읽는 대신 모든'arib' 글꼴을 먼저 처리 한 다음 모든'arib' 작업을 시도해보십시오. 그냥 추측 - 테스트되지 않았습니다. 그건 그렇고, 메신저 버전은 내 Mac에서 v9.9 1.9s에서 실행됩니다. –