SlideShare a Scribd company logo
Continuous Profiling for
Android Game Performance Optimization
KLab Inc.
Yoshio Hanawa
Software Engineer
KLab Inc.
Suguru Oho
Software Engineer
KLab Inc.
Sho Hosoda
Unity Engineer
KLab Inc.
KLab Inc.
About us
KLab is a Mobile gaming
company in Japan.
We have a number of games available globally
based on Japanese IPs.
Profiling on Mobile Is Painful
● No dedicated debug hardware
● Many different devices / profilers
● Troublesome to set up correctly
● Not easy for non-engineers
So we profiled on only a few devices for a limited set of cases...
Too late to notice performance degradation 
KLab Inc.
Our Solution : Continuous Profiling
● Automatic profiling integrated with CI/CD
● Non-engineers can view the analysis results on the dashboard
We can detect performance degradation sooner
and start optimizing the bottlenecks immediately
KLab Inc.
KLab Inc.
Part 1: How to Profile the Application
Scripting allows the Unity player to save profiling data in-device as a Binary Log file.
We can load and view this file in the Unity Editor using the Profiler window.
// Saves profiling data
Profiler.logFile = "mylog";
Profiler.enableBinaryLog = true;
Profiler.enabled = true;
Viewing binary log using Unity Profiler window
KLab Inc.
Summarizing Profiling Data
● We developed a Converter with Unity Technologies Japan.
● It summarize results for each Unity’s CPU main thread method.
○ processing time ( average / sum / min / max )
○ number of calls
○ call stack
Convert
Binary Log CSV
KLab Inc.
Changes to the Application for Profiling
1. Automatic app play
○ It is necessary for automatic profiling.
○ Execute a fixed scenario, such as the transition to the target scene.
2. Control start and end of profiling
○ We want to profile only the target scene.
3. Save JSON for meta information
○ Unity Version / Platform / Device Model / Scene Name / etc...
KLab Inc.
Part 2. Auto Profiling System
KLab Inc.
We can build an APK package by sending a command to a bot on Slack.
The profiling system starts automatically when the APK build is complete.
The team members don’t need to be aware of the profiling.
Build System Integration
KLab Inc.
● Python script
● AAPT (Android Asset Packaging Tool)
○ Detect Bundle ID
○ Detect main activity name
● ADB (Android Debug Bridge)
○ Install apk
○ Run application
○ Uninstall, file transfer and cleanup
● Unity (Execute convert script)
Auto-Profiling System
KLab Inc.
● Error recovery
○ Wait and retry loop is better
○ Reset ADB server (by kill-server, start-server)
○ Difference between devices and OS version
● Keep device condition clean
○ Use some ADB subcommands
■ Kill: process kill
■ Kill-all: kill all background processes
■ Pm clear: clear all data related packages
○ Wait for cooling
● Device Settings
○ Developer mode
○ “Stay awake” & Select MTP
Difficulty with REAL devices
KLab Inc.
Part 3. Dashboard System
KLab Inc.
● Services on GCP
○ Cloud Storage + Cloud Functions
■ Storing and Processing data from Android
○ BigQuery
■ Data storage for dashboard
● Google Data Studio
○ Sharing visualized analytics for team members
Dashboard System Components
KLab Inc.
● Pros
○ Lower cost than RDB
○ Almost constant performance for massive data
○ Supported by popular business intelligence tools
● Cons
○ Slower query than RDB (1-10 sec)
○ Append-only storage by design
Suitable for data analytics even if not "big data."
Pros & Cons of BigQuery
KLab Inc.
● Pros
○ Free BI tool (Thanks Google!)
○ Provides access control with Google account
● Cons
○ Limited chart type and customizability
Good enough for our dashboard
Pros & Cons of Data Studio
KLab Inc.
Top page shows
summary of multiple profiling
Dashboard Screen
KLab Inc.
Click on the drilldown link on
the top page to go this page.
● By Category
○ Breakdown pie chart
○ Checking upper limit
● By Method
○ Average frame timing
[ms]
etc...
Detailed Report
KLab Inc.
Performance Improvement Due To Optimization
KLab Inc.
● Profile and show other performance indices
○ Memory consumption
○ GPU
○ Network I/O
○ Etc.
● More stability and usability
○ Monitoring auto-profiling system
○ Web interface for controlling auto-profiling system
Future works
KLab Inc.
We developed a fully-automated profiling system for Android games.
Freed from painful manual profiling tasks
Non-engineer friendly system
As a result
We can detect bottlenecks in our games.
The iteration of performance optimization becomes faster.
Conclusion
KLab Inc.
Thank You
KLab Inc.

