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

Editor's Notes

  • #6 簡単に:インストールは10分以内、その他、コードの変更や、環境構築等一切必要無し なぜなら、プロセスレベルでの仮想化技術を使っているから。 8コアマシン10台の構成で、一台が80コアとして使用できる。
  • #7 世界的に実績があります。16年分散高速化一筋。
  • #9 Visual Studioに統合され、IncrediBuildメニューからビルドが実行でき、ビルドモニターが表示されるデモムービー
  • #10 ゲーム開発 ビルドだけじゃないよ。
  • #11 アンリアルエンジン(UE4)のシェーダーコンパイルの分散デモムービー(サンプル:シーケンサー)
  • #12 IncrediBuildが高速化できる処理の話をさせていただきます。 こちらのスライドはゲーム開発、もっと大きな枠組みでいうとソフトウェア開発でCPUに負荷の掛かってくる処理をまとめたものです。 左側が一般のソフトウェア開発、更に右側の様々なタスクがあり、皆さん苦労されている所かと思います。 IncrediBuildがコンパイルの高速化にご利用いただけることはご存知の方、多くいらっしゃるかと存じます。 実はここに乗せている全ての処理をIncrediBuildが高速化できる可能性があります。 本日はIncrediBuildのユーザー様がどのような処理を高速化されていらっしゃるかという事例を、Unreal Engine 4の事例を中心として、Unreal Engine 4と一緒にご利用されるMayaやJenkinsの事例もお話しできればと存じます。
  • #15 初めの会社はマイルストーンスタジオさんです。 Superbike, Ride, World Rally ChampionshipなどのAAAタイトルを開発している開発会社さんです。 Unreal Engine 4でPC, Xbox,PS4とマルチプラットフォームのゲームを作られていらっしゃいます。 レーシングゲームを主軸としているため、グラフィックスとモデルリングのディテールに非常にこだわりがありました。 4つの開発ブランチがUE4 Editorのリビルド、ゲーム向けのプロジェクトビルド、クックに多大な時間を奪われており、これらの処理の高速化が課題となっていました。 テクニカルアーティスト、デザイナーの方々もシェーダーコンパイルの高速化を使用しらっしゃいます。 レベルの設計者は、UE4スタート時にソースコントロールと同期し、全てのシェーダーがリコンパイルされる状態であるため、高速化の恩恵は大きかったようです。
  • #16 IncrediBuildを導入いただいた結果がスライドのグラフとなります。 UE4エディタのビルドは56分から8分ほどに短縮、各プラットフォーム向けのプロジェクトビルドは1時間47分から14分まで短縮されました。9時間36分ゲームデータのクックを4時間28分まで短縮されています。
  • #18 「継続的インテグレーション システムからの最新の実行ファイルを受け取り、定期的にレビューする必要がありました。」 「Unreal Engine 4に開発が移行したので、チームには迅速で信頼性の高いビルド システムが必要でした」
  • #19 1日25件のビルド
  • #21 株式会社日本一ソフトウェアは、主にPlayStation®向けのゲーム開発を行ってきました。ワールドワイドでトリプルミリオンの出荷を記録しているディスガイアシリーズを筆頭に、数多くの魅力的なタイトルを発売しております。 今回はNintendo Switch™のローンチタイトルとして、最新のナンバリングタイトルである ディスガイア5の移植版を発売することになりました。 Nintendo Switch™への移植にあたり、開発実機の不足により、Windows上でエミュレートして開発する必要がありました。 主要なスタッフには 高性能なPCを購入致しましたが、それでも一度のフルビルドで22分強かかる状況でした。 シリーズを重ねるにつれ、ソースコードの依存関係も複雑化しております。依存関係を解消することによるビルド時間の短縮も期待できますが、多大なコストと時間がかかるため、移植タイトルであることやローンチに向けての短い開発期間の中では、現実的ではありませんでした。 22分のビルドが4分50秒に短縮されました。 これにより、ローンチの発売に向けて順調に開発を進めることがきたと聞いております。 ・複数プラットフォーム、複数地域(言語)の対応などで、一度に作るROMの数が増えている ・デバッグ時など問題が起きてROMの作り直し ・テストプレイ時の頻繁なROM更新 ・ROM作成の一連の流れをbatにまとめて実行可能に、ビルド~ROM作成~所定の場所に配置、を自動化でき、テストプレイやデバッグの際にとても役立った。
  • #22 6台
  • #24 Undead Labs: MicrosoftとパートナーでゾンビサバイバルシミュレーションゲームのState of Decayシリーズを開発されています。 “シリーズもののため、続編ではユーザーの期待に応えるため、開発者やデザイナーの才能、情熱、最大限の努力が必要となります。 そして、最高の友人であり最悪の敵なのが、時間です。我々はほとんどの開発者と同様にイテレーションの時間を非常に重要視しています。” シェーダーコンパイルおよびライティングの時間が非常に掛かっていた。 更に、CIシステムに組み込まれた1日100回以上のマルチプラットフォーム(Xbox OneとPC)向けビルド、コンテンツビルド、シーンのライティングタスク。 IBの使用法: それぞれのマシンが仮想216コアマシンとなり、ぶっとぶ高速化。 Dev-toolsのソリューションを使い、シェーダーコンパイルの高速化、ライティングのミドルウェアのプレ計算タスクの高速化に寄与。これは自社でカスタムして分散させたいプロセスを指定する方法を取られました。 CIツールと連携
  • #27 Turn 10 はMicrosoft Studio の一部門であり、レースゲームの開発チームとして2001年に設立されました。 Turn 10スタジオはゲーム開発者として、市場に出来るだけ早くゲームを投入するという大きな課題があります。 ゲーム開発のライフサイクル プロセスには、コードビルド、動画やグラフィックのレンダリング、プラットフォームの変換、物理演算エンジン、ライティング エンジンの管理などがあり、CPU への負担は大きい物になります。 IncrediBuild によって、コードビルドだけではなく、テストコードの解析、QAスクリプト、レンダリング、物理演算、ライティング エンジン、またカスタムツールを10−30倍も高速化することに成功しました。 特に3DS Maxのコンバートに6時間掛かっていたが20分へ削減。 これらの、計算集約型プロセスを大幅に高速化することで経費が80%近くも削減。
  • #30 Electronic Arts Inc.(EA)は、インタラクティブなエンターテイメントソフトウェアの世界的リーダーです。 EAゲームプレイに使用されるアニメーション、モデル、テクスチャなど、ほとんどゲームデータをAutodesk Mayaで作成されていらっしゃいました。 アセットファイルをゲーム対応フォーマットに変換するためにMayaを使用されていらしゃったのですが、EAのゲームには何万ものアセットファイルがあり、膨大な量のデータファイルを構築する必要があります。 具体的に申し上げますとPythonスクリプトがmayabatch.exeを実行しアセットファイルを出力するのですが、1台16CPUコアのマシンで全てのmayabatchを呼び出すのに4時間もかかっていました。 EA社は既にIncrediBuildをビルドの高速化に利用されていましたので、高速化をMayabatchにも適用できないかということで検証が開始しました。 結果、7台のマシン合計108cpuコアの環境で4時間から僅か40分に大幅に短縮し、結果として6倍の処理速度を実現しました。 1. 処理にかかる時間を大幅に短縮、生産性を最大化し、製品開発に注力できたのでローンチの期限を守ることができました。 2. 既存のインフラにそのまま導入できるので、マシンの追加購入などが必要ない
  • #33 戦場シミュレーションゲーム、ArmAシリーズ開発元 とても緻密な地形表現かつ、大規模なオープンワールドを表現ために、衛星画像を使っていました。 車両や戦闘機などが自由に移動できるオープンワールドを作るのに、20km x 20 kmサイズの地形データが必要でした。 画像処理にかかる総時間は8時間ほどで、殆どは、テクスチャ圧縮処理でした。 ゲーム内の地形の設計において、この膨大な処理時間は、大問題でした。 特に開発後半で、チューニングしたり、バグフィックスする段階で致命的でした。 IncrediBuildを使うために多少ツール側の設定変更が必要でしたが、IncrediBuildを使うことによって、8時間が40分へと短縮されました。 コアを足せば足すほど高速化される事がわかたので、今後さらに大きな地形の設計において、コア数を足して作業する予定です。
  • #36 Obsidianスタジオのクロスプラットフォームはスター・ウォーズやサウスパーク、フォールアウトのような有名なブランドを扱っていらっしゃる開発会社様です。 IncrediBuildをご活用いただいたのは大規模なオンラインゲームであるアーマードウォーフェアという戦車で戦う対戦型ゲームの開発をされた時でした。 アーマードウォーフェアは数百万行にも及ぶ大規模で複雑なコードからできており、そのことが決定的にビルドやコンパイル時間を圧迫していました。 Obsidian のサーバサイドのコードはWindows 上で開発・実行されますが、製品ターゲットはLinux です。 更にQAプロセスを効率的に行いたいというニーズもありました。 毎日数十万にも及ぶユーザが訪れるゲーミング プラットフォームを運営し改善していくためにはQAプロセスをよりよくする必要があったということです。 “IncrediBuild によって我々のイテレーション時間と毎日のビルド時間は大幅にスピードアップしました。” とOlivares は語っています。 一日あたり20-30人/時ものQA時間を節約
  • #37 ”プロジェクトの中にはコンパイル時間が40分から5-10分になったものもあります。多くのプログラマーは一日何度もコンパイルを行うので、これは非常に決定的な時間の節約になりました。”
  • #39 Obsidianスタジオのクロスプラットフォームはスター・ウォーズやサウスパーク、フォールアウトのような有名なブランドを扱っていらっしゃる開発会社様です。 IncrediBuildをご活用いただいたのは大規模なオンラインゲームであるアーマードウォーフェアという戦車で戦う対戦型ゲームの開発をされた時でした。 アーマードウォーフェアは数百万行にも及ぶ大規模で複雑なコードからできており、そのことが決定的にビルドやコンパイル時間を圧迫していました。 Obsidian のサーバサイドのコードはWindows 上で開発・実行されますが、製品ターゲットはLinux です。 更にQAプロセスを効率的に行いたいというニーズもありました。 毎日数十万にも及ぶユーザが訪れるゲーミング プラットフォームを運営し改善していくためにはQAプロセスをよりよくする必要があったということです。 “IncrediBuild によって我々のイテレーション時間と毎日のビルド時間は大幅にスピードアップしました。” とOlivares は語っています。 一日あたり20-30人/時ものQA時間を節約
  • #40 ピュアクラウドVM(Azure)に700コアの開発環境を構築した 2. 上記の環境をパートナー(外注)のグラフィックデザイナーに開放し、3rd partyもIBの恩恵を受けて、高速に作業が出来る体制を取った 3. 結果的に、AAAタイトルを年に2本出す事に成功した ケーススタディの話
  • #41 事例紹介で、Dev-toolsという言葉を使いましたが、dev-toolsというのはIncrediBuildを汎用的に使うインターフェースです。 実は、UE4等、ゲームエンジンにインテグレートされる際は、dev-toolsのインターフェースが使われています。 こちらのDev-toolsの使用方法について、簡単に説明いたします。
  • #42 大きく分けて、3つの使用方法(インターフェース)があります。
  • #43 Submittionインターフェースは、直接コマンド(exe)に対し、並列分散処理させるかさせないかを簡単に記述できるインターフェースです。 左側は、通常のバッチファイルです。ご存知の通り、コマンドラインから、Scriptilfe.batを実行すると、バッチファイルに書かれているコマンドが上から順番に逐次実行されます。 右は、並列分散対象とするexeを指定したバッチファイルです。(並列分散対象にするコマンドの前にxgSubmitを記述するだけです) 並列分散実行時は、ibconsoleコマンドを使って、このバッチファイルを指定します。これだけで分散対象に指定したコマンドが自動的に並列分散実行されます。 (上記例でいうと、task1-4.exeは分散実行されますが、LocalTask.exeは分散されず、コマンド実行マシンで実行されます)
  • #44 Automatic Interceptインターフェースは、分散させたい対象をプロセス名で指定する方式です。 事前に、どのプロセスを監視対象とするか、どのプロセスを分散可能なプロセスとするかをあらかじめxml内にルールとして表記しておきます。 上記の例では、Simulation_Applitaionsというプロセスを監視対象(IBによるインターセプトが可能なプロセス)として設定し、本プロセスから、Simulation_Processという子プロセスが起動されると、IBが自動的にキャプチャし、並列分散実行させるという定義をしています。 このルールを定義したxmlファイル(上記では、description.xml)を、ibconsoleコマンドの /profile=で指定すると、実行するコマンドがxmlファイルにて定義した通りに、並列分散実行されます。 実行させたい処理にて、同じプロセスが多数、ランダムに発生するような処理体系で、非常に有用なインターフェースです。 先ほどのSubmissionインターフェースと、こちらのAutomatic Interceptionインターフェースは併用できます。
  • #45 (これ無くてもよいかも。菅沼も知らないので、聞かれても答えられないし。今度勉強しときます。) (さらっと)オプションとしては、このようなオプションを指定する事もできます。(ぐらいかな)
  • #47 詳しくはブースまで
  • #49 Now let’s take a look at the technology behind process virtualization – how does it work? Explain here how the technology works  process level virtualization, create virtual supercomputer, use idle resources on the network,
  • #50 Now let’s take a look at the technology behind process virtualization – how does it work? Explain here how the technology works  process level virtualization, create virtual supercomputer, use idle resources on the network,
  • #51 Now let’s take a look at the technology behind process virtualization – how does it work? Explain here how the technology works  process level virtualization, create virtual supercomputer, use idle resources on the network,
  • #52 Now let’s take a look at the technology behind process virtualization – how does it work? Explain here how the technology works  process level virtualization, create virtual supercomputer, use idle resources on the network,
  • #53 Now let’s take a look at the technology behind process virtualization – how does it work? Explain here how the technology works  process level virtualization, create virtual supercomputer, use idle resources on the network,
  • #54 Now let’s take a look at the technology behind process virtualization – how does it work? Explain here how the technology works  process level virtualization, create virtual supercomputer, use idle resources on the network,
  • #55 Now let’s take a look at the technology behind process virtualization – how does it work? Explain here how the technology works  process level virtualization, create virtual supercomputer, use idle resources on the network,
  • #56 Now let’s take a look at the technology behind process virtualization – how does it work? Explain here how the technology works  process level virtualization, create virtual supercomputer, use idle resources on the network,
  • #57 Now let’s take a look at the technology behind process virtualization – how does it work? Explain here how the technology works  process level virtualization, create virtual supercomputer, use idle resources on the network,
  • #58 Now let’s take a look at the technology behind process virtualization – how does it work? Explain here how the technology works  process level virtualization, create virtual supercomputer, use idle resources on the network,
  • #59 Now let’s take a look at the technology behind process virtualization – how does it work? Explain here how the technology works  process level virtualization, create virtual supercomputer, use idle resources on the network,
  • #60 Now let’s take a look at the technology behind process virtualization – how does it work? Explain here how the technology works  process level virtualization, create virtual supercomputer, use idle resources on the network,
  • #61 Now let’s take a look at the technology behind process virtualization – how does it work? Explain here how the technology works  process level virtualization, create virtual supercomputer, use idle resources on the network,
  • #62 Now let’s take a look at the technology behind process virtualization – how does it work? Explain here how the technology works  process level virtualization, create virtual supercomputer, use idle resources on the network,
  • #63 Now let’s take a look at the technology behind process virtualization – how does it work? Explain here how the technology works  process level virtualization, create virtual supercomputer, use idle resources on the network,
  • #64 Now let’s take a look at the technology behind process virtualization – how does it work? Explain here how the technology works  process level virtualization, create virtual supercomputer, use idle resources on the network,
  • #65 Now let’s take a look at the technology behind process virtualization – how does it work? Explain here how the technology works  process level virtualization, create virtual supercomputer, use idle resources on the network,