이미지프로세스 모듈을 대대적으로 손보고 있는 중입니다.
우선은 EXIF 처리 방침의 변경으로 애드온과 연계해서 삭제했지만 DB에 넣어서 보관하는 방식으로 변경중입니다.
두번째는 Rhymix 내부기능을 최대한 이용하는 것입니다.
이렇게 되면 XE나 하위버전 호환성은 떨어지겠지만 속도는 많이 개선되는 것같습니다.
세번째는 imagick 적용입니다.
GD의 단점을 극복하고자 그동안 외부실행화일인 ImageMagick을 주로 이용했었습니다.
뒤에 좀더 자세히 살펴보겠지만 imagick이 화질이나 이미지크기면에서는 좋기는 한데 체감상 속도는 약간 떨어지는 듯합니다.
문제는 사용이 제한적입니다.
PHP 7.X에서는 메모리문제가 심각해서 거의 사용이 불가합니다.
PHP 8.0에서만 그나마 조금 쓸만한 것같습니다.
PHP 7.3에서 사용해보려고 노력했지만 걸핏하면 메모리문제로 에러가 생겨서 프로세싱이 안되는 현상이 생기더군요.
특히 조금 큰사이즈이미지는 아예 리사이징을 하지 못하는 현상이 있었습니다.
이번 이미지프로세스 버전에서는 PHP 8.X에서만 사용이 가능하게 수정했습니다.
작업하는 과정에서 역시 Imagick소리가 절로 나더군요.
1400x 811크기의 원본이미지로 작업을 했습니다. 크기는 294K
|
GD |
imageMagick |
imagick |
ResizeOnly |
704K |
470K |
209K |
Fullprocess 화질100 |
760K |
481K |
214K |
Fullprocess 화질80 |
561K |
289K |
214K |