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
1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Unity energy usage
Unity3D battery usage research
mattak
November 29, 2017
More Decks by mattak
See All by mattak
人間はどこまでさぼれるか? AIコーディングで人の関与を計測してみた
mattak
0
13
最近やった作業環境改善施策10個
mattak
0
320
UnixTime is Simple
mattak
0
280
おっさんが停滞しないために
mattak
32
19k
tech invest
mattak
1
380
Nodux - node base redux framework
mattak
0
1.6k
what_is_technical_investment
mattak
0
200
unitypackage distribution
mattak
0
900
Unidux 0.3.1
mattak
1
450
Other Decks in Programming
See All in Programming
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
500
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
220
Cloudflare is Agents
chimame
0
180
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
2
420
バグを直したら useEffect が消えた
colorful12
3
690
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
250
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
170
Hono + Inertia + React で LP を構築した話
oukayuka
2
140
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
360
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
190
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
290
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
140
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
490
Navigating Weather and Climate Data
rabernat
0
490
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
540
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
450
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Documentation Writing (for coders)
carmenintech
77
5.5k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Darren the Foodie - Storyboard
khoart
PRO
3
3.7k
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 - 下げよう