Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Unity energy usage

mattak
November 29, 2017

Unity energy usage

Unity3D battery usage research

mattak

November 29, 2017
Tweet

More Decks by mattak

Other Decks in Programming

Transcript

  1. Unityと消費電力 Gotanda.unity #3 2017/11/29 @mattak

  2. モチベーション 位置ゲームなど… - 屋外 - 充電できない環境で長時間遊ばれる - バッテリーくいすぎると不評 => Unityだとどんな感じか気になったので調査

  3. 実験 端末: - iPhoneX (iOS 11.1) 比較: - iOS Native

    - WebView - Unity
  4. 動作 白表示する Unity - Canvas & Image

  5. 検証1. Native/WebView/Unity 消費電力が大きいのは?

  6. iOS Native

  7. iOS Native (energy)

  8. iOS Native (energy) ΄΅%JTQMBZ ੨  $16 ࢵ ͸ىಈ࣌ͷΈ

  9. iOS Native (cpu)

  10. iOS Native (cpu) $16͸ىಈ࣌ͷΈ

  11. WebView

  12. WebView (energy)

  13. WebView (energy) ॳظ$16 ࢵ ͕एׯ  ΄΅%JTQMBZ ੨

  14. WebView (cpu)

  15. LocalでのHTML表示だったので、 通信して表示みる

  16. WebView (energy) - 通信表示

  17. WebView (energy) - 通信表示 /FUXPSL ᒵ ͱ 0WFSIFBE ੺ 

    Ͱిྗ͘͏
  18. IUUQTEFWFMPQFSBQQMFDPNMJCSBSZDPOUFOUEPDVNFOUBUJPO1FSGPSNBODF $PODFQUVBM&OFSHZ(VJEFJ04&OFSHZBOE/FUXPSLJOHIUNM Overhead? Networking Variable Effect on Energy (developer.apple.com) ネットワーク状態に関連してバッテリーが影響を受ける

    - 例1: 3G/LTEは WiFiよりも電池くう (10h -> 11h) - 例2: network throughputが悪いと待機時間画のびる - 例3: 散発的な通信 は電池食う (通信すると待機状態になる)
  19. WebView (energy) - 通信表示 ௨৴଴ػ ੺ ௨৴։࢝ ᒵ

  20. Unity

  21. Unity (energy)

  22. Χϥϑϧ

  23. Unity (energy) %JTQMBZ ੨ (16 ྘ ͕൒ʑ $16 ࢵ ͸ৗʹ

  24. Unity (energy) ௨৴։࢝ ᒵ ௨৴଴ػ ੺

  25. Network? UnityAnalyticsが有効になっていた!

  26. 外してみたが変わらず…

  27. 一旦諦めてCPUの状態をみる

  28. Unity (cpu)

  29. Unity (cpu) ཪͰͣͬͱήʔϜϧʔϓ͕ ճ͍ͬͯΔ

  30. 検証2. 画面表示を黒にするのは効果あるのか?

  31. バッテリーセーバー機能 - 画面が下をむくと自動的に黒

  32. 動作 黒表示する Unity - Canvas & Image

  33. Unity (battery) - 白画面

  34. Unity (battery) - 黒画面

  35. Unity (battery) - 黒画面 %JTQMBZ ੨  ͕ݮͬͯΔʂ

  36. Native iOSでも同様に黒にしてみる

  37. Native iOS (battery) - 黒画面

  38. Native iOS (battery) - 黒画面 ΄΅ όοςϦʔফඅͳ͠

  39. よく観察すると、最近のOSは頻繁に黒画面になる - ロックスクリーンが黒っぽい - 数秒で輝度が下がる - …

  40. ちなみに、電源ボタン押して画面ロックしてみると

  41. Unity (battery) - バックグラウンド

  42. Unity (battery) - バックグラウンド ͦͷؒ͸$16(16ͳͲ ΋Ζ΋Ζࢭ·Δ

  43. 白画面 >> 黒画面 >> ロックスクリーン

  44. 検証3. FPSを下げるのは効果あるのか?

  45. V Sync Count => Dont Sync Application.targetFrameRate = 1

  46. Unity (fps) - fps1 (黒画面)

  47. Unity (fps) - fps1 (黒画面) '14͸

  48. Unity (battery) - fps1 (黒画面)

  49. Unity (battery) - fps1 (黒画面) (16 ྘ ͕ ΄΅ಈ͍ͯͳ͍ /FUXPSL

    ᒵ ͱ 0WFSIFBE ੺ ͕େ൒ /FUXPSL ᒵ ͑͞ མͪண͚͹ ΄΅$16 ࢵ ͷΈ
  50. Unity (cpu) - fps1 (黒画面)

  51. Unity (cpu) - fps1 (黒画面) ฏۉ ΄΅΄΅ಈ͍ͯͳ͍

  52. 高FPS > 低FPS (CPU/GPUへのインパクト)

  53. 結論 検証1. 消費電力が大きいのは? - Native <= WebView << Unity 検証2.

    黒画面効果ある? - YES. ただ画面ロックのほうが更に効果ある 検証3. FPS下げるの効果ある? - YES. GPUとCPU使用率が下がる
  54. 結論 ネットワーク - 散発リクエストしちゃだめ - Overheadは地味に電力くう - Unityは裏で定期的に通信してる 画面 -

    黒っぽくしよう - 画面ロックしよう FPS - 下げよう