予言者育成は「重たいアプリ」

スクウェア・エニックスがスマートフォン向けに提供しているリアル連動ゲーム(RXG)「予言者育成学園 Fortune Tellers Academy」をプレイしてみて、「重たいアプリ」だと感じる方は多いのではないでしょうか。

頭をかかえる

一言で「重たいアプリ」と言っても、「重たい」と感じさせてしまう原因はいくつか考えられます。

①スマホ本体の記憶容量を沢山消費してしまう

16GBのストレージ搭載のスマホであれば、システムで使用している部分を除いた残りの10GB程度使えればかなり上等な部類です。そんな貴重な空き容量から数百MB~数GB占有してしまうアプリは端末に優しくない重たいアプリと言えます。特にゲームアプリは画像や音声など大きなデータを多数必要とするだけに、必要な容量も大きくなりがちです。

②動作中にメモリを沢山消費してしまう

Android 6.0以降のミドルレンジのスマホでは2GBや3GBのメモリを搭載した機種が多く、そこからシステムが最低でも常時数百MBを使用しています。一つのアプリで数百MB~1GB超のメモリを要求するとなると、そのアプリだけでなくスマホの動作全体がもっさりした感じになりがちです。

③動作中にCPUを沢山使わせてしまう

アプリの動作に無くてはならないのがスマホの頭脳である演算装置のCPU(Central Processing Unit)です。これに沢山の演算をさせようとするアプリがあると電池の消費量が増大して発生する熱も大きくなります。そのアプリだけでなくスマホの動作全体がもっさりした感じになりがちです。例えば動画のエンコードはCPUやGPUにデータ処理の演算をさせ続ける非常に重たい作業です。

④動作中にGPUを沢山使わせてしまう

GPU(Graphics Processing Unit)は画像の処理に特化した演算装置です。特にゲームアプリでは美麗なグラフィックやエフェクトの処理でGPUを酷使するものがあり、ゲームを遊ぶ目的でスマホを選ぶならGPUの性能を考えて選ぶのが望ましいです。

⑤データの通信頻度が高い/通信量が多い

電話回線でもWi-Fiでもデータ通信を行う際にはスマホの通信モジュールが仕事をします。通信頻度が高いと通信モジュールの仕事が増えるので、電池の消費量が増大して発生する熱も大きくなります。また毎日頻繁にデータをやりとりしていればスマホの契約プランのデータ通信量の制限にかかってしまう場合もあります。

⑥電池を沢山消費してしまう

ここまで挙げてきた要素を満たすアプリは電池の消費量が増えてしまいがちです。どれだけ面白いゲームアプリであっても、電池をあっという間に空にされてしまうのでは気軽に遊べません。

これらを全て満たしているFTA

FTAは見た目こそ控えめで派手なエフェクトも少ないゲーム画面ですが、実際にはバトル画面で常時背景にムービーを流していて、エフェクトも全てムービーで構成されているなど、到底端末に優しいアプリとは言い難く、残念ながら「重たいアプリ」として挙げてみた6つの項目を全て満たしています。

iOS版とAndroid版の格差

そして、Android版とiOS版で配信されているアプリの動作を比較してみると、Android版の方が圧倒的に重いと言われています。

iOS版が動作するiPhoneやiPadといった端末は、Appleが作っている数機種しかないので、アプリを作る側は動作確認の作業が容易です。
さらに、最新機種の登場直後は割引が無ければ10万円近くの販売価格になるように、日本で販売されるのはスマホとしてはハイエンドに分類される高性能な端末が殆どです。

一方のAndroid版は、OSこそGoogleが提供していますが端末は様々なメーカーが様々な製品を作っています。真っ当にアプリを配信するとなれば、数十数百の種類の端末について動作確認を行わなければなりません。
多種多様なAndroid端末の中にはiPhoneを上回る超高性能なハイエンドスマホもあれば、1万円未満で売られる超低性能のローエンドスマホもあるなど、性能のバラツキも多様なのです。
ドコモやau、ソフトバンクといった大手キャリアではハイエンドの端末よりも定価で5万円前後のハイエンド寄りミドルレンジの端末の方が品揃えが豊富です。
日本で利用者が増えている格安スマホでは2~3万円あたりで購入できるローエンド寄りミドルレンジの端末に人気があるように見えます。

スマホをゲーム機にしたいならそもそもハイエンド一択

iPhoneだろうとAndroidだろうと、美麗なグラフィックのスマホゲームでバリバリ快適に遊びたいのであれば、選択肢はそもそもハイエンドの最新機種しかありえません。
とはいえ、大きな割引やキャッシュバックでもない限り、高価なハイエンドのスマホはそうそう売れるものではありません。アプリをプレイしてくれる人の数を増やそうと思えばミドルレンジのスマホも推奨端末に入れるしかないのです。