More Related Content

What's hot

Software Engineering in Startups
Software Engineering in StartupsSoftware Engineering in Startups
Software Engineering in Startups
Dusan Omercevic
 
Gaas pitfall and best practices
Gaas   pitfall and best practicesGaas   pitfall and best practices
Gaas pitfall and best practicesBertrand Lamarque
 
Branching Your Way to Low-Code Perfection
Branching Your Way to Low-Code PerfectionBranching Your Way to Low-Code Perfection
Branching Your Way to Low-Code Perfection
OutSystems
 
Morden F2E Education - Think of Progressive Web Apps
Morden F2E Education - Think of Progressive Web AppsMorden F2E Education - Think of Progressive Web Apps
Morden F2E Education - Think of Progressive Web Apps
Caesar Chi
 
Introduction of bootstrap in angular
Introduction of bootstrap in angularIntroduction of bootstrap in angular
Introduction of bootstrap in angular
Knoldus Inc.
 
2018 .NET Conf - 利用Machine Learning .NET整合機器學習至應用程式
2018 .NET Conf - 利用Machine Learning .NET整合機器學習至應用程式2018 .NET Conf - 利用Machine Learning .NET整合機器學習至應用程式
2018 .NET Conf - 利用Machine Learning .NET整合機器學習至應用程式
Alan Tsai
 
JAMF User Group September 2015
JAMF User Group September 2015JAMF User Group September 2015
JAMF User Group September 2015
Steve Wood
 
Web Policies & Reporting
Web Policies & ReportingWeb Policies & Reporting
Web Policies & Reporting
Felix Arntz
 
Scrum Day, Introducing Scrum at moreTV
Scrum Day, Introducing Scrum at moreTVScrum Day, Introducing Scrum at moreTV
Scrum Day, Introducing Scrum at moreTV
Stefan Haas
 
How to Be More Productive With AI Development Assistance
How to Be More Productive With AI Development AssistanceHow to Be More Productive With AI Development Assistance
How to Be More Productive With AI Development Assistance
OutSystems
 
.Net core 與 .net standard 實戰教學 開發指南
.Net core 與 .net standard 實戰教學   開發指南.Net core 與 .net standard 實戰教學   開發指南
.Net core 與 .net standard 實戰教學 開發指南
Alan Tsai
 
Сергей Баранов. Enterprise DevOps
Сергей Баранов. Enterprise DevOpsСергей Баранов. Enterprise DevOps
Сергей Баранов. Enterprise DevOps
ScrumTrek
 
Azure Artifactsを触ってみよう
Azure Artifactsを触ってみようAzure Artifactsを触ってみよう
Azure Artifactsを触ってみよう
DevTakas
 
Motion design in FIori
Motion design in FIoriMotion design in FIori
Motion design in FIori
Roman Rommel
 
Programming Motherfucker
Programming MotherfuckerProgramming Motherfucker
Programming Motherfucker
Dusan Omercevic
 
Pluggable web app using Angular (Odessa JS conf)
Pluggable web app using Angular (Odessa JS conf)Pluggable web app using Angular (Odessa JS conf)
Pluggable web app using Angular (Odessa JS conf)
Saif Jerbi
 
Progressive Web App Testing With Cypress.io
Progressive Web App Testing With Cypress.ioProgressive Web App Testing With Cypress.io
Progressive Web App Testing With Cypress.io
Knoldus Inc.
 

What's hot (20)

Software Engineering in Startups
Software Engineering in StartupsSoftware Engineering in Startups
Software Engineering in Startups
 
Gaas pitfall and best practices
Gaas   pitfall and best practicesGaas   pitfall and best practices
Gaas pitfall and best practices
 
Branching Your Way to Low-Code Perfection
Branching Your Way to Low-Code PerfectionBranching Your Way to Low-Code Perfection
Branching Your Way to Low-Code Perfection
 
JavaFX meetup
JavaFX meetupJavaFX meetup
JavaFX meetup
 
Morden F2E Education - Think of Progressive Web Apps
Morden F2E Education - Think of Progressive Web AppsMorden F2E Education - Think of Progressive Web Apps
Morden F2E Education - Think of Progressive Web Apps
 
Introduction of bootstrap in angular
Introduction of bootstrap in angularIntroduction of bootstrap in angular
Introduction of bootstrap in angular
 
