Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
KT
Uploaded by
KLab Inc. / Tech
PDF, PPTX
4,202 views
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
CEDEC2019 CI/CDと連携したモバイル(Android)向けUnity製ゲームの自動プロファイリングシステムの構築方法
Technology
◦
Read more
3
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 33
2
/ 33
3
/ 33
4
/ 33
5
/ 33
6
/ 33
7
/ 33
8
/ 33
9
/ 33
10
/ 33
Most read
11
/ 33
12
/ 33
13
/ 33
14
/ 33
15
/ 33
16
/ 33
17
/ 33
18
/ 33
19
/ 33
20
/ 33
21
/ 33
22
/ 33
23
/ 33
24
/ 33
25
/ 33
26
/ 33
27
/ 33
28
/ 33
29
/ 33
30
/ 33
Most read
31
/ 33
32
/ 33
33
/ 33
More Related Content
PDF
CEDEC2015「加算合成コストが0になる!?すぐに使えるP-MAPブレンドテクニック」発表スライド
by
Toshiyasu Miyabe
PPTX
UE4のためのより良いゲーム設計を理解しよう!
by
Masahiko Nakamura
PDF
UE4モバイルブートキャンプ
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
[UE4]自動テストでもっと楽したい!
by
com044
PPTX
[CEDEC2018] UE4アニメーションシステム総おさらい
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
猫でも分かるUE4のポストプロセスを使った演出・絵作り
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
60fpsアクションを実現する秘訣を伝授 基礎編
by
エピック・ゲームズ・ジャパン Epic Games Japan
CEDEC2015「加算合成コストが0になる!?すぐに使えるP-MAPブレンドテクニック」発表スライド
by
Toshiyasu Miyabe
UE4のためのより良いゲーム設計を理解しよう!
by
Masahiko Nakamura
UE4モバイルブートキャンプ
by
エピック・ゲームズ・ジャパン Epic Games Japan
[UE4]自動テストでもっと楽したい!
by
com044
[CEDEC2018] UE4アニメーションシステム総おさらい
by
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かるUE4のポストプロセスを使った演出・絵作り
by
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
by
エピック・ゲームズ・ジャパン Epic Games Japan
60fpsアクションを実現する秘訣を伝授 基礎編
by
エピック・ゲームズ・ジャパン Epic Games Japan
What's hot
PDF
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
by
Unity Technologies Japan K.K.
PDF
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
by
UnityTechnologiesJapan002
PDF
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
by
SEGADevTech
PPTX
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
by
Game Tools & Middleware Forum
PDF
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
by
UnityTechnologiesJapan002
PDF
60fpsアクションを実現する秘訣を伝授 解析編
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unityでパフォーマンスの良いUIを作る為のTips
by
Unity Technologies Japan K.K.
PDF
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4でマルチプレイヤーゲームを作ろう
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~
by
KLab Inc. / Tech
PDF
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
by
Takahito Tejima
PDF
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
by
UnityTechnologiesJapan002
PPTX
UnityでUI開発を高速化した件
by
Grenge, Inc.
PPTX
UE4におけるLoadingとGCのProfilingと最適化手法
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
ゲームの仕様書を書こうまとめ
by
Sugimoto Chizuru
PDF
UniTask入門
by
torisoup
PDF
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
by
Unity Technologies Japan K.K.
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
by
UnityTechnologiesJapan002
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
by
エピック・ゲームズ・ジャパン Epic Games Japan
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
by
SEGADevTech
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
by
Game Tools & Middleware Forum
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
by
UnityTechnologiesJapan002
60fpsアクションを実現する秘訣を伝授 解析編
by
エピック・ゲームズ・ジャパン Epic Games Japan
Unityでパフォーマンスの良いUIを作る為のTips
by
Unity Technologies Japan K.K.
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4でマルチプレイヤーゲームを作ろう
by
エピック・ゲームズ・ジャパン Epic Games Japan
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~
by
KLab Inc. / Tech
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
by
Takahito Tejima
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
by
UnityTechnologiesJapan002
UnityでUI開発を高速化した件
by
Grenge, Inc.
UE4におけるLoadingとGCのProfilingと最適化手法
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
ゲームの仕様書を書こうまとめ
by
Sugimoto Chizuru
UniTask入門
by
torisoup
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
More from KLab Inc. / Tech
PDF
【公開用】モバイルオンラインゲーム開発を支える早く、安く、使いやすいサーバインフラ構築
by
KLab Inc. / Tech
PDF
モバイルオンラインゲームのアプリ外課金の導入と運用方法について
by
KLab Inc. / Tech
PDF
デバイスファーム 「AirLab」 による 自動QAテストの実績と機械学習が拓く次世代QAの可能性
by
KLab Inc. / Tech
PDF
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
by
KLab Inc. / Tech
PDF
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
by
KLab Inc. / Tech
PDF
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
by
KLab Inc. / Tech
PDF
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
by
KLab Inc. / Tech
PDF
生成AIが切り拓く新しいゲームの創り方・遊び方
by
KLab Inc. / Tech
PDF
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
by
KLab Inc. / Tech
PDF
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
by
KLab Inc. / Tech
PDF
他業界からゲーム業界へ転向したときの話
by
KLab Inc. / Tech
PDF
KLabのゲーム開発を支える開発環境
by
KLab Inc. / Tech
PDF
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
by
KLab Inc. / Tech
PDF
「リアルISUCON」としてのモバイルオンラインゲーム開発
by
KLab Inc. / Tech
PDF
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
by
KLab Inc. / Tech
PDF
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
by
KLab Inc. / Tech
PDF
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
by
KLab Inc. / Tech
PPTX
KLabのチャットシステム インフラ変遷
by
KLab Inc. / Tech
PPTX
Ganglia のUIにGrafanaを追加する話
by
KLab Inc. / Tech
PPTX
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
by
KLab Inc. / Tech
【公開用】モバイルオンラインゲーム開発を支える早く、安く、使いやすいサーバインフラ構築
by
KLab Inc. / Tech
モバイルオンラインゲームのアプリ外課金の導入と運用方法について
by
KLab Inc. / Tech
デバイスファーム 「AirLab」 による 自動QAテストの実績と機械学習が拓く次世代QAの可能性
by
KLab Inc. / Tech
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
by
KLab Inc. / Tech
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
by
KLab Inc. / Tech
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
by
KLab Inc. / Tech
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
by
KLab Inc. / Tech
生成AIが切り拓く新しいゲームの創り方・遊び方
by
KLab Inc. / Tech
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
by
KLab Inc. / Tech
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
by
KLab Inc. / Tech
他業界からゲーム業界へ転向したときの話
by
KLab Inc. / Tech
KLabのゲーム開発を支える開発環境
by
KLab Inc. / Tech
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
by
KLab Inc. / Tech
「リアルISUCON」としてのモバイルオンラインゲーム開発
by
KLab Inc. / Tech
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
by
KLab Inc. / Tech
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
by
KLab Inc. / Tech
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
by
KLab Inc. / Tech
KLabのチャットシステム インフラ変遷
by
KLab Inc. / Tech
Ganglia のUIにGrafanaを追加する話
by
KLab Inc. / Tech
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
by
KLab Inc. / Tech
Recently uploaded
PDF
第25回FA設備技術勉強会_自宅で勉強するROS・フィジカルAIアイテム.pdf
by
TomohiroKusu
PPTX
DrupalCon Nara 2025の記録 .
by
iPride Co., Ltd.
PDF
安価な ロジック・アナライザを アナライズ(?),Analyze report of some cheap logic analyzers
by
たけおか しょうぞう
PDF
基礎から学ぶ PostgreSQL の性能監視 (PostgreSQL Conference Japan 2025 発表資料)
by
NTT DATA Technology & Innovation
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):東京大学情報基盤センター テーマ1/2/3「Society5.0の実現を目指す『計算・データ・学習...
by
PC Cluster Consortium
PDF
visionOS TC「新しいマイホームで過ごすApple Vision Proとの新生活」
by
Sugiyama Yugo
第25回FA設備技術勉強会_自宅で勉強するROS・フィジカルAIアイテム.pdf
by
TomohiroKusu
DrupalCon Nara 2025の記録 .
by
iPride Co., Ltd.
安価な ロジック・アナライザを アナライズ(?),Analyze report of some cheap logic analyzers
by
たけおか しょうぞう
基礎から学ぶ PostgreSQL の性能監視 (PostgreSQL Conference Japan 2025 発表資料)
by
NTT DATA Technology & Innovation
PCCC25(設立25年記念PCクラスタシンポジウム):東京大学情報基盤センター テーマ1/2/3「Society5.0の実現を目指す『計算・データ・学習...
by
PC Cluster Consortium
visionOS TC「新しいマイホームで過ごすApple Vision Proとの新生活」
by
Sugiyama Yugo
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
1.
Android向けUnity製ゲーム最適化のための CI/CDと連携した 自動プロファイリングシステム KLab株式会社
2.
発表者 塙 与志夫 上席執行役員 KLab株式会社 於保 俊 エンジニアリングマネージャー KLab株式会社 細田
翔 Unityエンジニア KLab株式会社
3.
実機のプロファイリング 面倒じゃないですか?
4.
課題:モバイルでの実機プロファイリングは大変 ● 端末ごとに性能も特徴もさまざま ● SoCごとに異なるプロファイラー ●
専門知識が必要 充分な量のプロファイリングができずに パフォーマンスの問題を見逃してしまう
5.
解決策:継続的な自動プロファイリング ● CI/CDと連携した全自動の実機プロファイリング ● 非エンジニアでもダッシュボードから結果を見れる パフォーマンスの劣化を見逃さない! すぐにチューニングに着手できる!
7.
本日のアジェンダ 1. 自動プロファイリングのための Unityアプリケーション側の実装 2. プロファイリングのAndroid実機での 自動実行システム 3.
ダッシュボードシステム
8.
8 自動プロファイリングのための Unityアプリケーション側の実装
9.
通常のプロファイリング方法 ● Unity標準のUnity Profilerを利用 ●
CPUの詳細な分析が可能(フレーム単位でのタイムライン表示など) Unity Profiler ウィンドウ
10.
スクリプト経由でのプロファイリング開始と終了 ● Unity Profilerの通常の利用方法 ○
PCと端末をUSBケーブルで接続して、プロファイラからアタッチ ○ 手間がかかる & UI操作の自動化が難しい ● Unity ProfilerのAPIを利用 ○ スクリプト経由でバイナリログを端末内に保存できる ○ スタンドアローンで動作するので、PCとの接続も不要 Profiler.logFile = "mylog";// 保存ファイル名の指定 Profiler.SetAreaEnabled(ProfilerArea.Rendering, true);// プロファイリング項目の指定 Profiler.enableBinaryLog = true;// 詳細なバイナリログ形式で保存 Profiler.enabled = true;// プロファイリングを開始
11.
プロファイリングデータの集計 ●Profiler Reader ○ バイナリログをCSVに変換・集計するツール ○
Unity Technologies Japanと開発 ○ https://github.com/unity3d-jp/ProfilerReader ○ 明日 9/5 (木) 13:30〜14:30『Unity2018/2019における最適化事情』 Profiler Reader バイナリログ CSV
12.
Profiler Readerの活用方法 ● メインスレッドのメソッド単位の集計情報 ○
処理時間 ( avg / sum / min / max ) ○ 呼び出し回数 ○ コールスタック ●フレーム単位の情報 ○ Unityのメインスレッド全体 ms ○ Unityのレンダースレッド全体 ms ○ Unityの各Jobスレッド全体 ms ○ ドローコール数 ○ メモリ使用量 ● CPU負荷の高い メソッドの特定 ● 重たいフレームの特定 ● 原因のだいたいの把握
13.
自動プレイ機能の実装 ● アプリを起動したら完全放置でゲームが進行 ○ プロファイリング対象のシーンに順番に遷移 ●
プロファイリングシステムへの成功・失敗の通知 ○ 成功:すべての計測シナリオが正常終了 ○ 失敗:例外が発生してアプリが進行不能 ○ 通知用のファイルを生成
14.
14 プロファイリングの Android 実機での自動実行システム
16.
● メインは Python
スクリプトで構成 ● 普通の Windows PC に端末を接続 ● Android 開発ツールなどを活用 ○ aapt (Android Asset Packaging Tool) ■ Bundle ID の apk パッケージからの抽出 ■ メインアクティビティ名の抽出 ○ adb (Android Debug Bridge) ■ apk の実端末へのインストール ■ ゲームアプリケーションの実行 ■ ファイル転送やクリーンアップ ○ Unity (Profiler Reader実行用) プロファイル自動実行システムの構成
17.
プロファイル自動実行の流れ apk ダウンロード パッケージ名 などの抽出 実機インストール アプリ実行 終了ファイル ある? 結果抽出 変換 アップロード デバイス クリーンアップ Yes No
18.
実機では頻繁に「エラー」が起きる 基本的には adb のエラー終了として起こる ●
「少し待ってリトライ」が一番有効 ○ エラー終了したらn回リトライして、それでだめならその回は失敗 ● 要所で adb サーバーを再起動 ○ 特に apk インストール失敗時に再起動すると「経験上」うまくいく率が高い ○ 逆に再起動しすぎても、うまくいかないこともある ● 機種・OS間の差異が大きく、厄介 ○ 進行ログもエラーメッセージも違う ○ 頑張ろうとせずに適当に あきらめが肝心 実機利用での難しさ(1) エラー処理
19.
プロファイルをなるべく同じ環境でやりたい ● バックグラウンドプロセスなど ○ adb
shell am kill : プロセスの停止 ○ adb shell am kill-all : 全てのアプリケーションプロセスの停止 ● ストレージの管理 ○ adb shell pm clear : 特定パッケージのデータ削除 ● 冷却のために待ち時間をいれる ○ いれないと何もしてないのにどんどん結果が悪化する ○ さらにダメ押しでスマホクーラーを投入! 端末自体の再起動もやっていたが、 USB接続設定がリセットされたりするので、逆に不安定になる 実機利用での難しさ(2) 端末をクリーンに保つ
20.
● 開発者モード ● スリープしない ○
USB接続中はスリープしない設定がある ● ファイル転送モード ○ 結果ファイルを転送できるように ● 音量 ○ すべてミュート ○ 夜中に謎の音が鳴り続けないように ● 画面輝度 ○ 最低に ○ 電力使わないように ○ 焼き付き防止? 実機利用での難しさ(3) 端末設定
21.
21 ダッシュボードシステム
23.
ダッシュボード画面
24.
● マネージドサービスで構成すること ○ 管理者を立てるほどの規模ではないため ●
お値段そこそこであること ○ お財布の心配は少ない方がいい →GCPサービスと無料のBIツールの組み合わせで実現 ダッシュボードの要件
25.
● Cloud Storage
+ Cloud Functions ○ ストレージ+サーバレスサービス ○ CSVをPythonスクリプトで処理、BigQueryに追記 ● BigQuery ○ 分析用途に向いたデータベース、非常に安価 ○ データを蓄積、ダッシュボード向けに整形 ● Googleデータポータル ○ 無料のBIツール(Googleさん太っ腹) ○ プロファイリング結果の可視化・情報共有 ダッシュボードの構成要素
26.
● 直近のプロファイリン グ結果を表示 ● ドリルダウンリンクで 詳細ページに遷移 ダッシュボード画面
27.
● カテゴリ別表示 ○ 実行時間上位 ○
予算超過率 ● メソッド別表示 ○ 実行時間上位 etc... 詳細画面
28.
● 高負荷になるタイミングを可視化 ○ 性能改善の材料として 時系列グラフ
29.
可視化の例
30.
● カテゴリ分類をGoogleスプレッドシートで定義 ○ チームメンバーが自由に編集できる ○
ダッシュボードにすぐ反映される ● スプレッドシートはBigQueryテーブルとして扱える ○ 裏側の仕組みを知らなくても集計結果をカスタマイズできる BigQuery採用の意外なメリット
31.
● 意図せずゲームが重くなることがあり、有用だった ○ Unityのマイナーバージョンアップ時 ○
性能と無関係なつもりの変更が実際は重かった場合 ● プロファイリング結果をメンバー内で共有できて便利 ○ 特に非エンジニアにデータを共有しやすい 運用してみてのエピソード
32.
● Android実機による自動プロファイリングシステムを開発 ○ 実機プロファイリングのハードルを大幅に下げられた ○
チームメンバーと結果を共有しやすくなった ● 成果も得られた ○ ゲーム中のボトルネックの発見に役立った ○ 性能改善のイテレーションが速まった 結論
33.
33 Thank you
Download