アプリ起動時間高速化 ~推測するな、計測せよ~

gree_tech
gree_techgree_tech
REALITY株式会社 エンジニア 伊藤弘一郎
REALITY株式会社 エンジニア 高塚翔悟
アプリ起動時間高速化
~推測するな、計測せよ~
REALITY
2
アバター作成 ライブ配信 ギフト・コラボ
マルチプレイ
ゲーム
ライブ視聴
REALITY
3
2020
2018 2019
8月
視聴アプリ
「REALITY」リリース
1 0月
配信アプリ
「REALITY Avatar」リリース
3月
視聴/配信アプリ統合
現在の「REALITY」リリース
4月〜
配信コラボ/ガチャ
チャットなど機能拡張が進む
1 2月
新Live配信基盤
低遅延モード配信実装
6月
YouTube視聴やLiveゲームなど
Live機能類が拡充
11月
初の海外リリース
海外展開が加速。
2021
8月
ワールド機能のリリース
メタバース事業に参入
REALITY
4
Q1
Q2 Q3
Q4
Q1
Q2
Q4
2020
2021
アクティブ配信者数
国内
15%
海外
85%
ユーザ分布
REALITY
5
Q1
Q2 Q3
Q4
Q1
Q2
Q4
2020
2021
アクティブ配信者数
国内
15%
海外
85%
ユーザ分布
絶好調!?
6
と言いたいところなんですが、
規模拡大などに起因しさまざまな問題が起きています
7
品質改善プロジェクト(SRE)紹介
REALITY
1. 障害原因の調査、改善、それを継続して行う仕組みづくり
1. スケーラブルなシステムの構築
サービスの成長に合わせた利用ツールや環境構築方法の選定
WebAPIの設計見直しによるリクエスト数の削減
1. 高速化
サーバのスループット改善
レスポンス速度向上
1. 自動化
定常運用業務の自動化(Web, Nativeアプリ, Libraryのリリース作業など)による作業コスト削減
同様にヒューマンエラーの抑止
1. その他テスト文化の普及推進、定期的な進捗確認
REALITY SRE
8
半期に数件実施
エンジニアが企画・進行を担当し、仕様書作成や効果測定までを行う
品質改善プロジェクト
9
FY21上期終わりなき挑戦プロジェクト
- 配信中フリーズ改善
- アセットバンドルロード時間改善
- 音声の安定化
- 端末発熱改善
FY21下期品質改善プロジェクト
- エコーキャンセル
- エラーハンドリング改善
- 起動時間短縮
- 見かけ上のUX改善
FY22上期品質改善プロジェクト(WIP)
- 通信速度向上のためのProtobuf対応
- 不正ユーザ対策
- メタバースに向けたアバター描画軽量化
- US通信速度改善
改善Week(半期ごと3回)
- DevOps改善
- コードリファクタ
品質改善プロジェクト
10
FY21上期終わりなき挑戦プロジェクト
- 配信中フリーズ改善
- アセットバンドルロード時間改善
- 音声の安定化
- 端末発熱改善
FY21下期品質改善プロジェクト
- エコーキャンセル
- エラーハンドリング改善
- 起動時間短縮
- 見かけ上のUX改善
FY22上期品質改善プロジェクト(WIP)
- 通信速度向上のためのProtobuf対応
- 不正ユーザ対策
- メタバースに向けたアバター描画軽量化
- US通信速度改善
改善Week(半期ごと3回)
- DevOps改善
- コードリファクタ
半期に数件実施
エンジニアが企画・進行を担当し、仕様書作成や効果測定までを行う
半期に数件実施
エンジニアがPMを担当し、エンジニアが仕様書作成や効果測定までを行う
品質改善プロジェクト
11
FY21上期終わりなき挑戦プロジェクト
- 配信中フリーズ改善
- アセットバンドルロード時間改善
- 音声の安定化
- 端末発熱改善
FY21下期品質改善プロジェクト
- エコーキャンセル
- エラーハンドリング改善
- 起動時間短縮
- 見かけ上のUX改善
FY22上期品質改善プロジェクト(WIP)
- 通信速度向上のためのProtobuf対応
- 不正ユーザ対策
- メタバースに向けたアバター描画軽量化
- US通信速度改善
改善Week(半期ごと3回)
- DevOps改善
- コードリファクタ
品質改善プロジェクト
12
FY21上期終わりなき挑戦プロジェクト
- 配信中フリーズ改善
- アセットバンドルロード時間改善
- 音声の安定化
- 端末発熱改善
FY21下期品質改善プロジェクト
- エコーキャンセル
- エラーハンドリング改善
- 見かけ上のUX改善
FY22上期品質改善プロジェクト(WIP)
- 通信速度向上のためのProtobuf対応
- 不正ユーザ対策
- メタバースに向けたアバター描画軽量化
- US通信速度改善
改善Week(半期ごと3回)
- DevOps改善
- コードリファクタ
半期に数件実施
エンジニアがPMを担当し、エンジニアが仕様書作成や効果測定までを行う
- 起動時間短縮
13
起動時間短縮プロジェクト
REALITY
「ランチャーアイコンタップからコンテンツ表示までの時間」と定義
アプリの起動時間はUX/ユーザの離脱率に影響
起動時間とは
14
何秒かかった?
プロジェクトの進行
15
1. 計測
アプリ起動処理の全体像の把握
問題箇所に目星を付け、対応項目別に優先度整理する
2. 実装
3. リリース後の計測・運用
それぞれの項目別に調査・改善する
本番環境で実際に改善されているか確認する
継続的に監視できる基盤を整える
プロジェクトの進行
16
1. 計測
アプリ起動処理の全体像の把握
問題箇所に目星を付け、対応項目別に優先度整理する
2. 実装
3. リリース後の計測・運用
それぞれの項目別に調査・改善する
本番環境で実際に改善されているか確認する
継続的に監視できる基盤を整える
REALITYはNativeアプリにUnityを
ライブラリとして含む構成
-> 「Unityライブラリ初期化がボ
トルネックかな?」
プロジェクト開始前の見立て
17
推測
Native Unity
iOS アプリ起動時に初期化
-> 起動処理のボトルネックと推測
Android Unity画面起動時に初期化
-> なんらか起動処理の遅延に影響と推測
※Unityライブラリ初期化について
1. アプリ起動シーケンスの調査
• ボトルネックに目星を付ける
• 改善可能な箇所の精査
1. 本番環境での起動処理周りの実態調査
• [Client] Firebase : Performance Monitoring
• [Server] GCP : Stackdriver Trace
計測
18
XCode:Instruments (Time Profiler, Signposts)
iOSの起動シーケンスを確認
19
認証API
ログインAPI
Unity初期化
配信一覧取得
アプリ起動処理の全体像の把握:iOS
認証API
ログインAPI
Unity初期化
配信一覧取得
20
アプリ起動処理
library(dlib)初期化等
重い。。。
認証API
ログインAPI
Unity初期化
配信一覧取得
XCode:Instruments (Time Profiler, Signposts)
iOSの起動シーケンスを確認
アプリ起動処理の全体像の把握:iOS
認証API
ログインAPI
Unity初期化
配信一覧取得 重い?妥当?
要調査
遅い
Android Studio:CPU Profiler
Androidの起動シーケンスを確認
21
アプリ起動処理の全体像の把握:Android
22
😅 < あれ、ボトルネックじゃなくない?
Android Studio:CPU Profiler
Androidの起動シーケンスを確認
アプリ起動処理の全体像の把握:Android
「Unityライブラリ初期化がボトルネックかな?」
調査・計測から
23
「Unityライブラリ初期化がボトルネックかな?」
「アプリ起動処理・配信一覧画面初期化処理の高速化がコスパ良」
調査・計測から
24
Firebase:Performance Monitoring
• Clientのパフォーマンス計測に利用
• Client処理の区間トレースが可能。DashBoard化してくれる。
25
アプリ起動処理の全体像の把握:ユーザ環境での計測
Firebase:Performance Monitoring
• 開発者の手元環境ではなく、実際のユーザ環境での起動時間を認識する
• ネットワークリクエストの応答時間を国/デバイス別に確認できる
26
アプリ起動処理の全体像の把握:ユーザ環境での計測
ログインAPIの例:
ユーザ環境において
日本とブラジルで300 msec以上差を確認
Firebase:Performance Monitoring
• 開発者の手元環境ではなく、実際のユーザ環境での起動時間を認識する
• ネットワークリクエストの応答時間を国/デバイス別に確認できる
27
アプリ起動処理の全体像の把握:ユーザ環境での計測
全世界 日本
iOS 6.2 秒 5.2 秒
Android 6.5 秒 4.2 秒
ユーザ環境における起動時間の中央値(2021/03)
😅 < めっちゃ遅い
GCP:Cloud Trace
• GCPの分散トレーシングシステム
• ボトルネックの検出
• レイテンシ分布の可視化
28
改善前配信一覧取得APIのトレース
• 処理のタイムシーケンスを可視化
• ボトルネックの可視化
並列化
できない?
不必要な処理が多い
アプリ起動処理の全体像の把握:サーバ処理
1. [client] アプリの起動処理改善
Android最適化 : App Startup導入、キャッシュ改善など
iOS最適化:謎のblankを削除、library初期化処理改善など
1. [server] 配信一覧取得API高速化
並列処理、ボトルネック改善にて対応
1. [client] UnityLibrary初期化改善 (optional)
調査を行い、現実的な規模の改修で時間を短縮できれば改善を入れる
空シーン起動など
対応優先度を決定
29
プロジェクトの進行
30
1. 計測
アプリ起動処理の全体像の把握
問題箇所に目星を付け、対応項目別に優先度整理する
2. 実装
3. リリース後の計測・運用
それぞれの項目別に調査・改善する
本番環境で実際に改善されているか確認する
継続的に監視できる基盤を整える
31
Android編
起動時間短縮
32
Androidの起動処理改善のフロー
1.ボトルネックのあたりをつける
2.コードレベルで問題箇所を特定する
3.修正を入れる
33
Androidの起動処理改善のフロー
1.ボトルネックのあたりをつける
2.コードレベルで問題箇所を特定する
3.修正を入れる
34
起動処理のボトルネック検出手法
Jetpack Macro Benchmark
• テストを実行する形で起動時間を計測可能
• cold/warm/hot start の計測
• テスト結果をトレースファイルとして閲覧
• Android 10(API 29)以上で利用可能
logcat
• スタックトレースやシステムメッセージのログをダンプする
コマンドラインツール
• 起動処理のスタックトレースを細かく取れる
35
Androidの起動処理計測の例
Application
onCreate
Activity
init
Activity
onCreate
その他
inflate views
etc
アカウント認証
ログイン処理
etc
36
Androidの起動処理計測の例
Application
onCreate
Activity
init
Activity
onCreate
その他
inflate views
etc
アカウント認証
ログイン処理
etc
画面の生成
コンテンツ表示
37
Androidの起動処理計測の例
Application
onCreate
Activity
init
Activity
onCreate
その他
inflate views
etc
アカウント認証
ログイン処理
etc
Displayed time
Fully Drawn time
ActivityTaskManagerでlogcatに起動時間を出力
38
logcatによる計測の例
ActivityTaskManagerでlogcatに起動時間を出力
39
logcatによる計測の例
I/ActivityTaskManager: Displayed ***************** + 4s80ms
Displayed timeに4.08 sかかっている
ActivityTaskManagerでlogcatに起動時間を出力
40
logcatによる計測の例
I/ActivityTaskManager: Fully drawn ************* + 5s529ms
Fully Drawn timeは5.529 s
ActivityTaskManagerでlogcatに起動時間を出力
41
logcatによる計測の例
つまりその他は 1.449s
みたいに計測できる
今回は前半部分を細かく計測していく
42
認証API
ログインAPI
Unity初期化
配信一覧取得
XCode:Instruments (Time Profiler, Signposts)
iOSの起動シーケンスを確認
アプリ起動処理の全体像の把握:iOS
認証API
ログインAPI
Unity初期化
配信一覧取得
今回細かく見たいのはここ
43
Androidの起動処理
Application
onCreate
Activity
init
Activity
onCreate
その他
inflate views
etc
アカウント認証
ログイン処理
etc
Displayed time
Fully Drawn time
ここのボトルネックを探す
44
Androidの起動処理
Application
onCreate
Activity
init
Activity
onCreate
その他
inflate views
etc
アカウント認証
ログイン処理
etc
Displayed time
Fully Drawn time
より細かく調べていく
45
Androidの起動処理
Application
onCreate
Activity
init
Activity
onCreate
その他
inflate views
etc
アカウント認証
ログイン処理
etc
Displayed time
Fully Drawn time
より細かく調べていく
46
Androidの起動処理改善のフロー
1.アプリ起動処理の全体像を眺める
2.コードレベルで問題箇所を特定する
3.修正を入れる
47
CPU Profilerでの特定
各スレッドを開くと時系列に沿った各メソッドの実行時間が確認
できる
48
CPU Profilerでの特定
各スレッドを開くと時系列に沿った各メソッドの実行時間が確認
できる
気になる処理をポチると
49
Frame Chartでさらに詳しく
左から実行時間の長い順に並ぶ
50
Frame Chartでさらに詳しく
左から実行時間の長い順に並ぶ
ここに時間がかかってる
51
Androidの起動処理改善のフロー
1.アプリ起動処理の全体像を眺める
2.コードレベルで問題箇所を特定する
3.コードに修正を入れる
52
処理を短縮するには大まかに分けて3つ
• キャッシュを入れる
• 処理の並列化・平行化
• 不要な処理の削除(遅延)
53
キャッシュを入れる
配信一覧のキャッシュ
配信一覧のコンテンツがロードされていない
間はキャッシュしたデータを表示して待機時
間をなくす
54
並列化・並行化
AppStartupの導入
ContentProviderによるライブラリ初期化を最適化する
55
不要な処理の削除(遅延)
起動時にやる必要がない処理や、そもそも不要な処理は削除した
り起動時以外のタイミングに移動
例
・不要なdelayが入っていたのを削除
・ローディング表示の修正
泥臭い地道な計測や処理の改善が必要。。。
56
Server編
起動時間短縮
配信一覧取得APIの特徴
• View初期化のためアプリ起動処理に使用
• レイテンシがUXに直結
配信一覧取得APIの高速化
57
認証API
ログインAPI
Unity初期化
配信一覧取得
1秒以上の遅延
認証API
ログインAPI
Unity初期化
配信一覧取得
配信一覧取得APIの特徴
• View初期化のためアプリ起動処理に使用
• レイテンシがUXに直結
大まかな処理
• 最初の画面すべてのコンテンツを生成して返す
• フォロータブ
• おすすめタブ
• … etc (計7タブ)
• それぞれのタブをソートなど(パーソナライズ)
• 配信リスト
• 相互フォローリスト
• ゲームリスト
• … etc
配信一覧取得APIの高速化
58
GCP:Cloud Trace
• GCPの分散トレーシングシステム
• ボトルネックの検出
• レイテンシ分布の可視化
59
改善前配信一覧取得APIのトレース
• 処理のタイムシーケンスを可視化
• ボトルネックの可視化
並列化
できない?
不必要な処理が多い
配信一覧取得APIの高速化
配信一覧取得APIの高速化
60
必要リソースのFetch
タブのコンテンツ生成
大量のFetchHogehogeが並ぶ
並列化すべき箇所が
並列化されていない
配信一覧取得APIの高速化
61
余談:
REALITY APIサーバはGolang製
goroutineによる並列化を行う
配信一覧取得APIの高速化
62
並列化
並列化
配信一覧取得APIの高速化
さらに、配信一覧画面初期化には必要のない処理・情報を削減
画面初期化に必要な情報だけ返し、残りは遅延して取得させる
処理の削減
ログイン時APIリクエストを一つに統合
複数リクエストする際のオーバーヘッドを削減
ログインAPIと配信一覧取得APIを合体
64
認証API
ログインAPI
Unity初期化
配信一覧取得
統合
認証API
ログインAPI
Unity初期化
配信一覧取得
処理の最適化
65
遅いリクエスト
Cloud Traceのレイテンシグラフでは遅いリクエストなど抽出可能
該当リクエストのTraceを参照して、改善する
処理の最適化
66
Cloud Profiler
• GCPで利用可能なプロファイラ
• 関数単位でCPUTimeやHeapを確認可能
処理の最適化
67
Cloud Profiler
不要なデータを大量に取得しており、jsonのdesirializeに時間が
かかっている。これも改善。(泥臭い案件)
もともと配信一覧アイコンは 1024×1024 のpngを使用
• 256×256 のwebpに変換し軽量化
• サイズを 96~99 % 程度カット
Clientのクラッシュ率低下、CDN費用削減の副次効果も
画像読み込み高速化
68
https://developers.google.com/speed/webp
69
本番リリース
起動時間短縮
70
改善前の起動時間
全世界 日本
iOS 6.2 秒 5.2 秒
Android 6.5 秒 4.2 秒
ユーザ環境における起動時間の中央値(2021/03)
結果
71
※手元環境での実測(日本ユーザ環境 iOS:2.3 s, Android, 2.5s 程度)
プロジェクトの進行
72
1. 計測
アプリ起動処理の全体像の把握
問題箇所に目星を付け、対応項目別に優先度整理する
2. 実装
3. リリース後の計測・運用
それぞれの項目別に調査・改善する
本番環境で実際に改善されているか確認する
継続的に監視できる基盤を整える
本番リリース後に大幅に起動時間を短縮したことを確認
Firebase Performance Monitoring
73
本番リリース後に大幅に起動時間を短縮したことを確認
Firebase Performance Monitoring
74
監視用のログ入れて何か効果あった?
75
76
とある変更により、起動時間が悪化したことを検知
😅 < なんかめっちゃ悪化しとる
監視用のログ入れて何か効果あった?
監視用のログ入れて何か効果あった?
77
とある変更により、起動時間が悪化したことを検知
😅 < なんかめっちゃ悪化しとる
即検知、即修正
効果は大いにあった
監視用のログ入れて何か効果あった?
78
とある変更により、起動時間が悪化したことを検知
😅 < なんかめっちゃ悪化しとる
遅くしない運用を作る
ログを活用できていないのは、ログを取っていないのと同じ
• Slackに流す、アラートを設定する
遅くしないための運用
79
ログを活用できていないのは、ログを取っていないのと同じ
• 誰が見ても理解できるようにダッシュボード化する
• 定例mtgやリリースmtgなどで都度確認する
遅くしないための運用
80
Data Portal(BIツール)
Performance Monitoring
↓
BigQuery
↓
Data Portal
にデータをエクスポートして使用
まとめ
起動時間短縮は泥臭い作業の積み上げにより実現
• 並列化、キャッシュ、処理の削減(遅延)など
本プロジェクトでは、計測により
• 想定とは異なるボトルネックの存在確認
• 継続的に監視できる基盤を作成
計測・監視はパフォーマンス改善や不具合の早期検知をするためには必要
「問題が生じてからログを入れる」のではなく、常日頃から「監視できる
仕組みを作る」ことが望ましい
81
本事例では、
「品質改善プロジェクト」として
エンジニア主体で進行できたのが良
かったかな感
余談
本プロジェクトをnote等で技術発信して、
ユーザから感触の良い評価を得られた
今回の事例の他にも
• 端末の発熱
• 配信中の入出力音声の音量測定
などREALITYユニークな計測事例もあり、
REALITYのnoteで掲載中
82
https://note.com/reality_eng
絶賛エンジニア募集中!
83
meety
wantedly
REALITYの未来を作ってくれる人を募集中!
是非、ご応募ください!
84
1 of 84