2018 .NET Conf - 利用Machine Learning .NET整合機器學習至應用程式
2018 .NET Conf - 利用Machine Learning .NET整合機器學習至應用程式2018 .NET Conf - 利用Machine Learning .NET整合機器學習至應用程式
2018 .NET Conf - 利用Machine Learning .NET整合機器學習至應用程式
 
Q6
Q6Q6
Q6
 
JAMF User Group September 2015
JAMF User Group September 2015JAMF User Group September 2015
JAMF User Group September 2015
 
Web Policies & Reporting
Web Policies & ReportingWeb Policies & Reporting
Web Policies & Reporting
 
Scrum Day, Introducing Scrum at moreTV
Scrum Day, Introducing Scrum at moreTVScrum Day, Introducing Scrum at moreTV
Scrum Day, Introducing Scrum at moreTV
 
How to Be More Productive With AI Development Assistance
How to Be More Productive With AI Development AssistanceHow to Be More Productive With AI Development Assistance
How to Be More Productive With AI Development Assistance
 
.Net core 與 .net standard 實戰教學 開發指南
.Net core 與 .net standard 實戰教學   開發指南.Net core 與 .net standard 實戰教學   開發指南
.Net core 與 .net standard 實戰教學 開發指南
 
DevOps
DevOpsDevOps
DevOps
 
Сергей Баранов. Enterprise DevOps
Сергей Баранов. Enterprise DevOpsСергей Баранов. Enterprise DevOps
Сергей Баранов. Enterprise DevOps
 
Azure Artifactsを触ってみよう
Azure Artifactsを触ってみようAzure Artifactsを触ってみよう
Azure Artifactsを触ってみよう
 
Motion design in FIori
Motion design in FIoriMotion design in FIori
Motion design in FIori
 
Programming Motherfucker
Programming MotherfuckerProgramming Motherfucker
Programming Motherfucker
 
Pluggable web app using Angular (Odessa JS conf)
Pluggable web app using Angular (Odessa JS conf)Pluggable web app using Angular (Odessa JS conf)
Pluggable web app using Angular (Odessa JS conf)
 
Progressive Web App Testing With Cypress.io
Progressive Web App Testing With Cypress.ioProgressive Web App Testing With Cypress.io
Progressive Web App Testing With Cypress.io
 

Similar to Continuous Profiling for Android Game Performance Optimization

Expedia 3x3 presentation
Expedia 3x3 presentationExpedia 3x3 presentation
Expedia 3x3 presentation
Drew Hannay
 
Building Kick Ass Video Games for the Cloud
Building Kick Ass Video Games for the CloudBuilding Kick Ass Video Games for the Cloud
Building Kick Ass Video Games for the Cloud
Chris Schalk
 
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Kaxil Naik
 
Tools and libraries for common problems (Early Draft)
Tools and libraries for common problems (Early Draft)Tools and libraries for common problems (Early Draft)
Tools and libraries for common problems (Early Draft)
rc2209
 
Android Lollipop: The developer's perspective
Android Lollipop: The developer's perspectiveAndroid Lollipop: The developer's perspective
Android Lollipop: The developer's perspective
Sebastian Vieira
 
Spring and Summer '19 Development Feature Highlights
Spring and Summer '19 Development Feature HighlightsSpring and Summer '19 Development Feature Highlights
Spring and Summer '19 Development Feature Highlights
BingWang77
 
LAS16-201: ART JIT in Android N
LAS16-201: ART JIT in Android NLAS16-201: ART JIT in Android N
LAS16-201: ART JIT in Android N
Linaro
 
AGDK tutorial step by step
AGDK tutorial step by stepAGDK tutorial step by step
AGDK tutorial step by step
Jungsoo Nam
 
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControl
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControlWebinar slides: How to Automate & Manage PostgreSQL with ClusterControl
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControl
Severalnines
 
MongoDB.local Austin 2018: PetroCloud: MongoDB for the Industrial IOT Ecosystem
MongoDB.local Austin 2018: PetroCloud: MongoDB for the Industrial IOT EcosystemMongoDB.local Austin 2018: PetroCloud: MongoDB for the Industrial IOT Ecosystem
MongoDB.local Austin 2018: PetroCloud: MongoDB for the Industrial IOT Ecosystem
MongoDB
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipster
Julien Dubois
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
smalltown
 
[Gstar 2013] Unity Security
[Gstar 2013] Unity Security[Gstar 2013] Unity Security
[Gstar 2013] Unity Security
Seungmin Shin
 
