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
930
Unity energy usage
Unity3D battery usage research
mattak
November 29, 2017
Tweet
Share
More Decks by mattak
See All by mattak
最近やった作業環境改善施策10個
mattak
0
270
UnixTime is Simple
mattak
0
210
おっさんが停滞しないために
mattak
32
18k
tech invest
mattak
1
320
Nodux - node base redux framework
mattak
0
1.5k
what_is_technical_investment
mattak
0
140
unitypackage distribution
mattak
0
830
Unidux 0.3.1
mattak
1
410
Component Pattern for Android
mattak
0
510
Other Decks in Programming
See All in Programming
フロントエンド開発に役立つクライアントプログラム共通のノウハウ / Universal client-side programming best practices for frontend development
nrslib
7
3.9k
Back to the Future: Let me tell you about the ACP protocol
terhechte
0
130
iOS 17で追加されたSubscriptionStoreView を利用して5分でサブスク実装チャレンジ
natmark
0
580
ソフトウェア設計の実践的な考え方
masuda220
PRO
3
470
Web技術を最大限活用してRAW画像を現像する / Developing RAW Images on the Web
ssssota
2
1.2k
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
920
CSC305 Lecture 03
javiergs
PRO
0
230
Le côté obscur des IA génératives
pascallemerrer
0
120
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
920
CSC305 Lecture 02
javiergs
PRO
1
260
株式会社 Sun terras カンパニーデック
sunterras
0
220
WebエンジニアがSwiftをブラウザで動かすプレイグラウンドを作ってみた
ohmori_yusuke
0
170
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
460k
Rails Girls Zürich Keynote
gr2m
95
14k
Facilitating Awesome Meetings
lara
56
6.6k
Scaling GitHub
holman
463
140k
Being A Developer After 40
akosma
91
590k
Why Our Code Smells
bkeepers
PRO
339
57k
Automating Front-end Workflow
addyosmani
1371
200k
RailsConf 2023
tenderlove
30
1.2k
A designer walks into a library…
pauljervisheath
209
24k
Faster Mobile Websites
deanohume
310
31k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
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 - 下げよう