Recommended

【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~ by
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~UnityTechnologiesJapan002
63.2K views82 slides
MagicOnion入門 by
MagicOnion入門MagicOnion入門
MagicOnion入門torisoup
10.4K views37 slides
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像 by
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像エピック・ゲームズ・ジャパン Epic Games Japan
8.3K views132 slides
Steam ゲーム内購入 サーバーサイド実装について by
Steam ゲーム内購入 サーバーサイド実装についてSteam ゲーム内購入 サーバーサイド実装について
Steam ゲーム内購入 サーバーサイド実装についてKLab Inc. / Tech
1.1K views14 slides
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう by
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しようUnity Technologies Japan K.K.
48K views68 slides
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online by
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Platform - Japan
3K views44 slides

More Related Content

What's hot

ネットワーク ゲームにおけるTCPとUDPの使い分け by
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
18.5K views63 slides
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019] by
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]DeNA
23.2K views85 slides
UniTask入門 by
UniTask入門UniTask入門
UniTask入門torisoup
14.2K views95 slides
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online by
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Platform - Japan
5.3K views62 slides
Unityネイティブプラグインマニアクス #denatechcon by
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconDeNA
15.7K views48 slides

What's hot(20)

Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019] by DeNA
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
DeNA23.2K views
UniTask入門 by torisoup
UniTask入門UniTask入門
UniTask入門
torisoup14.2K views
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online by Google Cloud Platform - Japan
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Unityネイティブプラグインマニアクス #denatechcon by DeNA
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
DeNA15.7K views
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~ by UnityTechnologiesJapan002
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント by historia_Inc
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメントヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
historia_Inc13.3K views
UnrealBuildTool勉強会まとめ by Shun Sasaki
UnrealBuildTool勉強会まとめUnrealBuildTool勉強会まとめ
UnrealBuildTool勉強会まとめ
Shun Sasaki13K views
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術 by Unity Technologies Japan K.K.
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作 by UnityTechnologiesJapan002
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
コールバックと戦う話 by torisoup
コールバックと戦う話コールバックと戦う話
コールバックと戦う話
torisoup3K views
OPTPiX SpriteStudioと他社ツール比較(真)資料1 - 株式会社ウェブテクノロジ - GTMF 2018 OSAKA / TOKYO by Game Tools & Middleware Forum
OPTPiX SpriteStudioと他社ツール比較(真)資料1 - 株式会社ウェブテクノロジ - GTMF 2018 OSAKA / TOKYOOPTPiX SpriteStudioと他社ツール比較(真)資料1 - 株式会社ウェブテクノロジ - GTMF 2018 OSAKA / TOKYO
OPTPiX SpriteStudioと他社ツール比較(真)資料1 - 株式会社ウェブテクノロジ - GTMF 2018 OSAKA / TOKYO
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2 by Preferred Networks
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
Preferred Networks1.5K views
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO by Game Tools & Middleware Forum
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYOFINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について- by Tatsuya Iwama
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
Tatsuya Iwama23.1K views

