UE4.25 Update - Unreal Insights - 【2020】

タグ ue4 ue-optimize

スライド概要

動画:https://youtu.be/NhehQI98lis

Unreal Insightsはプロファイリングに役立つツールで、これ1つでCPUもロードもネットワークの問題も解析できてしまうほど優秀です。本ウェビナーでは、そんなUnreal Insightsの機能や使い方など基礎的な部分から、4.25で追加された新しいAnimation Insights, Network Insightsの使い方などの更新情報をお届けします。

講師:
Software Engineer Developer Relations, 鍬農 健二郎 (@donbutsu17)

#EGJオンラインラーニング
https://www.unrealengine.com/ja/blog/connect-with-the-unreal-engine-community-online

profile-image

エピック ゲームズ ジャパン

@EpicGamesJapan

作者について:

Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/

スライド一覧
シェア
埋め込む»CMSなどでJSが使えない場合

公開日

2020-05-28 03:33:37

各ページのテキスト

1. 4.25 Update - Unreal Insights Epic Games Japan Software Engineer, Developer Relations 鍬農 健二郎 #UE4

2. https://docs.unrealengine.com/ja/Engine/Performance/UnrealInsights/index.html #UE4

3. Unreal Insights とは? 機能 ● アプリケーションのパフォーマンスをプロファイルするツール 良い点 ● 解析結果を元にアプリケーションを最適化することができる ● Stats やSession Frontendでの解析よりも役立つ情報が多い #UE4

4. Unreal Insightsを使う流れ ① 引数付きで起動 ② 出力 アプリケーション デベロッパー トレースファイル ④ 解析 ③ 読み取り Unreal Insights #UE4 .utrace

5. Unreal Insightsの画面 トレース一覧 #UE4 トレース詳細

6. Unreal Insightsの画面 Timing Insights (CPU, GPU, Log,...) Asset Loading Insights (Asset Load) Animation Insights (Animation) トレース詳細 Network Insights (Network) #UE4

7. 目次 ● ● ● ● #UE4 Timing Insights Asset Loading Insights Animation Insights Network Insights

8. Timing Insights #UE4

9. Timing Insights とは? CPUやGPUなどのイベントを時系列で出力して表示する ことができる ● 各スレッドの動作状況などを知ることができる ● トレースはStandaloneやPackage(Shipping以外)で利用可 ● できるだけTestビルドを使用する ⇒ デバッグやパフォーマンス検証が捗る #UE4

10. データのキャプチャ アプリケーション起動引数でチャンネルを指定 例:CPUとGPUのキャプチャを取る場合 -trace=CPU,GPU UE4.25からチャンネルを指定する方式に変更 ● UE4.25以前:-cpuprofilertrace ● UE4.25以降:-trace=cpu (チャンネル:Cpu/Gpu/Bookmark/Frame/Loadtime/File/Net/Log) #UE4

11. #UE4

12. Timing Insights を開く Unreal InsightsのTiming Insightsタブから #UE4

13. Timing Insights #UE4

14. Timing Insights - GameThread - ナイアガラ 入力検出 #UE4 移動 アニメーション

15. Timing Insights - Thread - #UE4

16. Timing Insights - Track Filtering - #UE4

17. Timing Insights - Bookmark表示 - #UE4

18. Timing Insights - Channel別 - Frame File GPU CPU #UE4

19. Timing Insights - EventList - イベント毎の CountとExecTime 燃えているマークは ホットスポット #UE4

20. Timing Insights - Stats - #UE4

21. CPU&GPU の最適化 CPU プロファイリング https://docs.unrealengine.com/ja/Engine/Performance/CPU/index.html GPU プロファイリング https://docs.unrealengine.com/ja/Engine/Performance/GPU/index.html 60fpsアクションを実現する秘訣を伝授 基礎編 https://www.slideshare.net/EpicGamesJapan/ue4-festeast2019-60fpsbasic [CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編) https://www.slideshare.net/EpicGamesJapan/cedec2017-ue4 UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳) https://www.slideshare.net/EpicGamesJapan/montreal-dev-daypresentationv1jp #UE4

