Submit Search
Upload
アプリ起動時間高速化 ~推測するな、計測せよ~
•
Download as PPTX, PDF
•
0 likes
•
2,182 views
gree_tech
Follow
GREE Tech Conference 2021 で発表された資料です。 https://techcon.gree.jp/2021/session/Session-11
Read less
Read more
Engineering
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 84
Download now
Recommended
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
こわくない Git
こわくない Git
Kota Saito
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
UnityTechnologiesJapan002
UniTask入門
UniTask入門
torisoup
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
dena_study
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
【Unity道場】新しいPrefabワークフロー入門
【Unity道場】新しいPrefabワークフロー入門
Unity Technologies Japan K.K.
Recommended
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
こわくない Git
こわくない Git
Kota Saito
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
UnityTechnologiesJapan002
UniTask入門
UniTask入門
torisoup
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
dena_study
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
【Unity道場】新しいPrefabワークフロー入門
【Unity道場】新しいPrefabワークフロー入門
Unity Technologies Japan K.K.
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
torisoup
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
Unity Technologies Japan K.K.
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
【Unity】Scriptable object 入門と活用例
【Unity】Scriptable object 入門と活用例
Unity Technologies Japan K.K.
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
Unity Technologies Japan K.K.
インタフェース完全に理解した
インタフェース完全に理解した
torisoup
その素敵なUI基盤を目指して・・・
その素敵なUI基盤を目指して・・・
KLab Inc. / Tech
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
UnityTechnologiesJapan002
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
Tokoroten Nakayama
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
SEGADevTech
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
Grenge, Inc.
UniRx完全に理解した
UniRx完全に理解した
torisoup
ワタシはSingletonがキライだ
ワタシはSingletonがキライだ
Tetsuya Kaneuchi
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
Jun-ichi Sakamoto
AWSではじめるMLOps
AWSではじめるMLOps
MariOhbuchi
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
Ci&T Mobile App Development for the Enterprise, Consumers and Startups
Ci&T Mobile App Development for the Enterprise, Consumers and Startups
MichaelCIT
MuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.io
MuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.io
Jitendra Bafna
More Related Content
What's hot
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
torisoup
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
Unity Technologies Japan K.K.
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
【Unity】Scriptable object 入門と活用例
【Unity】Scriptable object 入門と活用例
Unity Technologies Japan K.K.
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
Unity Technologies Japan K.K.
インタフェース完全に理解した
インタフェース完全に理解した
torisoup
その素敵なUI基盤を目指して・・・
その素敵なUI基盤を目指して・・・
KLab Inc. / Tech
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
UnityTechnologiesJapan002
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
Tokoroten Nakayama
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
SEGADevTech
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
Grenge, Inc.
UniRx完全に理解した
UniRx完全に理解した
torisoup
ワタシはSingletonがキライだ
ワタシはSingletonがキライだ
Tetsuya Kaneuchi
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
Jun-ichi Sakamoto
AWSではじめるMLOps
AWSではじめるMLOps
MariOhbuchi
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
What's hot
(20)
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
【Unity】Scriptable object 入門と活用例
【Unity】Scriptable object 入門と活用例
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
インタフェース完全に理解した
インタフェース完全に理解した
その素敵なUI基盤を目指して・・・
その素敵なUI基盤を目指して・・・
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
Pythonによる黒魔術入門
Pythonによる黒魔術入門
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
UniRx完全に理解した
UniRx完全に理解した
ワタシはSingletonがキライだ
ワタシはSingletonがキライだ
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
AWSではじめるMLOps
AWSではじめるMLOps
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Similar to アプリ起動時間高速化 ~推測するな、計測せよ~
Ci&T Mobile App Development for the Enterprise, Consumers and Startups
Ci&T Mobile App Development for the Enterprise, Consumers and Startups
MichaelCIT
MuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.io
MuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.io
Jitendra Bafna
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
Software Guru
How effective is Swift’s AR technology in developing.pdf
How effective is Swift’s AR technology in developing.pdf
Mindfire LLC
Introducting Titanium Mobile
Introducting Titanium Mobile
Axway Appcelerator
DFW Wordpress February Meetup - Appcelerator Titanium
DFW Wordpress February Meetup - Appcelerator Titanium
Jeff Haynie
Introduction to Digital Analytics for Apps - Trusted Conf
Introduction to Digital Analytics for Apps - Trusted Conf
In Marketing We Trust
Visual Studio Mobile Center: A story about mobile DevOps
Visual Studio Mobile Center: A story about mobile DevOps
Geert van der Cruijsen
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
AugmentedWorldExpo
Top 13 Web Development Trends And Predictions For 2015
Top 13 Web Development Trends And Predictions For 2015
Grey Matter India Technologies PVT LTD
Jyoti_Java_Developer_5 year 9 month of experience
Jyoti_Java_Developer_5 year 9 month of experience
jyoti mishra
Final Report_213110090
Final Report_213110090
Arvind Singh Rathod
Are You Ready for iOS 8?
Are You Ready for iOS 8?
Keynote Mobile Testing
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
Chetan Gordhan
Get Ready for the Apple Watch
Get Ready for the Apple Watch
Keynote Mobile Testing
Mobiprobe Advantage
Mobiprobe Advantage
MobiProbe
How to use Generative AI to make app testing easy.pdf
How to use Generative AI to make app testing easy.pdf
pCloudy
Top 10 Flutter App Tools To Know About In 2022.pptx
Top 10 Flutter App Tools To Know About In 2022.pptx
Concetto Labs
IRJET- Chatbot System for Latest Applications and Software
IRJET- Chatbot System for Latest Applications and Software
IRJET Journal
iPhone/iPad Development with Titanium
iPhone/iPad Development with Titanium
Axway Appcelerator
Similar to アプリ起動時間高速化 ~推測するな、計測せよ~
(20)
Ci&T Mobile App Development for the Enterprise, Consumers and Startups
Ci&T Mobile App Development for the Enterprise, Consumers and Startups
MuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.io
MuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.io
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
How effective is Swift’s AR technology in developing.pdf
How effective is Swift’s AR technology in developing.pdf
Introducting Titanium Mobile
Introducting Titanium Mobile
DFW Wordpress February Meetup - Appcelerator Titanium
DFW Wordpress February Meetup - Appcelerator Titanium
Introduction to Digital Analytics for Apps - Trusted Conf
Introduction to Digital Analytics for Apps - Trusted Conf
Visual Studio Mobile Center: A story about mobile DevOps
Visual Studio Mobile Center: A story about mobile DevOps
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
Top 13 Web Development Trends And Predictions For 2015
Top 13 Web Development Trends And Predictions For 2015
Jyoti_Java_Developer_5 year 9 month of experience
Jyoti_Java_Developer_5 year 9 month of experience
Final Report_213110090
Final Report_213110090
Are You Ready for iOS 8?
Are You Ready for iOS 8?
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
Get Ready for the Apple Watch
Get Ready for the Apple Watch
Mobiprobe Advantage
Mobiprobe Advantage
How to use Generative AI to make app testing easy.pdf
How to use Generative AI to make app testing easy.pdf
Top 10 Flutter App Tools To Know About In 2022.pptx
Top 10 Flutter App Tools To Know About In 2022.pptx
IRJET- Chatbot System for Latest Applications and Software
IRJET- Chatbot System for Latest Applications and Software
iPhone/iPad Development with Titanium
iPhone/iPad Development with Titanium
More from gree_tech
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
gree_tech
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
gree_tech
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
gree_tech
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
gree_tech
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
gree_tech
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
gree_tech
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
gree_tech
海外展開と負荷試験
海外展開と負荷試験
gree_tech
翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み
gree_tech
組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い
gree_tech
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
gree_tech
データエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件について
gree_tech
シェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジー
gree_tech
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
gree_tech
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
gree_tech
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
gree_tech
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
gree_tech
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
gree_tech
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
gree_tech
More from gree_tech
(20)
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
海外展開と負荷試験
海外展開と負荷試験
翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み
組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
データエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件について
シェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジー
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
Recently uploaded
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
Asst.prof M.Gokilavani
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
NikhilNagaraju
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
roselinkalist12
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Dr.Costas Sachpazis
Past, Present and Future of Generative AI
Past, Present and Future of Generative AI
abhishek36461
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
ROCENODodongVILLACER
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Low Rate Call Girls In Saket, Delhi NCR
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Anamika Sarkar
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
eptoze12
computer application and construction management
computer application and construction management
MariconPadriquez1
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
9953056974 Low Rate Call Girls In Saket, Delhi NCR
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
Chandu841456
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
Alluxio, Inc.
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
VICTOR MAESTRE RAMIREZ
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
KartikeyaDwivedi3
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
asadnawaz62
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes examples
Dr. Gudipudi Nageswara Rao
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
ShivangiSharma879191
Recently uploaded
(20)
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Past, Present and Future of Generative AI
Past, Present and Future of Generative AI
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
computer application and construction management
computer application and construction management
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes examples
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
アプリ起動時間高速化 ~推測するな、計測せよ~
1.
REALITY株式会社 エンジニア 伊藤弘一郎 REALITY株式会社
エンジニア 高塚翔悟 アプリ起動時間高速化 ~推測するな、計測せよ~
2.
REALITY 2 アバター作成 ライブ配信 ギフト・コラボ マルチプレイ ゲーム ライブ視聴
3.
REALITY 3 2020 2018 2019 8月 視聴アプリ 「REALITY」リリース 1 0月 配信アプリ 「REALITY
Avatar」リリース 3月 視聴/配信アプリ統合 現在の「REALITY」リリース 4月〜 配信コラボ/ガチャ チャットなど機能拡張が進む 1 2月 新Live配信基盤 低遅延モード配信実装 6月 YouTube視聴やLiveゲームなど Live機能類が拡充 11月 初の海外リリース 海外展開が加速。 2021 8月 ワールド機能のリリース メタバース事業に参入
4.
REALITY 4 Q1 Q2 Q3 Q4 Q1 Q2 Q4 2020 2021 アクティブ配信者数 国内 15% 海外 85% ユーザ分布
5.
REALITY 5 Q1 Q2 Q3 Q4 Q1 Q2 Q4 2020 2021 アクティブ配信者数 国内 15% 海外 85% ユーザ分布 絶好調!?
6.
6 と言いたいところなんですが、 規模拡大などに起因しさまざまな問題が起きています
7.
7 品質改善プロジェクト(SRE)紹介 REALITY
8.
1. 障害原因の調査、改善、それを継続して行う仕組みづくり 1. スケーラブルなシステムの構築 サービスの成長に合わせた利用ツールや環境構築方法の選定 WebAPIの設計見直しによるリクエスト数の削減 1.
高速化 サーバのスループット改善 レスポンス速度向上 1. 自動化 定常運用業務の自動化(Web, Nativeアプリ, Libraryのリリース作業など)による作業コスト削減 同様にヒューマンエラーの抑止 1. その他テスト文化の普及推進、定期的な進捗確認 REALITY SRE 8
9.
半期に数件実施 エンジニアが企画・進行を担当し、仕様書作成や効果測定までを行う 品質改善プロジェクト 9 FY21上期終わりなき挑戦プロジェクト - 配信中フリーズ改善 - アセットバンドルロード時間改善 -
音声の安定化 - 端末発熱改善 FY21下期品質改善プロジェクト - エコーキャンセル - エラーハンドリング改善 - 起動時間短縮 - 見かけ上のUX改善 FY22上期品質改善プロジェクト(WIP) - 通信速度向上のためのProtobuf対応 - 不正ユーザ対策 - メタバースに向けたアバター描画軽量化 - US通信速度改善 改善Week(半期ごと3回) - DevOps改善 - コードリファクタ
10.
品質改善プロジェクト 10 FY21上期終わりなき挑戦プロジェクト - 配信中フリーズ改善 - アセットバンドルロード時間改善 -
音声の安定化 - 端末発熱改善 FY21下期品質改善プロジェクト - エコーキャンセル - エラーハンドリング改善 - 起動時間短縮 - 見かけ上のUX改善 FY22上期品質改善プロジェクト(WIP) - 通信速度向上のためのProtobuf対応 - 不正ユーザ対策 - メタバースに向けたアバター描画軽量化 - US通信速度改善 改善Week(半期ごと3回) - DevOps改善 - コードリファクタ 半期に数件実施 エンジニアが企画・進行を担当し、仕様書作成や効果測定までを行う
11.
半期に数件実施 エンジニアがPMを担当し、エンジニアが仕様書作成や効果測定までを行う 品質改善プロジェクト 11 FY21上期終わりなき挑戦プロジェクト - 配信中フリーズ改善 - アセットバンドルロード時間改善 -
音声の安定化 - 端末発熱改善 FY21下期品質改善プロジェクト - エコーキャンセル - エラーハンドリング改善 - 起動時間短縮 - 見かけ上のUX改善 FY22上期品質改善プロジェクト(WIP) - 通信速度向上のためのProtobuf対応 - 不正ユーザ対策 - メタバースに向けたアバター描画軽量化 - US通信速度改善 改善Week(半期ごと3回) - DevOps改善 - コードリファクタ
12.
品質改善プロジェクト 12 FY21上期終わりなき挑戦プロジェクト - 配信中フリーズ改善 - アセットバンドルロード時間改善 -
音声の安定化 - 端末発熱改善 FY21下期品質改善プロジェクト - エコーキャンセル - エラーハンドリング改善 - 見かけ上のUX改善 FY22上期品質改善プロジェクト(WIP) - 通信速度向上のためのProtobuf対応 - 不正ユーザ対策 - メタバースに向けたアバター描画軽量化 - US通信速度改善 改善Week(半期ごと3回) - DevOps改善 - コードリファクタ 半期に数件実施 エンジニアがPMを担当し、エンジニアが仕様書作成や効果測定までを行う - 起動時間短縮
13.
13 起動時間短縮プロジェクト REALITY
14.
「ランチャーアイコンタップからコンテンツ表示までの時間」と定義 アプリの起動時間はUX/ユーザの離脱率に影響 起動時間とは 14 何秒かかった?
15.
プロジェクトの進行 15 1. 計測 アプリ起動処理の全体像の把握 問題箇所に目星を付け、対応項目別に優先度整理する 2. 実装 3.
リリース後の計測・運用 それぞれの項目別に調査・改善する 本番環境で実際に改善されているか確認する 継続的に監視できる基盤を整える
16.
プロジェクトの進行 16 1. 計測 アプリ起動処理の全体像の把握 問題箇所に目星を付け、対応項目別に優先度整理する 2. 実装 3.
リリース後の計測・運用 それぞれの項目別に調査・改善する 本番環境で実際に改善されているか確認する 継続的に監視できる基盤を整える
17.
REALITYはNativeアプリにUnityを ライブラリとして含む構成 -> 「Unityライブラリ初期化がボ トルネックかな?」 プロジェクト開始前の見立て 17 推測 Native Unity iOS
アプリ起動時に初期化 -> 起動処理のボトルネックと推測 Android Unity画面起動時に初期化 -> なんらか起動処理の遅延に影響と推測 ※Unityライブラリ初期化について
18.
1. アプリ起動シーケンスの調査 • ボトルネックに目星を付ける •
改善可能な箇所の精査 1. 本番環境での起動処理周りの実態調査 • [Client] Firebase : Performance Monitoring • [Server] GCP : Stackdriver Trace 計測 18
19.
XCode:Instruments (Time Profiler,
Signposts) iOSの起動シーケンスを確認 19 認証API ログインAPI Unity初期化 配信一覧取得 アプリ起動処理の全体像の把握:iOS 認証API ログインAPI Unity初期化 配信一覧取得
20.
20 アプリ起動処理 library(dlib)初期化等 重い。。。 認証API ログインAPI Unity初期化 配信一覧取得 XCode:Instruments (Time Profiler,
Signposts) iOSの起動シーケンスを確認 アプリ起動処理の全体像の把握:iOS 認証API ログインAPI Unity初期化 配信一覧取得 重い?妥当? 要調査 遅い
21.
Android Studio:CPU Profiler Androidの起動シーケンスを確認 21 アプリ起動処理の全体像の把握:Android
22.
22 😅 < あれ、ボトルネックじゃなくない? Android
Studio:CPU Profiler Androidの起動シーケンスを確認 アプリ起動処理の全体像の把握:Android
23.
「Unityライブラリ初期化がボトルネックかな?」 調査・計測から 23
24.
「Unityライブラリ初期化がボトルネックかな?」 「アプリ起動処理・配信一覧画面初期化処理の高速化がコスパ良」 調査・計測から 24
25.
Firebase:Performance Monitoring • Clientのパフォーマンス計測に利用 •
Client処理の区間トレースが可能。DashBoard化してくれる。 25 アプリ起動処理の全体像の把握:ユーザ環境での計測
26.
Firebase:Performance Monitoring • 開発者の手元環境ではなく、実際のユーザ環境での起動時間を認識する •
ネットワークリクエストの応答時間を国/デバイス別に確認できる 26 アプリ起動処理の全体像の把握:ユーザ環境での計測 ログインAPIの例: ユーザ環境において 日本とブラジルで300 msec以上差を確認
27.
Firebase:Performance Monitoring • 開発者の手元環境ではなく、実際のユーザ環境での起動時間を認識する •
ネットワークリクエストの応答時間を国/デバイス別に確認できる 27 アプリ起動処理の全体像の把握:ユーザ環境での計測 全世界 日本 iOS 6.2 秒 5.2 秒 Android 6.5 秒 4.2 秒 ユーザ環境における起動時間の中央値(2021/03) 😅 < めっちゃ遅い
28.
GCP:Cloud Trace • GCPの分散トレーシングシステム •
ボトルネックの検出 • レイテンシ分布の可視化 28 改善前配信一覧取得APIのトレース • 処理のタイムシーケンスを可視化 • ボトルネックの可視化 並列化 できない? 不必要な処理が多い アプリ起動処理の全体像の把握:サーバ処理
29.
1. [client] アプリの起動処理改善 Android最適化
: App Startup導入、キャッシュ改善など iOS最適化:謎のblankを削除、library初期化処理改善など 1. [server] 配信一覧取得API高速化 並列処理、ボトルネック改善にて対応 1. [client] UnityLibrary初期化改善 (optional) 調査を行い、現実的な規模の改修で時間を短縮できれば改善を入れる 空シーン起動など 対応優先度を決定 29
30.
プロジェクトの進行 30 1. 計測 アプリ起動処理の全体像の把握 問題箇所に目星を付け、対応項目別に優先度整理する 2. 実装 3.
リリース後の計測・運用 それぞれの項目別に調査・改善する 本番環境で実際に改善されているか確認する 継続的に監視できる基盤を整える
31.
31 Android編 起動時間短縮
32.
32 Androidの起動処理改善のフロー 1.ボトルネックのあたりをつける 2.コードレベルで問題箇所を特定する 3.修正を入れる
33.
33 Androidの起動処理改善のフロー 1.ボトルネックのあたりをつける 2.コードレベルで問題箇所を特定する 3.修正を入れる
34.
34 起動処理のボトルネック検出手法 Jetpack Macro Benchmark •
テストを実行する形で起動時間を計測可能 • cold/warm/hot start の計測 • テスト結果をトレースファイルとして閲覧 • Android 10(API 29)以上で利用可能 logcat • スタックトレースやシステムメッセージのログをダンプする コマンドラインツール • 起動処理のスタックトレースを細かく取れる
35.
35 Androidの起動処理計測の例 Application onCreate Activity init Activity onCreate その他 inflate views etc アカウント認証 ログイン処理 etc
36.
36 Androidの起動処理計測の例 Application onCreate Activity init Activity onCreate その他 inflate views etc アカウント認証 ログイン処理 etc 画面の生成 コンテンツ表示
37.
37 Androidの起動処理計測の例 Application onCreate Activity init Activity onCreate その他 inflate views etc アカウント認証 ログイン処理 etc Displayed time Fully
Drawn time
38.
ActivityTaskManagerでlogcatに起動時間を出力 38 logcatによる計測の例
39.
ActivityTaskManagerでlogcatに起動時間を出力 39 logcatによる計測の例 I/ActivityTaskManager: Displayed *****************
+ 4s80ms Displayed timeに4.08 sかかっている
40.
ActivityTaskManagerでlogcatに起動時間を出力 40 logcatによる計測の例 I/ActivityTaskManager: Fully drawn
************* + 5s529ms Fully Drawn timeは5.529 s
41.
ActivityTaskManagerでlogcatに起動時間を出力 41 logcatによる計測の例 つまりその他は 1.449s みたいに計測できる 今回は前半部分を細かく計測していく
42.
42 認証API ログインAPI Unity初期化 配信一覧取得 XCode:Instruments (Time Profiler,
Signposts) iOSの起動シーケンスを確認 アプリ起動処理の全体像の把握:iOS 認証API ログインAPI Unity初期化 配信一覧取得 今回細かく見たいのはここ
43.
43 Androidの起動処理 Application onCreate Activity init Activity onCreate その他 inflate views etc アカウント認証 ログイン処理 etc Displayed time Fully
Drawn time ここのボトルネックを探す
44.
44 Androidの起動処理 Application onCreate Activity init Activity onCreate その他 inflate views etc アカウント認証 ログイン処理 etc Displayed time Fully
Drawn time より細かく調べていく
45.
45 Androidの起動処理 Application onCreate Activity init Activity onCreate その他 inflate views etc アカウント認証 ログイン処理 etc Displayed time Fully
Drawn time より細かく調べていく
46.
46 Androidの起動処理改善のフロー 1.アプリ起動処理の全体像を眺める 2.コードレベルで問題箇所を特定する 3.修正を入れる
47.
47 CPU Profilerでの特定 各スレッドを開くと時系列に沿った各メソッドの実行時間が確認 できる
48.
48 CPU Profilerでの特定 各スレッドを開くと時系列に沿った各メソッドの実行時間が確認 できる 気になる処理をポチると
49.
49 Frame Chartでさらに詳しく 左から実行時間の長い順に並ぶ
50.
50 Frame Chartでさらに詳しく 左から実行時間の長い順に並ぶ ここに時間がかかってる
51.
51 Androidの起動処理改善のフロー 1.アプリ起動処理の全体像を眺める 2.コードレベルで問題箇所を特定する 3.コードに修正を入れる
52.
52 処理を短縮するには大まかに分けて3つ • キャッシュを入れる • 処理の並列化・平行化 •
不要な処理の削除(遅延)
53.
53 キャッシュを入れる 配信一覧のキャッシュ 配信一覧のコンテンツがロードされていない 間はキャッシュしたデータを表示して待機時 間をなくす
54.
54 並列化・並行化 AppStartupの導入 ContentProviderによるライブラリ初期化を最適化する
55.
55 不要な処理の削除(遅延) 起動時にやる必要がない処理や、そもそも不要な処理は削除した り起動時以外のタイミングに移動 例 ・不要なdelayが入っていたのを削除 ・ローディング表示の修正 泥臭い地道な計測や処理の改善が必要。。。
56.
56 Server編 起動時間短縮
57.
配信一覧取得APIの特徴 • View初期化のためアプリ起動処理に使用 • レイテンシがUXに直結 配信一覧取得APIの高速化 57 認証API ログインAPI Unity初期化 配信一覧取得 1秒以上の遅延 認証API ログインAPI Unity初期化 配信一覧取得
58.
配信一覧取得APIの特徴 • View初期化のためアプリ起動処理に使用 • レイテンシがUXに直結 大まかな処理 •
最初の画面すべてのコンテンツを生成して返す • フォロータブ • おすすめタブ • … etc (計7タブ) • それぞれのタブをソートなど(パーソナライズ) • 配信リスト • 相互フォローリスト • ゲームリスト • … etc 配信一覧取得APIの高速化 58
59.
GCP:Cloud Trace • GCPの分散トレーシングシステム •
ボトルネックの検出 • レイテンシ分布の可視化 59 改善前配信一覧取得APIのトレース • 処理のタイムシーケンスを可視化 • ボトルネックの可視化 並列化 できない? 不必要な処理が多い 配信一覧取得APIの高速化
60.
配信一覧取得APIの高速化 60 必要リソースのFetch タブのコンテンツ生成 大量のFetchHogehogeが並ぶ 並列化すべき箇所が 並列化されていない
61.
配信一覧取得APIの高速化 61 余談: REALITY APIサーバはGolang製 goroutineによる並列化を行う
62.
配信一覧取得APIの高速化 62 並列化 並列化
63.
配信一覧取得APIの高速化 さらに、配信一覧画面初期化には必要のない処理・情報を削減 画面初期化に必要な情報だけ返し、残りは遅延して取得させる 処理の削減
64.
ログイン時APIリクエストを一つに統合 複数リクエストする際のオーバーヘッドを削減 ログインAPIと配信一覧取得APIを合体 64 認証API ログインAPI Unity初期化 配信一覧取得 統合 認証API ログインAPI Unity初期化 配信一覧取得
65.
処理の最適化 65 遅いリクエスト Cloud Traceのレイテンシグラフでは遅いリクエストなど抽出可能 該当リクエストのTraceを参照して、改善する
66.
処理の最適化 66 Cloud Profiler • GCPで利用可能なプロファイラ •
関数単位でCPUTimeやHeapを確認可能
67.
処理の最適化 67 Cloud Profiler 不要なデータを大量に取得しており、jsonのdesirializeに時間が かかっている。これも改善。(泥臭い案件)
68.
もともと配信一覧アイコンは 1024×1024 のpngを使用 •
256×256 のwebpに変換し軽量化 • サイズを 96~99 % 程度カット Clientのクラッシュ率低下、CDN費用削減の副次効果も 画像読み込み高速化 68 https://developers.google.com/speed/webp
69.
69 本番リリース 起動時間短縮
70.
70 改善前の起動時間 全世界 日本 iOS 6.2
秒 5.2 秒 Android 6.5 秒 4.2 秒 ユーザ環境における起動時間の中央値(2021/03)
71.
結果 71 ※手元環境での実測(日本ユーザ環境 iOS:2.3 s,
Android, 2.5s 程度)
72.
プロジェクトの進行 72 1. 計測 アプリ起動処理の全体像の把握 問題箇所に目星を付け、対応項目別に優先度整理する 2. 実装 3.
リリース後の計測・運用 それぞれの項目別に調査・改善する 本番環境で実際に改善されているか確認する 継続的に監視できる基盤を整える
73.
本番リリース後に大幅に起動時間を短縮したことを確認 Firebase Performance Monitoring 73
74.
本番リリース後に大幅に起動時間を短縮したことを確認 Firebase Performance Monitoring 74
75.
監視用のログ入れて何か効果あった? 75
76.
76 とある変更により、起動時間が悪化したことを検知 😅 < なんかめっちゃ悪化しとる 監視用のログ入れて何か効果あった?
77.
監視用のログ入れて何か効果あった? 77 とある変更により、起動時間が悪化したことを検知 😅 < なんかめっちゃ悪化しとる 即検知、即修正 効果は大いにあった
78.
監視用のログ入れて何か効果あった? 78 とある変更により、起動時間が悪化したことを検知 😅 < なんかめっちゃ悪化しとる 遅くしない運用を作る
79.
ログを活用できていないのは、ログを取っていないのと同じ • Slackに流す、アラートを設定する 遅くしないための運用 79
80.
ログを活用できていないのは、ログを取っていないのと同じ • 誰が見ても理解できるようにダッシュボード化する • 定例mtgやリリースmtgなどで都度確認する 遅くしないための運用 80 Data
Portal(BIツール) Performance Monitoring ↓ BigQuery ↓ Data Portal にデータをエクスポートして使用
81.
まとめ 起動時間短縮は泥臭い作業の積み上げにより実現 • 並列化、キャッシュ、処理の削減(遅延)など 本プロジェクトでは、計測により • 想定とは異なるボトルネックの存在確認 •
継続的に監視できる基盤を作成 計測・監視はパフォーマンス改善や不具合の早期検知をするためには必要 「問題が生じてからログを入れる」のではなく、常日頃から「監視できる 仕組みを作る」ことが望ましい 81 本事例では、 「品質改善プロジェクト」として エンジニア主体で進行できたのが良 かったかな感
82.
余談 本プロジェクトをnote等で技術発信して、 ユーザから感触の良い評価を得られた 今回の事例の他にも • 端末の発熱 • 配信中の入出力音声の音量測定 などREALITYユニークな計測事例もあり、 REALITYのnoteで掲載中 82 https://note.com/reality_eng
83.
絶賛エンジニア募集中! 83 meety wantedly REALITYの未来を作ってくれる人を募集中! 是非、ご応募ください!
84.
84
Download now