Similar to アプリ起動時間高速化 ~推測するな、計測せよ~

Ci&T Mobile App Development for the Enterprise, Consumers and Startups by
Ci&T Mobile App Development for the Enterprise, Consumers and StartupsCi&T Mobile App Development for the Enterprise, Consumers and Startups
Ci&T Mobile App Development for the Enterprise, Consumers and StartupsMichaelCIT
454 views36 slides
MuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.io by
MuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.ioMuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.io
MuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.ioJitendra Bafna
543 views33 slides
Así publicamos las apps de Spotify sin stress by
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressSoftware Guru
418 views50 slides
DFW Wordpress February Meetup - Appcelerator Titanium by
DFW Wordpress February Meetup  - Appcelerator TitaniumDFW Wordpress February Meetup  - Appcelerator Titanium
DFW Wordpress February Meetup - Appcelerator TitaniumJeff Haynie
2.4K views26 slides
Introducting Titanium Mobile by
Introducting Titanium MobileIntroducting Titanium Mobile
Introducting Titanium MobileAxway Appcelerator
432 views26 slides
Introduction to Digital Analytics for Apps - Trusted Conf by
Introduction to Digital Analytics for Apps - Trusted ConfIntroduction to Digital Analytics for Apps - Trusted Conf
Introduction to Digital Analytics for Apps - Trusted ConfIn Marketing We Trust
546 views34 slides

