LoginSignup
1
1

More than 5 years have passed since last update.

Android端末でのUnityプロファイル

Posted at

Unity5になると無料版でもProfilerが使えるということで、日頃重さに苦労しているAndroid端末の処理負荷を計測してみました。

ただ、UnityのProfiler平均値がとれないのと、計測結果のが安定しないのでだいたいの平均値になります(´・ω・`)

検証環境

Unity5 5.0.1f1
AQUOS PHONE IS12SH
Android 2.3.3

検証1 Rigidbody2D+Collider2D

RigidbodyがついていないColliderを動かすと処理負荷があがるらしいので、実際にどのくらいの変化があるのか検証

    void Start () {
        gameObject.transform.position = new Vector3 (1.0f, 0.0f);
    }   
    void Update () {
        // 適当にうごかす
        gameObject.transform.position = -gameObject.transform.position;
    }

・Rigidbodyなし Collider2Dをつけたオブジェクト

関数 処理負荷
MoveTest.Update 0.12ms 〜 0.18ms
Physics.Processing 0.72ms 〜 0.76ms
Physics2D.FixedUpdate 0.06ms 〜 0.09ms

・Rigidbodyあり COllider2Dをつけたオブジェクト

関数 処理負荷
MoveTest.Update 0.03ms 〜 0.09ms
Physics.Processing 0.42ms 〜 0.76ms
Physics2D.FixedUpdate 0.12ms 〜 0.18ms

あまりかわらない・・?

10個分のオブジェクトを作成してみた
・Rigidbodyなし Collider2Dをつけたオブジェクト

関数 処理負荷
MoveTest.Update 0.67ms 〜 0.94ms
Physics.Processing 0.30ms 〜 0.57ms
Physics2D.FixedUpdate 0.12ms 〜 0.24ms

・Rigidbodyあり COllider2Dをつけたオブジェクト

関数 処理負荷
MoveTest.Update 0.24ms 〜 0.33ms
Physics.Processing 0.30ms 〜 0.57ms
Physics2D.FixedUpdate 0.42ms 〜 0.70ms

考察

Rigidbodyがない場合は MoveTest.Update 、ある場合は Physics2D.FixedUpdateが上がっている。

スクリーンショット 2015-04-29 23.50.26.png
Rigidbodyがない場合は MoveTest.Updateのなかで CircleColiderの再作成を行っているので、こちらの処理をMoveTest.Updateで行うか、Physic2D.FixedUpdateで行うかの違いしかないのかもしれません。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1