22. 目次 ● ● ● ● #UE4 Timing Insights Asset Loading Insights Animation Insights Network Insights

23. Asset Loading Insights #UE4

24. Asset Loading Insights とは? アセットのロードイベントを時系列で出力して表示する ことができる ● アセットをどのタイミングでロードしたのか、ロードにどのくら い時間を要したのかを知ることができる ● Package(Shipping以外)で利用可 ⇒ デバッグやパフォーマンス検証が捗る #UE4

25. データのキャプチャ アプリケーション起動引数で”Loadtime”を指定 -trace=Loadtime CPUイベントやI/Oイベントと並行して確認することで、 より詳細な情報が得られる -trace=Loadtime,File,Cpu -statnamedevents #UE4

26. Asset Loading Insights を開く Unreal InsightsのAsset Loading Insightsタブから #UE4

27. Asset Loading Insights - Elemental - レベルロード時のアセットをトラッキング #UE4

28. Asset Loading (PreInit) #UE4

29. Event Aggregation イベント毎にリスト化して負荷を調べることができる #UE4

30. Object Type Aggregation オブジェクトタイプ毎にリスト化して負荷を調べることができる #UE4

31. Package Details パッケージ毎にリスト化して負荷を調べることができる #UE4

32. Export Details パッケージ、クラス別にリスト化して負荷を調べることができる #UE4

33. アセットロード の最適化 UE4におけるLoadingとGCのProfilingと最適化手法 https://www.slideshare.net/EpicGamesJapan/ue4loadinggcprofiling 『ドラゴンクエストXI S』はいかにUnreal Engine 4で最適化されたか? https://www.famitsu.com/news/201910/16184681.html [UE4] Asset Managerのアセットの非同期ロード機能について https://qiita.com/EGJ-Kaz_Okada/items/f18bca3fb5c8fc1aea9c #UE4

34. 目次 ● ● ● ● #UE4 Timing Insights Asset Loading Insights Animation Insights Network Insights

35. Animation Insights #UE4 UE4.25

36. Animation Insights とは? Pose, Curve, Blend などアニメーションの情報を視覚化して 表示することができる ● Editorで利用可能 ⇒ デバッグやパフォーマンス検証が捗る #UE4

37. Animation Insights を有効化 以下の3つのPluginを有効(Enabled=true)にする #UE4

38. Animation Insights を開く [Window]>[Developer Tool]>[Profiling]を選択 ● [Animation Insights]を開く ● [Trace Data Filtering]を開く #UE4

39. この2つを使って解析 #UE4

40. キャプチャする時はこうなる フィルタリング #UE4

41. Trace Data Filtering 機能 ● チャンネル単位で指定が可能 ● デフォルトはAnimationキャプ チャ用のプリセットが選択可能 (選択した時点でキャプチャ開始) #UE4

42. データのキャプチャ [Animation]を選択するだけ ※起動引数でのチャンネル指定(-trace=Animation,Object,Frame)と同じ #UE4

43. #UE4

44. Animation Insights - Third Person - #UE4

45. Animation Insights - Blend - #UE4

46. Animation Insights - Graph - #UE4

47. Animation Insights - Pose - #UE4

48. Animation Insights - デバッグ表示 - ● デバッグ表示 Pose→Draw Pose Pose→Draw Bone を有効にする ● スクラブ再生 “Ctrl”キーを押しなが らバーをスライド #UE4

49. Animation Insights - Advanced LocomotionV4 - #UE4

50. Animation Insights - Montage - #UE4

51. Animation Insights - Notify - #UE4

52. Animation Insights のフィルタリング ソースフィルタ (Object指定) チャンネルフィルタ ワールドフィルタ (Channel指定) (World指定) #UE4

53. Trace Soure Filterのフィルタ作成 #UE4

54. Trace Soure Filterのフィルタ作成 フィルタリング用の関数を作成 #UE4