Similar to アプリ起動時間高速化 ~推測するな、計測せよ~(20)

Ci&T Mobile App Development for the Enterprise, Consumers and Startups by MichaelCIT
Ci&T Mobile App Development for the Enterprise, Consumers and StartupsCi&T Mobile App Development for the Enterprise, Consumers and Startups
Ci&T Mobile App Development for the Enterprise, Consumers and Startups
MichaelCIT454 views
MuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.io by Jitendra Bafna
MuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.ioMuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.io
MuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.io
Jitendra Bafna543 views
Así publicamos las apps de Spotify sin stress by Software Guru
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
Software Guru418 views
DFW Wordpress February Meetup - Appcelerator Titanium by Jeff Haynie
DFW Wordpress February Meetup  - Appcelerator TitaniumDFW Wordpress February Meetup  - Appcelerator Titanium
DFW Wordpress February Meetup - Appcelerator Titanium
Jeff Haynie2.4K views
Introduction to Digital Analytics for Apps - Trusted Conf by In Marketing We Trust
Introduction to Digital Analytics for Apps - Trusted ConfIntroduction to Digital Analytics for Apps - Trusted Conf
Introduction to Digital Analytics for Apps - Trusted Conf
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands... by AugmentedWorldExpo
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
AugmentedWorldExpo212 views
Jyoti_Java_Developer_5 year 9 month of experience by jyoti mishra
Jyoti_Java_Developer_5 year 9 month of experienceJyoti_Java_Developer_5 year 9 month of experience
Jyoti_Java_Developer_5 year 9 month of experience
jyoti mishra66 views
Microsoft DevOps Solution - DevOps by Chetan Gordhan
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
Chetan Gordhan712 views
Mobiprobe Advantage by MobiProbe
Mobiprobe Advantage Mobiprobe Advantage
Mobiprobe Advantage
MobiProbe154 views
IRJET- Chatbot System for Latest Applications and Software by IRJET Journal
IRJET- Chatbot System for Latest Applications and SoftwareIRJET- Chatbot System for Latest Applications and Software
IRJET- Chatbot System for Latest Applications and Software
IRJET Journal10 views
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA by Jeff Haynie
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAAppcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Jeff Haynie1.1K views
QML & JavaScript on MeeGo: Flourish Conference 2nd Apr 2011, at UIC Chicago @... by Raj Lal
QML & JavaScript on MeeGo: Flourish Conference 2nd Apr 2011, at UIC Chicago @...QML & JavaScript on MeeGo: Flourish Conference 2nd Apr 2011, at UIC Chicago @...
QML & JavaScript on MeeGo: Flourish Conference 2nd Apr 2011, at UIC Chicago @...
Raj Lal3.4K views
Microservices for the Masses with Spring Boot and JHipster - Chicago JUG 2018 by Matt Raible
Microservices for the Masses with Spring Boot and JHipster - Chicago JUG 2018Microservices for the Masses with Spring Boot and JHipster - Chicago JUG 2018
Microservices for the Masses with Spring Boot and JHipster - Chicago JUG 2018
Matt Raible361 views