Overcome a Frontier
Overcome a FrontierOvercome a Frontier
Overcome a Frontier
Izzet Mustafaiev
 
Performance & dev tools
Performance & dev toolsPerformance & dev tools
Performance & dev tools
Guy Yogev
 
Drools & jBPM Workshop Barcelona 2013
Drools & jBPM Workshop  Barcelona 2013Drools & jBPM Workshop  Barcelona 2013
Drools & jBPM Workshop Barcelona 2013
Mauricio (Salaboy) Salatino
 
ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)
Wilfred van der Deijl
 
Pivotal Greenplum Cloud Marketplaces - Greenplum Summit 2019
Pivotal Greenplum Cloud Marketplaces - Greenplum Summit 2019Pivotal Greenplum Cloud Marketplaces - Greenplum Summit 2019
Pivotal Greenplum Cloud Marketplaces - Greenplum Summit 2019
VMware Tanzu
 
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 MeetupPreparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
YashrajNayak4
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
shyamraj55
 

Similar to Continuous Profiling for Android Game Performance Optimization (20)

Expedia 3x3 presentation
Expedia 3x3 presentationExpedia 3x3 presentation
Expedia 3x3 presentation
 
Building Kick Ass Video Games for the Cloud
Building Kick Ass Video Games for the CloudBuilding Kick Ass Video Games for the Cloud
Building Kick Ass Video Games for the Cloud
 
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
 
Tools and libraries for common problems (Early Draft)
Tools and libraries for common problems (Early Draft)Tools and libraries for common problems (Early Draft)
Tools and libraries for common problems (Early Draft)
 
Android Lollipop: The developer's perspective
Android Lollipop: The developer's perspectiveAndroid Lollipop: The developer's perspective
Android Lollipop: The developer's perspective
 
Spring and Summer '19 Development Feature Highlights
Spring and Summer '19 Development Feature HighlightsSpring and Summer '19 Development Feature Highlights
Spring and Summer '19 Development Feature Highlights
 
LAS16-201: ART JIT in Android N
LAS16-201: ART JIT in Android NLAS16-201: ART JIT in Android N
LAS16-201: ART JIT in Android N
 
AGDK tutorial step by step
AGDK tutorial step by stepAGDK tutorial step by step
AGDK tutorial step by step
 
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControl
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControlWebinar slides: How to Automate & Manage PostgreSQL with ClusterControl
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControl
 
MongoDB.local Austin 2018: PetroCloud: MongoDB for the Industrial IOT Ecosystem
MongoDB.local Austin 2018: PetroCloud: MongoDB for the Industrial IOT EcosystemMongoDB.local Austin 2018: PetroCloud: MongoDB for the Industrial IOT Ecosystem
MongoDB.local Austin 2018: PetroCloud: MongoDB for the Industrial IOT Ecosystem
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipster
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
 
[Gstar 2013] Unity Security
[Gstar 2013] Unity Security[Gstar 2013] Unity Security
[Gstar 2013] Unity Security
 
Overcome a Frontier
Overcome a FrontierOvercome a Frontier
Overcome a Frontier
 
Performance & dev tools
Performance & dev toolsPerformance & dev tools
Performance & dev tools
 
Drools & jBPM Workshop Barcelona 2013
Drools & jBPM Workshop  Barcelona 2013Drools & jBPM Workshop  Barcelona 2013
Drools & jBPM Workshop Barcelona 2013
 
ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)
 
Pivotal Greenplum Cloud Marketplaces - Greenplum Summit 2019
Pivotal Greenplum Cloud Marketplaces - Greenplum Summit 2019Pivotal Greenplum Cloud Marketplaces - Greenplum Summit 2019
Pivotal Greenplum Cloud Marketplaces - Greenplum Summit 2019
 
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 MeetupPreparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 

More from KLab Inc. / Tech

2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
KLab Inc. / Tech
 
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
KLab Inc. / Tech
 
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
 運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話 運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
KLab Inc. / Tech
 
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
KLab Inc. / Tech
 
生成AIが切り拓く新しいゲームの創り方・遊び方
生成AIが切り拓く新しいゲームの創り方・遊び方生成AIが切り拓く新しいゲームの創り方・遊び方
生成AIが切り拓く新しいゲームの創り方・遊び方
KLab Inc. / Tech
 
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
KLab Inc. / Tech
 
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
KLab Inc. / Tech
 
他業界からゲーム業界へ転向したときの話
他業界からゲーム業界へ転向したときの話他業界からゲーム業界へ転向したときの話
他業界からゲーム業界へ転向したときの話
KLab Inc. / Tech
 