55. Trace Soure Filterのフィルタ作成 ThirdPersonCharacterのみを抽出 #UE4

56. Trace Soure Filterのフィルタ作成 表示するフィルター名を入力 #UE4

57. Trace Soure Filterのフィルタ作成 ANDやORなど論理フィルタが可能 #UE4

58. Trace Soure Filterのフィルタ作成 どのActorがフィルタリングされたかを視覚化 #UE4

59. Trace Soure Filter:全Actorのワイヤーフレーム表示 #UE4

60. Trace Soure Filter:フィルタをパスしたActorのみワイヤーフレーム表示 (Filter:StaticMeshActor) #UE4

61. Trace Soure Filter:フィルタをパスしないActorの要因表示 (Filter:StaticMeshActor) #UE4

62. Animation Insights のデータ [Project]/Saved/TraceSessions に保存される ● 保存された.utraceはUnreal Insightsでも表示可能 ● Animation InsightsのPluginが有効だと生成される ● #UE4 ディスク容量に注意 (Editor起動の度に.utraceファイルが増加)

63. Animation の最適化 アニメーションの最適化 https://docs.unrealengine.com/ja/Engine/Animation/Optimization/index.html [CEDEC2018] UE4アニメーションシステム総おさらい https://www.slideshare.net/EpicGamesJapan/cedec2018-ue4-111104578 Optimizing UE4 for Fortnite: Battle Royale - Part 1 | GDC 2018 https://www.youtube.com/watch?v=KHWquMYtji0&feature=emb_title #UE4

64. 目次 ● ● ● ● #UE4 Timing Insights Asset Loading Insights Animation Insights Network Insights

65. Network Insights #UE4 UE4.25

66. Network Insights とは? 送受信パケットやRPCコールなどネットワークの情報を 視覚化して表示することができる ● Network Profilerよりも利便性が良い ● Editor, Package(Shipping/Test以外)で利用可 ⇒ デバッグやパフォーマンス検証が捗る #UE4

67. データのキャプチャ アプリケーション起動引数でNetTraceを指定する -trace=Net -NetTrace=1 -tracehost=localhost チャンネル ● ”Net”指定 #UE4 トレースレベル (1以上必須) ● 0:Default ● 1:Verbose ● 2:VeryVerbose トレース先指定 (任意) ● IPアドレスを指定 ● PIEなどローカル時は不要

68. データのキャプチャ (Network) 例:パッケージゲームのキャプチャ時 例:Visual Studio起動のキャプチャ時 #UE4

69. #UE4

70. Network Insights を開く Networkのデータをキャプチャした後にタブを選択するだけ #UE4

71. Network Insights - Shooter Game - #UE4

72. Network Insights - Overview - Game Instance Net Connection 送信/受信 パケット パケット詳細 (Block) #UE4 パケット詳細 (List)

73. Network Insights - Outgoing - キャラクターの移動の通知するRPC (ServerMove) #UE4

74. Network Insights - Incoming - #UE4

75. Network Insights - Net Stats - パケットを選択すると パケットの詳細がリスト化される #UE4

76. Network の最適化 パフォーマンスと帯域幅に関するヒント https://docs.unrealengine.com/en-US/Gameplay/Networking/Actors/ReplicationPerformance/index.html UE4でマルチプレイヤーゲームを作ろう https://www.slideshare.net/EpicGamesJapan/ue4howtocreatemultiplayergame Networking in UE4: Server Optimizations | Live Training https://www.youtube.com/watch?v=mT8VUVuk-CY #UE4

77. Unreal Insights のUE4.25アップデート ● ● ● ● #UE4 Animation Insights, Network Insightsの追加 起動引数が変更、以前のコマンドは非推奨に 自動Live接続機能追加 別プロセス化により複数トレースを開けるように

78. 4.25での変更点:自動Live接続 有効時アプリケーションを検出して 自動LIVEトレース開始 #UE4 自動検出対象は Platform, App Name一致

79. 4.25での変更点:プロファイルビューを別プロセス化 UE4.24 #UE4 UE4.25

80. #UE4