More from gree_tech

アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜 by
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜gree_tech
729 views36 slides
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介 by
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介gree_tech
229 views13 slides
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表 by
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表gree_tech
1K views18 slides
長寿なゲーム事業におけるアプリビルドの効率化 by
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化gree_tech
347 views116 slides
Cloud Spanner をより便利にする運用支援ツールの紹介 by
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介gree_tech
685 views31 slides
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介 by
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介gree_tech
601 views28 slides

More from gree_tech(20)

アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜 by gree_tech
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
gree_tech729 views
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介 by gree_tech
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
gree_tech229 views
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表 by gree_tech
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
gree_tech1K views
長寿なゲーム事業におけるアプリビルドの効率化 by gree_tech
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
gree_tech347 views
Cloud Spanner をより便利にする運用支援ツールの紹介 by gree_tech
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
gree_tech685 views
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介 by gree_tech
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
gree_tech601 views
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について by gree_tech
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてSINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
gree_tech626 views
海外展開と負荷試験 by gree_tech
海外展開と負荷試験海外展開と負荷試験
海外展開と負荷試験
gree_tech593 views
翻訳QAでのテスト自動化の取り組み by gree_tech
翻訳QAでのテスト自動化の取り組み翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み
gree_tech305 views
組み込み開発のテストとゲーム開発のテストの違い by gree_tech
組み込み開発のテストとゲーム開発のテストの違い組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い
gree_tech576 views
サーバーフレームワークに潜んでる脆弱性検知ツール紹介 by gree_tech
サーバーフレームワークに潜んでる脆弱性検知ツール紹介サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
gree_tech209 views
データエンジニアとアナリストチーム兼務になった件について by gree_tech
データエンジニアとアナリストチーム兼務になった件についてデータエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件について
gree_tech308 views
シェアドサービスとしてのデータテクノロジー by gree_tech
シェアドサービスとしてのデータテクノロジーシェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジー
gree_tech433 views
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて- by gree_tech
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
gree_tech1K views
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話 by gree_tech
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
gree_tech1.1K views
比較サイトの検索改善(SPA から SSR に変換) by gree_tech
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
gree_tech696 views
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行 by gree_tech
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
gree_tech2.9K views
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜 by gree_tech
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
gree_tech397 views
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮) by gree_tech
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
gree_tech752 views
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方- by gree_tech
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
gree_tech446 views