KLabのゲーム開発を支える開発環境
KLabのゲーム開発を支える開発環境KLabのゲーム開発を支える開発環境
KLabのゲーム開発を支える開発環境
KLab Inc. / Tech
 
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
KLab Inc. / Tech
 
「リアルISUCON」としてのモバイルオンラインゲーム開発
「リアルISUCON」としてのモバイルオンラインゲーム開発「リアルISUCON」としてのモバイルオンラインゲーム開発
「リアルISUCON」としてのモバイルオンラインゲーム開発
KLab Inc. / Tech
 
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテストゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
KLab Inc. / Tech
 
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
モバイルアプリの高速で安定したビルドを支えるJenkins運用術モバイルアプリの高速で安定したビルドを支えるJenkins運用術
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
KLab Inc. / Tech
 
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
KLab Inc. / Tech
 
KLabのチャットシステム インフラ変遷
KLabのチャットシステム インフラ変遷KLabのチャットシステム インフラ変遷
KLabのチャットシステム インフラ変遷
KLab Inc. / Tech
 
Ganglia のUIにGrafanaを追加する話
Ganglia のUIにGrafanaを追加する話Ganglia のUIにGrafanaを追加する話
Ganglia のUIにGrafanaを追加する話
KLab Inc. / Tech
 
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
KLab Inc. / Tech
 
属人化して詰まってた作業を自動化で楽しようとした話
属人化して詰まってた作業を自動化で楽しようとした話属人化して詰まってた作業を自動化で楽しようとした話
属人化して詰まってた作業を自動化で楽しようとした話
KLab Inc. / Tech
 
見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーション見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーション
KLab Inc. / Tech
 
モバイルオンラインゲームにおけるUIエンジニアの業務紹介
モバイルオンラインゲームにおけるUIエンジニアの業務紹介モバイルオンラインゲームにおけるUIエンジニアの業務紹介
モバイルオンラインゲームにおけるUIエンジニアの業務紹介
KLab Inc. / Tech
 

More from KLab Inc. / Tech (20)

2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
 
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
 
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
 運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話 運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
 
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
 
生成AIが切り拓く新しいゲームの創り方・遊び方
生成AIが切り拓く新しいゲームの創り方・遊び方生成AIが切り拓く新しいゲームの創り方・遊び方
生成AIが切り拓く新しいゲームの創り方・遊び方
 
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
 
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
 
他業界からゲーム業界へ転向したときの話
他業界からゲーム業界へ転向したときの話他業界からゲーム業界へ転向したときの話
他業界からゲーム業界へ転向したときの話
 
KLabのゲーム開発を支える開発環境
KLabのゲーム開発を支える開発環境KLabのゲーム開発を支える開発環境
KLabのゲーム開発を支える開発環境
 
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
 
「リアルISUCON」としてのモバイルオンラインゲーム開発
「リアルISUCON」としてのモバイルオンラインゲーム開発「リアルISUCON」としてのモバイルオンラインゲーム開発
「リアルISUCON」としてのモバイルオンラインゲーム開発
 
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテストゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
 
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
モバイルアプリの高速で安定したビルドを支えるJenkins運用術モバイルアプリの高速で安定したビルドを支えるJenkins運用術
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
 
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
 
KLabのチャットシステム インフラ変遷
KLabのチャットシステム インフラ変遷KLabのチャットシステム インフラ変遷
KLabのチャットシステム インフラ変遷
 
Ganglia のUIにGrafanaを追加する話
Ganglia のUIにGrafanaを追加する話Ganglia のUIにGrafanaを追加する話
Ganglia のUIにGrafanaを追加する話
 
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
 
属人化して詰まってた作業を自動化で楽しようとした話
属人化して詰まってた作業を自動化で楽しようとした話属人化して詰まってた作業を自動化で楽しようとした話
属人化して詰まってた作業を自動化で楽しようとした話
 
見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーション見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーション
 
モバイルオンラインゲームにおけるUIエンジニアの業務紹介
モバイルオンラインゲームにおけるUIエンジニアの業務紹介モバイルオンラインゲームにおけるUIエンジニアの業務紹介
モバイルオンラインゲームにおけるUIエンジニアの業務紹介
 

Recently uploaded

Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 

Recently uploaded (20)

Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 