惜しい性能の端末でも人並みに遊べるようにする一つのアイデア

GPUにかかる負担を軽減させる

FTAにいくつも存在する「重たいアプリ」の理由ですが、大アルカナ戦に代表されるバトル画面の「重たい」だけを考えてみれば、ここで一番酷使されているのは「GPU」です。
大アルカナ戦の直前で余計なアプリを停止させたりスマホを再起動させることでメモリを開放すれば不可解なエラー落ちは改善が見られるかもしれませんが、GPUの性能が足りなければもっさりとしたバトルは改善されません。

Windows版のドラゴンクエストXをプレイしている人なら、普段遊んでいるDQXやベンチマークソフトの設定を思い浮かべると分かりやすいですが、グラフィックの設定を高画質にすれば動作は重たくなりますし、低画質にすれば動作は軽くなります。
フルHDの大画面では動きがぎこちなくても、小さいウインドウサイズにすればより滑らかに動くかもしれません。

アプリによってはゲーム画面の画質を変更してGPUにかかる負荷をコントロールできる設定を用意しているものもありますが、FTAにはありません。

星のドラゴンクエスト
星のドラゴンクエストの設定画面

そこで、Android OSの機能を使ってスマホの画面解像度を下げることで、GPUに楽をさせるという方法があります。

ここでは、スマートフォンやタブレットをUSBケーブルでパソコンと接続して、ADBのコマンドで操作をします。

Android Debug Bridge(adb)は、エミュレータ インスタンスや接続された Android 端末と通信できる用途の広いコマンドライン ツールです。また、アプリのインストールやデバッグなどのさまざまな端末アクションを支援し、エミュレータや接続された端末でさまざまなコマンドを実行するときに使用できる Unix シェルへのアクセスを提供します。

Android Debug Bridge | Android Studio
https://developer.android.com/studio/command-line/adb.html

※注意
以下で説明するADBコマンドによる操作は、端末内の設定を一時的に上書きするものです。root権限を取得していない環境でも動作します。上書き前の元の設定に戻せるコマンドも用意されていますが、誤ったコマンドを実行してしまうと端末の表示がおかしくなったり操作不能に陥る場合もあります。コマンドや設定する数値に誤りが無いか確認してから実行することをお勧めします。
また端末の設定が上書きされることによってデータや設定が初期化されてしまうアプリもあるようです。必要なアプリやデータは必ずバックアップを取ってから作業を行ってください。

作業手順

パソコンにAndroid SDKをインストールしてADBを使える環境を用意します。
スマートフォンやタブレットは設定の開発者向けオプションでUSBデバッグを使えるようにしておきます。

機種によって適切な画面解像度は異なります。
設定を変更する場合は適切な値を指定しないと画面レイアウトが崩れてしまったり、最悪の場合は操作が出来なくなります。

【Android】いまさら聞けないdp入門 - Qiita
http://qiita.com/nein37/items/0a92556a80c6c14503b2
2015年発売Android端末のdp解像度まとめ - Qiita
http://qiita.com/nein37/items/0a622f7ebbbb92db93d5

自分の端末に合った解像度を見つけられたら、あとは実際にADBのコマンドで画面解像度を変更するだけです。
現在のスマホの設定を確認する
adb shell dumpsys display

変更したい値をセットする
adb shell wm density (dpi)
adb shell wm size (短辺)x(長辺)

端末を再起動する
adb reboot
ADBのコマンドからリセットすることで元の画面解像度に戻せます。
元の設定に戻す
adb shell wm size reset
adb shell wm density reset
adb reboot

作業実例

同じ端末で元の画面解像度と画面の広さを縮小した状態のプレイ比較動画。エフェクトの表示やルーレットの回り方が若干滑らかに。スクリーンショットの画像サイズも小さくなり保存速度も改善。

この動画は株式会社スクウェア・エニックスが権利を所有する著作物を利用しております。
© 2015 SQUARE ENIX CO.,LTD. All Rights Reserved


今の端末でどうにかならないものかと考えるのであれば、足掻く方法はないわけではないということです。しかし、動画の環境ではカクカクすぎて遊べなかったものがあくまでも人並みに遊べるようになっただけですし、これで最新のiPhoneユーザーにも勝てるかと言えばそんなことはありません。決しておススメはしません。
FTAをサクサクと遊びたいのであれば、繰り返しになりますがハイエンドの高性能端末に買い替えるのが最も確実な手段となります。