Takahiro Octopress Blog

-1から始める情弱プログラミング

iOS9でWebViewの性能を測ろう!

iOS9で使えるWebViewで各種テスト

さて、iOS8が出た時にも結果を載せましたが、iOS9でもやってみようと思います。
iOS9では SFSafariViewController というものが増えましたし、UIWebViewおよびWKWebViewがSafariに対して、どの程度の性能を示すのか改めて調べておくことも重要だと思います。

早速結果を記載していきます。

HTML5の結果

HTML5testの結果を記載します。
テストは全てiOS9, iPhone6端末で実施しています。

  • UIWebView: 391
  • WKWebView: 407
  • SFSafariViewController: 407
  • Safari: 409

上記のような結果が得られました。
各種WebView間での差異は全て Storage の差です。

CSS3の結果

CSS3testの結果を記載します。
テストは全てiOS9, iPhone6端末で実施しています。

  • UIWebView: 55%
  • WKWebView: 55%
  • SFSafariViewController: 55%
  • Safari: 55%

上記のようにCSS3においては差異はありませんでした。

SunSpiderの結果

SunSpiderの結果を記載します。
これはJavaScriptを利用したテストです。
テストは全てiOS9, iPhone6端末で実施しています。

  • UIWebView: 1481.2 ms
  • WKWebView: 351.7 ms
  • SFSafariViewController: 364.5 ms
  • Safari: 343.1 ms

上記のような結果が得られました。
UIWebViewは以前もお伝えしたようにWKWebViewの約4倍程度の処理時間がかかっています。
他は誤差の範囲で全く同じと見てよいでしょう。

Octane2.0の結果

Octane2.0の結果を記載します。
これもJavaScriptを利用したテストです。
テストは全てiOS9, iPhone6端末で実施しています。

  • UIWebView: 987
  • WKWebView: 8541
  • SFSafariViewController: 8112
  • Safari: 8627

Octaneは点数制なので、スコアが高いほど優秀と言えます。
UIWebViewは他と比べて、低い点数となっています。
一方で、他の3つはほぼ誤差の範囲と見て良いでしょう。(SFSafariViewControllerが多少差がついているものの…)

以上の結果から用途を守って正しくWebViewを使うと良いでしょう。

  • UIWebView
    • Storyboard上で配置できるので、使い方が簡単。
    • 重い処理をさせることがない(高速処理を求めない)
  • WKWebView
    • ソースコードベースで書くため、少し手間がかかる。
    • カスタマイズ性が高い&高速処理が可能
  • SFSafariViewController
    • 単なるWebサイトを表示するためだけに利用。
    • カスタマイズ性が全く不要な場合に適切
  • Safari
    • アプリ外の遷移でも問題なければ、アプリからSafariを起動するのも良いでしょう。iOS9からアプリ間の遷移がスムーズになったわけですし。

と言ったところで本日はここまで。

Comments