Continuous Profiling for Android Game Performance Optimization

  • 1. Continuous Profiling for Android Game Performance Optimization KLab Inc. Yoshio Hanawa Software Engineer KLab Inc. Suguru Oho Software Engineer KLab Inc. Sho Hosoda Unity Engineer KLab Inc. KLab Inc.
  • 2. About us KLab is a Mobile gaming company in Japan. We have a number of games available globally based on Japanese IPs.
  • 3. Profiling on Mobile Is Painful ● No dedicated debug hardware ● Many different devices / profilers ● Troublesome to set up correctly ● Not easy for non-engineers So we profiled on only a few devices for a limited set of cases... Too late to notice performance degradation  KLab Inc.
  • 4. Our Solution : Continuous Profiling ● Automatic profiling integrated with CI/CD ● Non-engineers can view the analysis results on the dashboard We can detect performance degradation sooner and start optimizing the bottlenecks immediately KLab Inc.
  • 6. Part 1: How to Profile the Application Scripting allows the Unity player to save profiling data in-device as a Binary Log file. We can load and view this file in the Unity Editor using the Profiler window. // Saves profiling data Profiler.logFile = "mylog"; Profiler.enableBinaryLog = true; Profiler.enabled = true; Viewing binary log using Unity Profiler window KLab Inc.
  • 7. Summarizing Profiling Data ● We developed a Converter with Unity Technologies Japan. ● It summarize results for each Unity’s CPU main thread method. ○ processing time ( average / sum / min / max ) ○ number of calls ○ call stack Convert Binary Log CSV KLab Inc.
  • 8. Changes to the Application for Profiling 1. Automatic app play ○ It is necessary for automatic profiling. ○ Execute a fixed scenario, such as the transition to the target scene. 2. Control start and end of profiling ○ We want to profile only the target scene. 3. Save JSON for meta information ○ Unity Version / Platform / Device Model / Scene Name / etc... KLab Inc.
  • 9. Part 2. Auto Profiling System KLab Inc.
  • 10. We can build an APK package by sending a command to a bot on Slack. The profiling system starts automatically when the APK build is complete. The team members don’t need to be aware of the profiling. Build System Integration KLab Inc.
  • 11. ● Python script ● AAPT (Android Asset Packaging Tool) ○ Detect Bundle ID ○ Detect main activity name ● ADB (Android Debug Bridge) ○ Install apk ○ Run application ○ Uninstall, file transfer and cleanup ● Unity (Execute convert script) Auto-Profiling System KLab Inc.
  • 12. ● Error recovery ○ Wait and retry loop is better ○ Reset ADB server (by kill-server, start-server) ○ Difference between devices and OS version ● Keep device condition clean ○ Use some ADB subcommands ■ Kill: process kill ■ Kill-all: kill all background processes ■ Pm clear: clear all data related packages ○ Wait for cooling ● Device Settings ○ Developer mode ○ “Stay awake” & Select MTP Difficulty with REAL devices KLab Inc.
  • 13. Part 3. Dashboard System KLab Inc.
  • 14. ● Services on GCP ○ Cloud Storage + Cloud Functions ■ Storing and Processing data from Android ○ BigQuery ■ Data storage for dashboard ● Google Data Studio ○ Sharing visualized analytics for team members Dashboard System Components KLab Inc.
  • 15. ● Pros ○ Lower cost than RDB ○ Almost constant performance for massive data ○ Supported by popular business intelligence tools ● Cons ○ Slower query than RDB (1-10 sec) ○ Append-only storage by design Suitable for data analytics even if not "big data." Pros & Cons of BigQuery KLab Inc.
  • 16. ● Pros ○ Free BI tool (Thanks Google!) ○ Provides access control with Google account ● Cons ○ Limited chart type and customizability Good enough for our dashboard Pros & Cons of Data Studio KLab Inc.
  • 17. Top page shows summary of multiple profiling Dashboard Screen KLab Inc.
  • 18. Click on the drilldown link on the top page to go this page. ● By Category ○ Breakdown pie chart ○ Checking upper limit ● By Method ○ Average frame timing [ms] etc... Detailed Report KLab Inc.
  • 19. Performance Improvement Due To Optimization KLab Inc.
  • 20. ● Profile and show other performance indices ○ Memory consumption ○ GPU ○ Network I/O ○ Etc. ● More stability and usability ○ Monitoring auto-profiling system ○ Web interface for controlling auto-profiling system Future works KLab Inc.
  • 21. We developed a fully-automated profiling system for Android games. Freed from painful manual profiling tasks Non-engineer friendly system As a result We can detect bottlenecks in our games. The iteration of performance optimization becomes faster. Conclusion KLab Inc.