swift labo

UIImageJPEGRepresentationのcompressionQualityでサーバ、ネットワーク負荷減少

Introduction

村本訓一

村本訓一

株式会社lord代表。WEBデザイナー⇒ディレクター⇒プロデューサーです。2010年から起業しています。社会に出てからずっとWEB屋です。 新しいネットサービス、デバイス、コミック、本、映画好きです。最近は急にプログラマーっぽい事もやってます。


LATEST POSTS

Reject [Guideline 1.2 – Safety – User Generated Content] 23rd June, 2017

[swift 3] Storyboardを分割した場合にコードで遷移 02nd May, 2017



その他

UIImageJPEGRepresentationのcompressionQualityでサーバ、ネットワーク負荷減少

Posted on

[環境]
Xcode:8.3.3
Swift:3.1
iOS:10.3

こんにちわ。
iOSアプリで、
1. カメラ起動
2. jpegにする
3. サーバにアップロード&DBに登録
といった事をした場合に、[2]で利用するUIImageJPEGRepresentationの話です。

Appleドキュメントでは、以下のようになっています。

今回のお話は、compressionQualityの方です。

リリース当初は、compressionQualityを1にしていました。
compressionQualityは、画像サイズ(pxなど)ではなく、圧縮率です。
pxレベルで言えば、正方形にトリミングしてアップロードさせていました。
750px x 750pxのような形です。

少しでも高速化、また、画像は登録するだけではなく表示にも使うので
ユーザ側iPhoneでのネットワーク負荷を減らすためにもここの調整をしてみました。

試したのは、
1, 0.9, 0.8
です。

結果は以下。

■1 (630KB)

■0.9 (162KB)

■0.8 (123KB)

※写真はhttp://www.freegreatpicture.com/より。

そして、目視でぼやけなども確認してみましたが、これは写真の利用目的にもよりますが、今回は0.8で十分でした。。。
ほとんどの場合でも0.9で十分ではないでしょうか?
特に1から0.9の差がすごいですね。

検証していませんが、.pngにする UIImagePNGRepresentation でも同じ感じかもです。
0.9が個人的にはお勧めでした。

村本訓一

村本訓一

http://kunikazumuramoto.com

株式会社lord代表。WEBデザイナー⇒ディレクター⇒プロデューサーです。2010年から起業しています。社会に出てからずっとWEB屋です。 新しいネットサービス、デバイス、コミック、本、映画好きです。最近は急にプログラマーっぽい事もやってます。

Navigation