Recently uploaded

dummy.pptx by
dummy.pptxdummy.pptx
dummy.pptxJamesLamp
5 views2 slides
Pitchbook Repowerlab.pdf by
Pitchbook Repowerlab.pdfPitchbook Repowerlab.pdf
Pitchbook Repowerlab.pdfVictoriaGaleano
6 views12 slides
Renewal Projects in Seismic Construction by
Renewal Projects in Seismic ConstructionRenewal Projects in Seismic Construction
Renewal Projects in Seismic ConstructionEngineering & Seismic Construction
5 views8 slides
SUMIT SQL PROJECT SUPERSTORE 1.pptx by
SUMIT SQL PROJECT SUPERSTORE 1.pptxSUMIT SQL PROJECT SUPERSTORE 1.pptx
SUMIT SQL PROJECT SUPERSTORE 1.pptxSumit Jadhav
22 views26 slides
GDSC Mikroskil Members Onboarding 2023.pdf by
GDSC Mikroskil Members Onboarding 2023.pdfGDSC Mikroskil Members Onboarding 2023.pdf
GDSC Mikroskil Members Onboarding 2023.pdfgdscmikroskil
63 views62 slides
Ansari: Practical experiences with an LLM-based Islamic Assistant by
Ansari: Practical experiences with an LLM-based Islamic AssistantAnsari: Practical experiences with an LLM-based Islamic Assistant
Ansari: Practical experiences with an LLM-based Islamic AssistantM Waleed Kadous
9 views29 slides

