O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
1
Software Development Acceleration Through Process Virtualization
2
“IncrediBuildは、Unreal Engine 4ではシェーダーコンパイル時間短縮
にも利用できます。弊社ではシェーダーコンパイル時間が1/5~1/10になり、
デザイナーのクリエイティビティをより発揮できる環境が構築できました。...
• おさらい:IncrediBuildとは?
• ユーザーケーススタディのご紹介
• Dev toolsインタフェースの紹介
• 更なる高速化が可能なエンタープライズ版のご紹介
• プロセスレベルの仮想化技術の秘密をバラします!
| www.i...
| www.incredibuild.com | 4
LAN内のアイドル状態のCPUコアを自
動で使い、 様々なタスクを分散・高
速化することができます
ビルドやシェーディング、コンバート、単
体テスト、コード解析などの処理を簡
単に速くします
分散に参加するマシンに開発環境やビ
ルドツール、コン...
6
ゲーム 金融・証券
ネットワーク
ハードウェア
ソフトウェア
半導体
CAD
エンジニアリング
Other
ナビゲーション
マッピング
IncrediBuild は様々な業界・業種の会社様にご利用いただいております。
50ヵ国 2,000を...
7
 2002年からVisual Studioでの
開発を高速化しています
 Microsoft の開発チームと連携
して、IncrediBuild は
Visual Studioとのシームレスな
統合を実現しています
 IncrediB...
8
9
IncrediBuild
for
Visual Studio
ビルド
MSBuild
Make / Ninja
単体テスト
MSTest
カスタムツール
Gameエンジン
UE4 / Amazon
Lumberyard
EnlightenG...
10
開発者 / CI / CD / デザイナー
開発
開発
コンパイ
ル
動的コー
ド解析
テスト
単体テス
ト
結合テス
ト
負荷テス
ト
リリース
パッケー
ジ処理
難読化
静的コー
ド解析
ゲーム
テクスチ
ャ
シェーダ
ー
ライト
アセット...
| www.incredibuild.com | 12
 Milestone Studio様
 AAAレーシングゲームの開発会社
 Unreal Engine 4でPC、Xbox、PS4向け
 課題
 レーシングゲームを主軸としているため、グラフィックスとモデルリングのディテールにこ
だわ...
“IncrediBuild無しで巨大かつ複雑なプロジェクトを開発するのは賢明ではない。”
イヴァン・デル・デュカ, テクニカルディレクター at Milestone
 Supermassive Games様
 PlayStation VR 独占タイトル、『Until Dawn: Rush of Blood』と
『Tumble VR』をリリース
 Unreal Engine 4で開発
 課題
 迅速...
0
5
10
15
20
25
30
35
40
45
Code Compilation Shader
Super Massive Games Compilation and Shader(min)
Before IncrediBuild Wi...
 日本一ソフトウェア様
 ワールドワイドでトリプルミリオンのディスガイアシリーズ
 Nintendo Switch™のローンチタイトルとして、最新のナンバリングタイトルである
ディスガイア5の移植版を発売
 課題
 開発実機の不足によ...
“大きなプロジェクトであるほどIncrediBuildの効果が出るため、今後はさらに有効
活用していくことになるかと思います。複数プラットフォームで安定して利用できる
Incredibuildにはさらなる可能性を期待しております。”
日本一ソフ...
 Undead Labs様
 ゾンビサバイバルシミュレーションゲームのState of Decayシリーズ
 課題
 “シリーズもののため、続編ではユーザーの期待に応えるため、開発者やデザイナー
の最大限の努力が必要となります。そして、...
“高速なイテレーションは、生産的なゲーム開発の1つの柱であると我々は信じている”
テッド ワーシー, ゼネラルマネージャー at Undead Labs
 Turn 10 Studios様
 Microsoft Studio の一部門であり、レースゲームの開発チーム
 課題
 市場に出来るだけ早くゲームを投入する
 CPUの負担が大きい
