2014年1月14日火曜日

#08.実機で動かす~Kindle Fire HD8.9でパフォーマンスチェック

まだダイアルしかできていないが、一度実機で動かしてみることにする。
(実機ならではの問題は必ずあるので)


ターゲットデバイスは Kindle Fire HD8.9。2012モデルだがそれなりに高性能な方はなず。
(むしろ本当はやや非力な7インチ位のデバイスの方が評価には良いのだが・・・)



当初EclipseでAndroidアプリ開発をするつもりでいたのでADB等は設定済み。UnityとKindleとの接続はUSBケーブルをつなぎUnity側のターゲットをAndroidにすればあっさりKindleで動く。

※一応アマゾン公式サイトにはデベロッパー向けの情報があります。
意外と親切(?)に書かれている感じですが、まぁ・・・英語です;一応主要部分は和訳してhtmlにまとめ済み。さすがにBlogには上げられないのでいずれ別なHPにでもアップするかも・・・。
ちなみにアマゾン独自のゲーム内通貨とかあるんですよ、知ってました?<私的にビックリしたw
勿論その辺の開発者向けの諸々情報も。
課金システムはあれやこれや整ってる感じで、さすがアマゾンです!


【UnityでKindleへBuild&RUN】

  1. ビルドターゲットをAndroidに変更する
    CTRL+SHIFT+Bを押して Build Settings を開く。
    Platform欄でAndroidをクリックして選択状態にする。
    Switch Platformを押して変更を確定する。
  2. Bundle identifierの設定。
    続いて同じ画面から、Player Settingsを 押す。
    メインウィンドウの Inspector欄にAndroid向けの設定が出る。
    ※メインウィンドウ側に表示がでるので気付きにくいので注意。
    Bundle Identifier欄を変更する。

      例: com.unity3d.hoge

    これを変更しないとビルドが通らない。デフォルト以外ならなんでも良さそうな気配。
  3. Kindle側の準備確認
    念の為以下の設定確認しておく。
    画面上部をスワイプして「設定」を出す。
    その中の「セキュリティ」に進む。
    「ADBを有効にする」がオンになっていることを確認。
  4. Build&RUN
    ビルドする前に Kindle をUSBでPCにつなぎ電源をオンしておく。
    Unity上でCTRL+Bを押す。
    ビルド、Kindleへの転送が行われて、Kindleで開発中のアプリが自動起動する。


【タッチの反応がおかしい】

6つ配置したボタンのうち、右上/右下(日)のボタンだけ反応が渋い。
年月はそれなりに反応が良い。なぜだ?

その1:そもそもボタンが小さいのでデバッグしにくいぞ

なんとなく気づいてはいた・・・実機で指で押すにはボタンのサイズが小さすぎたw。
が、デザインはもういじりたくない<先に進まなくなるのでw。

ということでモデルの下の方に「板」を6枚置いた=6ボタン。これをRayCastで捕らえるようにする。
上部の丸いボタンは「飾り」とする。
こんなんでも人ってのは違和感ないもんです。

当初スワイプ=板上をスライドも考慮していたので、これでいいやと設置。
タッチ面積が大きくなった分操作性が向上。

ちなみにMesh Coliderを6枚の板のみにしか設定しない為、ほかのオブジェクトはRayCastの対象から除外される。なのでこういう配置でも大丈夫。
(一応ボタン判定順などのコード処理も確認)




その2:負荷を微減らしてみた(ほとんど気のせいレベル

多分ほぼ関係ないとは思うが、Cast Shadow, Receive Shadowをオフにしておいた。
気がついたのでまぁ設定。

その3:掃除&ケース(ぇw >解決

タッチパネルを掃除したら症状が少し改善(マテw <どんだけ汚れていたのかと
実は掃除も効果は少しあったが、キャリングケースのフチ部分が悪さをしていたようでこっちが本命。少しズレていてタッチ面の隅に干渉していたようだ。

これに気づくにあたり、Unity上でダイアルパーツを180度平面回転=逆さまにしてBuild&Run、Kindleで動作させたところ不調のボタンに変化があった。つまりKindleの特定の物理面のみが不調ぽいことをこれで確認。

改善策4:パフォーマンスチェック!

やっと本題w
FPSとかチェックしたいな~と、思ったらありました。

http://wiki.unity3d.com/index.php/AllocationStats


ここのC#ソースをコピペして空のGameObjectにでも放り込んでRunすると、FPSやらメモリアロケート状況が画面上部に表示される。勿論Kindle上でも見れる。

Kindle FireHD8.9では定常状態で60fps。ボタンを連打しまくりで、59fps以上。ほとんど影響が無い。
しかし1fpsとはいえ下がったのが地味に気になる。(PCでは常時60fpsに張り付く)
極論、このダイアルを60個同時に動かしたら1Fps?とも言えなくも無い。

昨今のタブレットデバイスは高性能とはいえ油断するとすぐ重くなるかも。







0 件のコメント:

コメントを投稿