Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Unity energy usage
Search
mattak
November 29, 2017
Programming
0
850
Unity energy usage
Unity3D battery usage research
mattak
November 29, 2017
Tweet
Share
More Decks by mattak
See All by mattak
最近やった作業環境改善施策10個
mattak
0
240
UnixTime is Simple
mattak
0
160
おっさんが停滞しないために
mattak
32
18k
tech invest
mattak
1
300
Nodux - node base redux framework
mattak
0
1.4k
what_is_technical_investment
mattak
0
120
unitypackage distribution
mattak
0
760
Unidux 0.3.1
mattak
1
360
Component Pattern for Android
mattak
0
480
Other Decks in Programming
See All in Programming
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
4
1.4k
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
230
RubyLSPのマルチバイト文字対応
notfounds
0
120
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
330
CSC509 Lecture 09
javiergs
PRO
0
140
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
220
AWS IaCの注目アップデート 2024年10月版
konokenj
3
3.3k
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
1.1k
Click-free releases & the making of a CLI app
oheyadam
2
110
Arm移行タイムアタック
qnighy
0
310
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
190
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Optimizing for Happiness
mojombo
376
70k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Adopting Sorbet at Scale
ufuk
73
9.1k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Automating Front-end Workflow
addyosmani
1366
200k
Teambox: Starting and Learning
jrom
133
8.8k
Transcript
Unityと消費電力 Gotanda.unity #3 2017/11/29 @mattak
モチベーション 位置ゲームなど… - 屋外 - 充電できない環境で長時間遊ばれる - バッテリーくいすぎると不評 => Unityだとどんな感じか気になったので調査
実験 端末: - iPhoneX (iOS 11.1) 比較: - iOS Native
- WebView - Unity
動作 白表示する Unity - Canvas & Image
検証1. Native/WebView/Unity 消費電力が大きいのは?
iOS Native
iOS Native (energy)
iOS Native (energy) ΄΅%JTQMBZ ੨ $16 ࢵ ىಈ࣌ͷΈ
iOS Native (cpu)
iOS Native (cpu) $16ىಈ࣌ͷΈ
WebView
WebView (energy)
WebView (energy) ॳظ$16 ࢵ ͕एׯ ΄΅%JTQMBZ ੨
WebView (cpu)
LocalでのHTML表示だったので、 通信して表示みる
WebView (energy) - 通信表示
WebView (energy) - 通信表示 /FUXPSL ᒵ ͱ 0WFSIFBE
Ͱిྗ͘͏
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: 散発的な通信 は電池食う (通信すると待機状態になる)
WebView (energy) - 通信表示 ௨৴ػ ௨৴։࢝ ᒵ
Unity
Unity (energy)
Χϥϑϧ
Unity (energy) %JTQMBZ ੨ (16 ͕ʑ $16 ࢵ ৗʹ
Unity (energy) ௨৴։࢝ ᒵ ௨৴ػ
Network? UnityAnalyticsが有効になっていた!
外してみたが変わらず…
一旦諦めてCPUの状態をみる
Unity (cpu)
Unity (cpu) ཪͰͣͬͱήʔϜϧʔϓ͕ ճ͍ͬͯΔ
検証2. 画面表示を黒にするのは効果あるのか?
バッテリーセーバー機能 - 画面が下をむくと自動的に黒
動作 黒表示する Unity - Canvas & Image
Unity (battery) - 白画面
Unity (battery) - 黒画面
Unity (battery) - 黒画面 %JTQMBZ ੨ ͕ݮͬͯΔʂ
Native iOSでも同様に黒にしてみる
Native iOS (battery) - 黒画面
Native iOS (battery) - 黒画面 ΄΅ όοςϦʔফඅͳ͠
よく観察すると、最近のOSは頻繁に黒画面になる - ロックスクリーンが黒っぽい - 数秒で輝度が下がる - …
ちなみに、電源ボタン押して画面ロックしてみると
Unity (battery) - バックグラウンド
Unity (battery) - バックグラウンド ͦͷؒ$16(16ͳͲ ΖΖࢭ·Δ
白画面 >> 黒画面 >> ロックスクリーン
検証3. FPSを下げるのは効果あるのか?
V Sync Count => Dont Sync Application.targetFrameRate = 1
Unity (fps) - fps1 (黒画面)
Unity (fps) - fps1 (黒画面) '14
Unity (battery) - fps1 (黒画面)
Unity (battery) - fps1 (黒画面) (16 ͕ ΄΅ಈ͍ͯͳ͍ /FUXPSL
ᒵ ͱ 0WFSIFBE ͕େ /FUXPSL ᒵ ͑͞ མͪண͚ ΄΅$16 ࢵ ͷΈ
Unity (cpu) - fps1 (黒画面)
Unity (cpu) - fps1 (黒画面) ฏۉ ΄΅΄΅ಈ͍ͯͳ͍
高FPS > 低FPS (CPU/GPUへのインパクト)
結論 検証1. 消費電力が大きいのは? - Native <= WebView << Unity 検証2.
黒画面効果ある? - YES. ただ画面ロックのほうが更に効果ある 検証3. FPS下げるの効果ある? - YES. GPUとCPU使用率が下がる
結論 ネットワーク - 散発リクエストしちゃだめ - Overheadは地味に電力くう - Unityは裏で定期的に通信してる 画面 -
黒っぽくしよう - 画面ロックしよう FPS - 下げよう