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
890
Unity energy usage
Unity3D battery usage research
mattak
November 29, 2017
Tweet
Share
More Decks by mattak
See All by mattak
最近やった作業環境改善施策10個
mattak
0
250
UnixTime is Simple
mattak
0
190
おっさんが停滞しないために
mattak
32
18k
tech invest
mattak
1
310
Nodux - node base redux framework
mattak
0
1.4k
what_is_technical_investment
mattak
0
120
unitypackage distribution
mattak
0
800
Unidux 0.3.1
mattak
1
390
Component Pattern for Android
mattak
0
500
Other Decks in Programming
See All in Programming
Vibe Codingをせずに Clineを使っている
watany
17
6.2k
AI Coding Agent Enablement - エージェントを自走させよう
yukukotani
14
6.1k
VitestのIn-Source Testingが便利
taro28
5
1.5k
Do Dumb Things
mitsuhiko
0
430
Deoptimization: How YJIT Speeds Up Ruby by Slowing Down / RubyKaigi 2025
k0kubun
0
810
ミリしらMCP勉強会
watany
4
760
Optimizing JRuby 10
headius
0
310
PHPバージョンアップから始めるOSSコントリビュート / how2oss-contribute
dmnlk
1
1k
PHP で学ぶ OAuth 入門
azuki
1
190
Rollupのビルド時間高速化によるプレビュー表示速度改善とバンドラとASTを駆使したプロダクト開発の難しさ
plaidtech
PRO
1
170
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
4
640
API for docs
soutaro
2
1.3k
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
550
Measuring & Analyzing Core Web Vitals
bluesmoon
7
390
Producing Creativity
orderedlist
PRO
344
40k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Optimizing for Happiness
mojombo
377
70k
Music & Morning Musume
bryan
47
6.5k
The Cult of Friendly URLs
andyhume
78
6.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
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 - 下げよう