Android 5.0にしたらUnity 5のアプリがカクカクするようになった(解決済)

uniopenglスマホのAndroidが5.0になったので、それで作成途中のゲームを動かしてみたら……カクカクする!

それまで30fps出ていたのに、11fpsにまで落ちてしまった。


とりあえず解決法をぐぐってみたら
・vSyncをONにする(QualitySettings.vSyncCount = 1)
・FPSを60にする(Application.targetFrameRate = 60)
・SkyBoxを無くす
・Quality Settingsのレベルを落とす
・OpenGL3.0を使わない
・テクスチャの解像度を半分にする

と、色々ありますが、少し効果あったのはOpenGL3.0を使わないのと、テクスチャの解像度を半分にするです。それでも15fpsくらいしか出ないけど。

OpenGLを2.0固定にするには
File → Build Settings → Player Settings → Other Settings → Auto Graphics APIのチェックを外す → 出てきたOpenGLES3を削除。

テクスチャの解像度を半分にするには
Edit → Project Settings → Quality → Texture QualityをHalf Resに変更。

SSAOを無効にする!

仕方ないので、オブジェクトの設定を1つ1つ見直してたら、カメラにSSAO(スクリーンスペースアンビエントオクルージョン)がアタッチされてるのに気付きました。そういえばUnity5.0から無料版でも使えるようになったから、嬉しくなって設定したんだった。

これを無効化してみたら……60fps出た! 前より早くなってるじゃん。

結局、俺が余計なことしてたのか(汗)

このSSAOとは、リアルタイムにオブジェクト同士の関係性を計算して、影をより精密にしてくれる仕組みです。これは重たいわ。

Android 4.4の時にはこの設定無視されてたのかもね。

ようやく解決です。

コメントを残す

メールアドレスが公開されることはありません。