iOS 8でもブラウザ高速化「Nitrous」は意味あるのか?についてのお話 [JBApp]

(16)

iOSには高速なJavaScriptエンジン「Nitro」が搭載されているのですが、iOS 8より前ではSafariでしか有効になっておらず、他のブラウザアプリでは無効化され遅い処理となっていました。
そこで現れた脱獄アプリが【Nitrous】! これを使用すると、全てのアプリで「Nitro」が有効となりJavaScriptの処理が高速になります。

ただ、iOS 8では「Nitro」が全てのアプリに解放されたため、「iOS 8だとNitrousが不要なのでは?」というご質問をよくいただきます。
ですが、実はこの認識はちょっと間違いで、全アプリがNitroを使えるわけではないのです。ということで、そこら辺をちょこっとご紹介。的なお話。

スポンサーリンク

iOS 8で「Nitro」を解放

iOS 8が発表された際『高速JavaScriptエンジン「Nitro」がサードパーティアプリにも解放!』といったニュースを見かけたかと思います。
これだけを見ると「iOS 8でブラウザアプリを使うとスゴイ早いんだ!」と思ってしまいそうですが、実はそうではありません

UIWebViewとWKWebView

iOS 8には【UIWebView】と【WKWebView】という、二つのウェブページを表示するための機能が備わっています。
【UIWebView】はiOS 7以前からあった機能、【WKWebView】はiOS 8で追加された機能です。この二つ、決定的な違いがいあり、それが以下なのです。

  • 【UIWebView】
    従来の機能で、Nitroは使用出来ず、処理は遅いまま
  • 【WKWebView】
    iOS 8で追加された新機能で、Nitroが解放され高速で処理が可能

Nitroが使えるのはWKWebViewだけ

ということで、結論としては「iOS 8だから早くなるではなく、WKWebViewに対応しているアプリだから早くなる」が正解となります。
アプリ側が【UIWebView】のままでは、iOS 8だとしても従来の処理速度のまま…になってしまうのです。

実験

実際にiOS 8.1.1上で実験をしてみました。
Nitroが使えるSafariと、【UIWebView】なためNitro未対応なiCab Mobileを、定番のベンチマークSunSpiderで比べてみます。
結果はSafari【339.7ms】、iCab Mobile【1218.3ms】と、Safariの方が約4倍も速いと言う状況です。

jbapp-is-the-nitrous-necessary-for-ios8-hatena-02jbapp-is-the-nitrous-necessary-for-ios8-hatena-03

実験②

単純にiCab Mobileが駄目なだけじゃ!?と思われちゃいそうなので、もうひとつ実験。
WebViewというアプリを使うと、アプリひとつで新機能【WKWebView】と従来の【UIWebView】を切り替えて使用する事が出来ますので、次はこれを使ってみます。
結果はWKWebView【338.4ms】、UIWebView【1167.7ms】となり、先ほどと同じくUIWebViewでは遅い結果となりました。

jbapp-is-the-nitrous-necessary-for-ios8-hatena-04jbapp-is-the-nitrous-necessary-for-ios8-hatena-05

Nitrousを使用する

ということで、ようやく登場【Nitrous】さん。

Nitrousでは、UIWebViewでも「Nitroエンジン」を使用する事が可能になりますので、実際に有効にして再度計測してみましょう。
iCab Mobileが【1218.3ms → 378.9ms】に高速化、WebViewのUIWebViewでは【1167.7ms → 330.3ms】に高速化しました。

jbapp-is-the-nitrous-necessary-for-ios8-hatena-06jbapp-is-the-nitrous-necessary-for-ios8-hatena-07

結論

NitrousはiOS 8でも意味があるよ!

ただし、ChromeやSleipnirなどの場合はWKWebViewに対応するアップデートが行われていますので、Nitrous無しでもSafariと同じくNitroエンジンが使用出来ます。
対応済みのアプリを主に使っている場合は、不要となります。

ちなみに、RSSアプリやTwitterアプリなどの内蔵ブラウザだとUIWebViewのままが多かったりするので、そういった場合には効果アリです。

JavaScriptを多用しているサイト、もしくはそういったアプリ、であれば体感が出来る違いとなりますが、一般的な使い方で体感出来るかというと微妙な部分もあります。
昔のFaceBookアプリなんかは体感出来るほどの違いがあったりしましたが、今はどうなのかな?

ということで、iOS 8でも効果はありますが、使う場合は環境や使うアプリと相談しながら…が良さそうです。

コメント

  1. 対応してないものに使えば効果がはっきりでるという見解でいいんでしょうかね?ばかですいせまん、、

    • はい、基本的にはその認識で大丈夫だと思います。
      ただ、アプリによっては何故か効果が薄い物が希にあったりしますので、ここら辺は注意が必要です。

  2. なるほど!よく分かりました
    ありがとう

  3. MercuryはNitrousでも効果なし

  4. iOS8になってからアプリのディレクトリが変わったと思うのですが、どこに移動されたか教えていただけないでしょうか。

  5. 素晴らしい。

  6. つまりSafariが最強でおk?

  7. 記事ありがとう御座います。
    iOS8 で Nitrous が不要になるじゃんと誤解してました。
    ただ mineo なので 7.1 脱獄のままです (´・_・`)

  8. 記事とは関係ないですがintelliScreenX8をアップデートしてから挙動がおかしいのですがみなさんはどうですか?

    iPhone6 iOS8.1.1

  9. iOS8.1ですが、普段safariでサイト検索していますが、
    この記事のインストールしたら、他アプリということは
    ゲームアプリとか動画アプリの読み込み速度も上がるのでしょうか?

    • JavaScript の処理に関する脱獄アプリなので、動画の転送速度には関係しませんよ。
      ネイティブゲームで「UIWebView」を使ってるものがあれば高速化すると思います。
      オフラインでも遊べる類のネイティブゲームに関しては、何の変化もないと思います。

    • 動画の読み込みに関しては微妙ですが、UIWebViewを使っているソーシャルゲームなんて物もあるので、そういった物では速度が改善する場合があります

  10. すみません、これってios9.3でも加速されますか??それとも完全にもう必要ないのでしょうか??

    • iOS 9.xでも記事と同様の状況です。
      ただし、iOS 9.3.3などでNitrousを使用すると、まだ未対応な部分があるため不具合が発生します。
      使用したい場合は、iOS 9.3.3対応アップデートをお待ち下さい