(コードビルド、動画やグラフィックのレンダリング...
“IncrediBuild によって、我々はビルド時間を60分から8分へ削減し、マーケットへの
製品投入時間を大幅に削減することができました。”
ダン タンネル at Turn 10 Studios
 Electronic Arts様
 エンターテイメントソフトウェアの世界的リーダー
 課題
 ゲームプレイに使用されるアニメーション、モデル、テクスチャなど、EAのほとんどゲー
ムデータを処理するためにAutodesk Mayaが使用...
“Mayaの実行時間を短縮することで、EAはアプリケーション開発サイクル全体を大幅
に短縮することができました。”
Electronic Arts
 Bohemia Interactive様
 戦場シミュレーションゲーム、ArmAシリーズ
 課題
 緻密な地形表現かつ、大規模なオープンワールドを表現するために、実際の衛星
画像を地形表現のテクスチャに使用
 画像処理にかかる総時間...
“IncrediBuildのDev Toolsを利用することで、ArmAで使用されている地形データ
の処理時間を大幅に短縮でき、必要な作業量も大幅に削減できました。”
アンドリュー スファネル, リードプログラマー at Bohemia Int...
 Obsidian様
 スター・ウォーズ、サウスパーク、フォールアウトを開発
 課題
 大規模なオンラインゲームであるアーマードウォーフェアは数百万行にも及ぶ大規
模で複雑なコードからできており、ビルドやコンパイル時間を圧迫
 サーバ...
“各開発者がVisual Studio 上でIncrediBuild を使用した結果、1日あたり100
人分の時間が節約できました。”
ジャビエ オリバーズ, リードプログラマー at Obsidian
 The Coalition様
 Gears of War の開発
 課題
 内部開発者の嘆き
“マップを開くのに30 分、これが毎日4、5回も繰り返されます。1日の3分の1の時
間が何もしないで過ぎることになります。”
 外注(パー...
| www.incredibuild.com | 39
 ソリューション
 Azureクラウドプラットフォームを利用して、シェーダーを高速にコンパイルするための
700coreにも及ぶ専用分散環境を構築
 アクセス可能なAzureのデータ...
Submission インターフェース
分散実行するために、実行するコマンド(exe)を直接Incredibuildに投げる形式
xgSubmit.exe コマンドを元のコマンドラインの前に表記するだけ
xgSubmit.exe が表記さ...
task1.exe
task2.exe
task3.exe
task4.exe
LocalTask.exe
xgSubmit /command task1.exe
xgSubmit /command task2.exe
xgSubmit /co...
IBConsole /command=“Simulation_Application.exe”
/profile=“description.xml"
プロセスをどう処理させたいかを小さなxmlで定義する
IncrediBuildでプロセスを実行...
 AllowRemoteIf – リモート処理させる際に条件を指定できる
 AutoRecover – タスク失敗時に自動再処理させるタスクを文字
列でリスト表記
 TimeLimit – タイムアウト時に自動的にタスクを再実行する
 ...
 明白なメリット:
コンパイル時間を劇的に短縮する
生産性の劇的な向上
開発者とデザイナーのより深い同期
コスト節約 (時間およびハードウェア)
 隠れたメリット:
ブランチでの作業がしやすくなる
ゲーム品質の向上 – デザイナ...
• IncrediBuild v9.2より、従来版(Pro版)に加え、エンタープライズ版が配布されております。
• エンタープライズ版で出来る事
- マルチビルド機能 (複数のビルド(IncrediBuildコマンド)を単一マシンで同時実行可能...
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
| www.incredibuild.com | 65
ブースで1か月間の無償ライセンスをご案内していますので、
お申し付けください!
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
Próximos SlideShares
Carregando em…5
×

IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA

431 visualizações

Publicada em

IncrediBuild はソフトウェア高速化のためのテクノロジーで、ビルド、テスト、または他の開発プロセスの分散ネットワーク上での並列実行を可能にします。本セッションでは、Visual Studio での基本的な分散ビルドの実行方法や、タスクを分散するためのコツを解説します。また各種ゲーム向けビルド分散や、ビルド以外のタスク、Unreal Engine 4を代表としたゲームエンジン高速化の事例もご紹介します。

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA

  1. 1. 1 Software Development Acceleration Through Process Virtualization
  2. 2. 2 “IncrediBuildは、Unreal Engine 4ではシェーダーコンパイル時間短縮 にも利用できます。弊社ではシェーダーコンパイル時間が1/5~1/10になり、 デザイナーのクリエイティビティをより発揮できる環境が構築できました。” 株式会社ヒストリア CEO 佐々木 瞬
  3. 3. • おさらい:IncrediBuildとは? • ユーザーケーススタディのご紹介 • Dev toolsインタフェースの紹介 • 更なる高速化が可能なエンタープライズ版のご紹介 • プロセスレベルの仮想化技術の秘密をバラします! | www.incredibuild.com | 3
  4. 4. | www.incredibuild.com | 4
  5. 5. LAN内のアイドル状態のCPUコアを自 動で使い、 様々なタスクを分散・高 速化することができます ビルドやシェーディング、コンバート、単 体テスト、コード解析などの処理を簡 単に速くします 分散に参加するマシンに開発環境やビ ルドツール、コンバートツール等準備す る必要がない ソフトウェア高速化のテクノロジーです 5
  6. 6. 6 ゲーム 金融・証券 ネットワーク ハードウェア ソフトウェア 半導体 CAD エンジニアリング Other ナビゲーション マッピング IncrediBuild は様々な業界・業種の会社様にご利用いただいております。 50ヵ国 2,000を超える企業 100,000台以上のエージェントで稼働しています
  7. 7. 7  2002年からVisual Studioでの 開発を高速化しています  Microsoft の開発チームと連携 して、IncrediBuild は Visual Studioとのシームレスな 統合を実現しています  IncrediBuild for Azure によ って、ピーク時や製品のリリース時 などの状況に応じて柔軟にリソー スを追加できます IncrediBuild は Visual Studio の 正式パートナーです
  8. 8. 8
  9. 9. 9 IncrediBuild for Visual Studio ビルド MSBuild Make / Ninja 単体テスト MSTest カスタムツール Gameエンジン UE4 / Amazon Lumberyard EnlightenGame開発 PlayStation/ Nintendo 3DS Switch/ Xbox コード解析 Coverity Klocwork etc… パッケージング コード難読化 圧縮 動画/画像作成 エンコード コンバート IncrediBuildは マルチプロセスな処理 を高速化します 様々なタスクに対応
  10. 10. 10
  11. 11. 開発者 / CI / CD / デザイナー 開発 開発 コンパイ ル 動的コー ド解析 テスト 単体テス ト 結合テス ト 負荷テス ト リリース パッケー ジ処理 難読化 静的コー ド解析 ゲーム テクスチ ャ シェーダ ー ライト アセット レンダリ ング データ変 換 圧縮 AI トレ ーニング 画像化 クック
  12. 12. | www.incredibuild.com | 12
  13. 13.  Milestone Studio様  AAAレーシングゲームの開発会社  Unreal Engine 4でPC、Xbox、PS4向け  課題  レーシングゲームを主軸としているため、グラフィックスとモデルリングのディテールにこ だわり  4つの開発ブランチがありUE4 Editorのリビルド、ゲーム向けのプロジェクトビルド、 特にクックには9時間掛かっていた  ソリューション  開発者マシンおよびビルドサーバーにIncrediBuildを導入し、ビルドを高速化  テクニカルアーティスト(デザイナー)は、シェーダーコンパイルの高速化に IncrediBuildを使用  特に、レベルの設計者はUE4スタート時にソースコントロールと同期するため、実 質全てのシェーダーがリコンパイルされる。起動高速化にIncrediBuildが寄与。
  14. 14. “IncrediBuild無しで巨大かつ複雑なプロジェクトを開発するのは賢明ではない。” イヴァン・デル・デュカ, テクニカルディレクター at Milestone
  15. 15.  Supermassive Games様  PlayStation VR 独占タイトル、『Until Dawn: Rush of Blood』と 『Tumble VR』をリリース  Unreal Engine 4で開発  課題  迅速で信頼性の高いビルド システムが必要  継続的インテグレーションシステムからの最新の実行ファイルを受け取り、定期的に レビューする  ソリューション  ゲームのコンパイルを 4 倍高速化して継続的インテグレーション サイクルを大幅に 短縮  40分を超えていたシェーダ-とコード コンパイルが10分以下に短縮  ビルドプロセスが大幅に変更に改善
  16. 16. 0 5 10 15 20 25 30 35 40 45 Code Compilation Shader Super Massive Games Compilation and Shader(min) Before IncrediBuild With IncrediBuild “IncrediBuild はスタジオ全体で使用されています。プログラマーとシェーダーだけ でなく自動ビルド マシン上にもインストールされています。現在プロジェクトごとに 1 日約 25 件のビルドを行うことができますが、これは IncrediBuild の導入前には 考えられないことでした。” プラサンナ ジェガナサン, テクニカル ディレクター at Supermassive Games
  17. 17.  日本一ソフトウェア様  ワールドワイドでトリプルミリオンのディスガイアシリーズ  Nintendo Switch™のローンチタイトルとして、最新のナンバリングタイトルである ディスガイア5の移植版を発売  課題  開発実機の不足により、Windows上でエミュレートして開発  高性能なPCを購入したが、それでも一度のフルビルドで22分強掛かる  シリーズを重ねるにつれ、ソースコードの依存関係も複雑化  Nintendo Switch™ローンチに向けての短い開発期間  ソリューション  IncrediBuildを利用し、ビルド時間を4分50秒まで短縮  ローンチの発売に向けて順調に開発を進めることができた  Jenkinsからバッチが実行され、バッチ内にあるIncrediBuildのコマンドラインによ り分散ビルドが実行される。バッチビルドという機能により、複数ターゲットのビルド が同時に高速化
  18. 18. “大きなプロジェクトであるほどIncrediBuildの効果が出るため、今後はさらに有効 活用していくことになるかと思います。複数プラットフォームで安定して利用できる Incredibuildにはさらなる可能性を期待しております。” 日本一ソフトウェア, プログラマー 長安 雄作 日本一ソフトウェア ビルド時間比較
  19. 19.  Undead Labs様  ゾンビサバイバルシミュレーションゲームのState of Decayシリーズ  課題  “シリーズもののため、続編ではユーザーの期待に応えるため、開発者やデザイナー の最大限の努力が必要となります。そして、最高の友人であり最悪の敵なのが、時 間です。”  シェーダーコンパイルおよびライティングの時間が非常に長い  CIシステムに組み込まれた1日100回以上のクロスプラットフォーム(Xbox Oneと PC)の同時ビルド、レベルライト計算  ソリューション  12コアのビルドサーバ3台、4コアの開発者マシン45台にIncrediBuildを導入し、 仮想の216コアマシンを実現。  Dev Toolsのソリューションを利用してシェーダーコンパイル、ミドルウェアのライティン グのプレ計算タスクの高速化。  CIツールと連携させイテレーション速度を向上
  20. 20. “高速なイテレーションは、生産的なゲーム開発の1つの柱であると我々は信じている” テッド ワーシー, ゼネラルマネージャー at Undead Labs
  21. 21.  Turn 10 Studios様  Microsoft Studio の一部門であり、レースゲームの開発チーム  課題  市場に出来るだけ早くゲームを投入する  CPUの負担が大きい (コードビルド、動画やグラフィックのレンダリング、プラットフォームの変換、物理演算 エンジンの管理、ライティングエンジンの管理など)  ソリューション  コードビルドだけではなく、テストコードの解析、QAスクリプト、レンダリング、物理演 算、ライティング エンジン、またカスタムツールを10−30倍も高速化することに成功  Autodesk 3DS Maxのコンバートには6時間程度を要していましたが、 IncrediBuild を利用することで20分へと削減。
  22. 22. “IncrediBuild によって、我々はビルド時間を60分から8分へ削減し、マーケットへの 製品投入時間を大幅に削減することができました。” ダン タンネル at Turn 10 Studios
  23. 23.  Electronic Arts様  エンターテイメントソフトウェアの世界的リーダー  課題  ゲームプレイに使用されるアニメーション、モデル、テクスチャなど、EAのほとんどゲー ムデータを処理するためにAutodesk Mayaが使用されている。  ゲームには何万ものアセットファイルがあり、膨大な量のデータファイルを構築する必 要がある。  Pythonスクリプトがmayabatch.exeを実行しアセットファイルを出力するのに、 1台16CPUコアのマシンで4時間掛かっていた。  ソリューション  高速化をMayabatchにも適用できないか検証  7台のマシン合計108cpuコアの環境で4時間から僅か40分に大幅に短縮し、 結果として6倍の処理速度を実現  処理にかかる時間を大幅に短縮し、製品開発に注力  既存のインフラにそのまま導入できる
  24. 24. “Mayaの実行時間を短縮することで、EAはアプリケーション開発サイクル全体を大幅 に短縮することができました。” Electronic Arts
  25. 25.  Bohemia Interactive様  戦場シミュレーションゲーム、ArmAシリーズ  課題  緻密な地形表現かつ、大規模なオープンワールドを表現するために、実際の衛星 画像を地形表現のテクスチャに使用  画像処理にかかる総時間は8時間ほど。殆どは、テクスチャの圧縮処理  特に開発後半で、チューニングしたり、バグフィックスする段階で生産性に致命的 な影響  ソリューション  IncrediBuildを使うことによって、8時間の処理が40分へと短縮  コアを足せば足すほど高速化される事が確認できたので、今後さらに大きな地形 の設計において、コア数を足して作業をする
  26. 26. “IncrediBuildのDev Toolsを利用することで、ArmAで使用されている地形データ の処理時間を大幅に短縮でき、必要な作業量も大幅に削減できました。” アンドリュー スファネル, リードプログラマー at Bohemia Interactive
  27. 27.  Obsidian様  スター・ウォーズ、サウスパーク、フォールアウトを開発  課題  大規模なオンラインゲームであるアーマードウォーフェアは数百万行にも及ぶ大規 模で複雑なコードからできており、ビルドやコンパイル時間を圧迫  サーバサイドのコードはWindows 上で開発・実行されますが、製品ターゲットは Linux  QAプロセスに時間を割きたい  ソリューション  IncrediBuild によりイテレーション時間とビルド時間は大幅にスピードアップ  時間通りにビルドの準備を行うことで、一日あたり20-30人/時ものQA時間を節 約
  28. 28. “各開発者がVisual Studio 上でIncrediBuild を使用した結果、1日あたり100 人分の時間が節約できました。” ジャビエ オリバーズ, リードプログラマー at Obsidian
  29. 29.  The Coalition様  Gears of War の開発  課題  内部開発者の嘆き “マップを開くのに30 分、これが毎日4、5回も繰り返されます。1日の3分の1の時 間が何もしないで過ぎることになります。”  外注(パートナー)のグラフィックデザイナーの嘆き “あるケースでは、 パートナーが専用のIncrediBuild ファームの容量を自社で確保 することができず、UE4 上で巨大な『Gears of War 4』のマップを開くのに長時間 待たなければなければなりませんでした”
  30. 30. | www.incredibuild.com | 39  ソリューション  Azureクラウドプラットフォームを利用して、シェーダーを高速にコンパイルするための 700coreにも及ぶ専用分散環境を構築  アクセス可能なAzureのデータセンターにおよそ160のコアを導入して、パートナー ーとサイト間のVPNを構築 “The Coalition ではわずか1年で2つのAAA ゲームをリリースするのは非現実的だと 考えていましたが、次のような取り組みによってこれを成功に導きました。” - IncrediBuild により Azureを可能な限りスケーリング - 不要な待ち時間を削除 - 外部委託パートナーの高速化 - 柔軟な導入によるリソースの節約 ジョー ボット, ITマネージャー at The Coalition
  31. 31. Submission インターフェース 分散実行するために、実行するコマンド(exe)を直接Incredibuildに投げる形式 xgSubmit.exe コマンドを元のコマンドラインの前に表記するだけ xgSubmit.exe が表記された元のコマンドラインは、並列分散処理のためのキューへと追加される。 Automatic Interception インターフェース 分散させたいプロセス名のリストをxml形式で表記する 作業は、上記の小さいxmlを作るだけで、あとはプロセス実行時に自動的に分散処理される XML インターフェース XMLベースのIncrediBuild専用スクリプト言語
  32. 32. task1.exe task2.exe task3.exe task4.exe LocalTask.exe xgSubmit /command task1.exe xgSubmit /command task2.exe xgSubmit /command task3.exe xgSubmit /command task4.exe LocalTask.exe To ScriptFile.bat ScriptFile.bat Cmd> ScriptFile.bat Cmd> IBConsole /command=“ScriptFile.bat”  依存関係やグループを指定する事も可能  ソースコードや、スクリプトから直接実行する事も可能
  33. 33. IBConsole /command=“Simulation_Application.exe” /profile=“description.xml" プロセスをどう処理させたいかを小さなxmlで定義する IncrediBuildでプロセスを実行する
  34. 34.  AllowRemoteIf – リモート処理させる際に条件を指定できる  AutoRecover – タスク失敗時に自動再処理させるタスクを文字 列でリスト表記  TimeLimit – タイムアウト時に自動的にタスクを再実行する  WarningExitCodes – 特定のエラーコードを返した場合、警告と して出力に表示する  IdentifyTaskOutput – タスクをダブルクリックすると出力へ自動 的に移動  等色々…
  35. 35.  明白なメリット: コンパイル時間を劇的に短縮する 生産性の劇的な向上 開発者とデザイナーのより深い同期 コスト節約 (時間およびハードウェア)  隠れたメリット: ブランチでの作業がしやすくなる ゲーム品質の向上 – デザイナーが創造的なアイデアを探求できる ビルド回数を増やせる イテレーションの高速化 致命的不具合を早く発見できる 夜間ビルドのエラーからのリカバリーが早い シフト・レフト(工数の前倒し)の実現
  36. 36. • IncrediBuild v9.2より、従来版(Pro版)に加え、エンタープライズ版が配布されております。 • エンタープライズ版で出来る事 - マルチビルド機能 (複数のビルド(IncrediBuildコマンド)を単一マシンで同時実行可能) - マルチヘルパー機能 (ヘルパーマシンが複数ビルドに参加、コアを有効活用) - CI/CDツールへの、より簡単な結合 (Jenkins プラグイン等) - ダッシュボード機能により、より深く、ビルド状況や、Agentの活用状況の分析が可能 ⇒リソース使用や、マシンのより効率的な使い方、時間帯や傾向等、IBインフラの最適化に寄与 | www.incredibuild.com | 46
  37. 37. 48
  38. 38. 49
  39. 39. 50
  40. 40. 51
  41. 41. 52
  42. 42. 53
  43. 43. 54
  44. 44. 55
  45. 45. 56
  46. 46. 57
  47. 47. 58
  48. 48. 59
  49. 49. 60
  50. 50. 61
  51. 51. 62
  52. 52. 63
  53. 53. 64
  54. 54. | www.incredibuild.com | 65 ブースで1か月間の無償ライセンスをご案内していますので、 お申し付けください!

×