Recently uploaded(20)

SUMIT SQL PROJECT SUPERSTORE 1.pptx by Sumit Jadhav
SUMIT SQL PROJECT SUPERSTORE 1.pptxSUMIT SQL PROJECT SUPERSTORE 1.pptx
SUMIT SQL PROJECT SUPERSTORE 1.pptx
Sumit Jadhav 22 views
GDSC Mikroskil Members Onboarding 2023.pdf by gdscmikroskil
GDSC Mikroskil Members Onboarding 2023.pdfGDSC Mikroskil Members Onboarding 2023.pdf
GDSC Mikroskil Members Onboarding 2023.pdf
gdscmikroskil63 views
Ansari: Practical experiences with an LLM-based Islamic Assistant by M Waleed Kadous
Ansari: Practical experiences with an LLM-based Islamic AssistantAnsari: Practical experiences with an LLM-based Islamic Assistant
Ansari: Practical experiences with an LLM-based Islamic Assistant
M Waleed Kadous9 views
Web Dev Session 1.pptx by VedVekhande
Web Dev Session 1.pptxWeb Dev Session 1.pptx
Web Dev Session 1.pptx
VedVekhande17 views
Design_Discover_Develop_Campaign.pptx by ShivanshSeth6
Design_Discover_Develop_Campaign.pptxDesign_Discover_Develop_Campaign.pptx
Design_Discover_Develop_Campaign.pptx
ShivanshSeth649 views
Design of machine elements-UNIT 3.pptx by gopinathcreddy
Design of machine elements-UNIT 3.pptxDesign of machine elements-UNIT 3.pptx
Design of machine elements-UNIT 3.pptx
gopinathcreddy37 views
Créativité dans le design mécanique à l’aide de l’optimisation topologique by LIEGE CREATIVE
Créativité dans le design mécanique à l’aide de l’optimisation topologiqueCréativité dans le design mécanique à l’aide de l’optimisation topologique
Créativité dans le design mécanique à l’aide de l’optimisation topologique
LIEGE CREATIVE8 views
Design of Structures and Foundations for Vibrating Machines, Arya-ONeill-Pinc... by csegroupvn
Design of Structures and Foundations for Vibrating Machines, Arya-ONeill-Pinc...Design of Structures and Foundations for Vibrating Machines, Arya-ONeill-Pinc...
Design of Structures and Foundations for Vibrating Machines, Arya-ONeill-Pinc...
csegroupvn8 views
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf by AlhamduKure
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdfASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf
AlhamduKure8 views
BCIC - Manufacturing Conclave - Technology-Driven Manufacturing for Growth by Innomantra
BCIC - Manufacturing Conclave -  Technology-Driven Manufacturing for GrowthBCIC - Manufacturing Conclave -  Technology-Driven Manufacturing for Growth
BCIC - Manufacturing Conclave - Technology-Driven Manufacturing for Growth
Innomantra 15 views
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx by lwang78
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
lwang78180 views
Searching in Data Structure by raghavbirla63
Searching in Data StructureSearching in Data Structure
Searching in Data Structure
raghavbirla6317 views

アプリ起動時間高速化 ~推測するな、計測せよ~