ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。
-
Macへのゲーム展開 Part 1:ゲームプランの作成
最新のハイエンドゲームをMetalとAppleシリコンのパワフルな機能でMacとiPadに展開しましょう。ゲームポーティングツールキットがどのように既存のWindowsゲームのグラフィック機能互換性やパフォーマンスの評価に役立つか学びます。オーディオ、インプット、そして高度なディスプレイ機能に対応するためのベストプラクティスや技術的リソースについて紹介します。このセッションの視聴後には、「Macへのゲーム展開 Part 2:シェーダのコンパイル」でHLSLシェーダをMetalにポーティングする方法も確認しましょう。
関連する章
- 0:00 - Intro
- 0:57 - Game porting toolkit
- 3:04 - Evaluate your game
- 8:46 - Compile your shaders
- 9:13 - Render with Metal
- 9:44 - Input
- 11:12 - Audio
- 13:08 - Display
- 14:37 - Wrap-Up
リソース
- Achieving smooth frame rates with Metal’s display link
- Download the game porting toolkit
- Download the Metal shader converter (Mac and Windows)
- Game Controller
関連ビデオ
Tech Talks
WWDC23
WWDC22
WWDC21
- バーチャルゲームコントローラと物理ゲームコントローラの活用
- EDRによるHDRレンダリング
- Physical Audio Spatialization Engine(PHASE)によるジオメトリを意識したオーディオの実現
WWDC20
-
ダウンロード
♪ ♪
こんにちは Aiswariyaです ゲームをMacに対応させることについて お話しします このセッションはハイエンドゲームを Macに移植する方法についての パート1となります パート2と3では シェーダーのコンパイルのツールや技術と Metalでネイティブにレンダリングさせる 最善方法をお話しします Apple Silicon を搭載したMacには 高度なグラフィック 素晴らしいパフォーマンス イマーシブなオーディオや美しいディスプレイに 多機能なソフトウェアなど 素晴らしいゲーム体験を届けるための すべてが揃っています 以前にもまして人気がでており 今こそ何百万人ものプレイヤーに ゲームを届けるべきです WindowsゲームのMacへの移植プロセスが これまで以上に速くなりました 今年からGame Porting Toolkitで 既存のWindowsゲームをそのまま エミュレーションできる環境を提供し Macでゲームを作動させる際の グラフィック機能の作動や 潜在的な性能について 素早く理解することができます どのように見たり聞こえたり そしてゲームをプレーするか そのために何ヶ月も費やす必要はありません ゲームの可能性がすぐにわかります Windowsゲームを移植するには 最初のシーンを作動させるまでに 幾つものステップがあります それにはソースコードのリコンパイルや HLSLから何千もの カスタムシェーダーのコンバート グラフィックサブシステムの再実装 オーディオ・入力・ディスプレイや HDRレンダリングのコンバートなどの 作業が、最初のシーンがネイティブに 作動する前に必要です さらにリリース前までにデバッグや 性能の最適化を終えねばなりません しかしGame Porting Toolkitで プラットフォームでの最初のシーンを より早い段階から確認するができます Game Porting Toolkitには 新しくMetal Shader Converterが含まれ 既存のHLSL GPUシェーダーを すべて自動的にMetalに コンバートすることができます Metal Shader Converterで シェーダーやグラフィックの移植にも 長い時間を要しません より早くリリースできる上 まだMacとApple siliconの ユニークな機能を活用する時間があります ゲームの作動を早い段階から見れることで クロスプラットフォームエンジンで ほとんどの移植をする時にも役立ちます プラットフォーム特有のコードや Windowsゲームに足された プラグインを移植する前に そのゲームの可能性を見ることができます Macへのゲームの移植は ゲームの評価から始まり シェーダーのコンパイルと Metalでのレンダリング ゲームの入力 オーディオ ディスプレイ HDRレンダリングのコンバートと続きます 最初のステップはGame Porting Toolkitでの ゲームの評価です Game Porting Toolkitの環境は ゲームのIntel instructionsとWindows APIsの利用を Macに合うようにコンバートします それらはキーボード マウス コントローラー オーディオ再生 ネットワーキングやファイルシステム そしてグラフィックのためでもあります GPU-driven pipelinesやSIMD operations などの現代的グラフィック機能や テッセレーションや ジオメトリシェーダーなど古い機能も Mac環境に合わせて翻訳されます 具体的な例を見てみましょう Blooberのようなデベロッパは Game Porting Toolkitを使って Windows DirectX 12ビルドの 「The Medium」を評価します 「The Medium」はBlooberにより 開発・出版された最近のゲームです Apple SiliconとMetalの ネイティブリリースは 驚きがあり 美しく とても楽しいゲームです またイマーシブなグラフィックと オーディオによる体験は 少しばかり怖くもあります ツールキットをインストールした後 Windows版「The Medium」をMacにコピーし Terminalから起動させます Game Porting Toolkitのエミュレータ環境で起動され ロギング及びデバッグ情報が Terminalに表示されます ゲームを起動した時 ロギングで 潜在的な問題が記録されたかもしれませんが デベロッパには問題ないように見えます Game Porting Toolkit documentationで ロギングに現れるものの 詳細について確認してください すへてのグラフィック機能を 作動させていますが ゲームは順調に作動しており 予想通りのようです 透明性や反射 ジオメトリシェーダーや テッセレーション そしてグローバルイルミネーションによる ユニークでムードのある照明アプローチは Metal 3にすべて翻訳され鮮明で完璧です 次に少しゲームプレーをして 性能のベースラインを探りましょう ちなみにWindowsゲームで 性能のベースラインに注目するのは Game Porting Toolkitの すべてのオーバーヘッドと API及びinstruction setの翻訳です
Blooberの例ではWindows版ではもちろん MetalFX upscalingのような 性能向上機能は使用していません ネイティブでないゲームが これらの処理を通ると 性能と電力効率が落ちるかもしれません
ゲームをMacにネイティブ化すると 性能が改善し Apple SiliconやMacハードウェアにある MetalFXやAppleの組み込み型ディスプレイの 拡張ダイナミックレンジなど 多くのアドバンスドな機能を 活用することができます ゲーム評価の優れたワークフローは Metal Performance HUDを オンにしてプレーし 注目すべき特定の箇所を探すことです デベロッパはHUDが時々フレーム落ちし フレームレートが低い場所を見つけました そこでInstrumentsを使い Metal System Traceを捕捉します これは性能に関する問題を調べる 最善の方法です Game Porting Toolkitの上で動作させている間 Metal Performance HUDが向上されます HUDの標準的な機能はトップにあります GPUの情報とレンダリングされている解像度 瞬時のフレームレートや現在の間隔 またGPU timeの合計などが表示されています これらの統計の高低値をハイライトし メモリ使用量を示し 最後数秒のグラフが表示されます その下にはinstruction set翻訳の 詳細が示され どのDirect3D APIが使用されているか render encodersはいくつ使用されているか command buffersとdispatchesの数 またジオメトリシェーダーや テッセレーションシェーダーが 使われているかが示されます さらにresource copiesとclearsが 捕捉されています ここでInstrumentsでtrace fileを開き どこでフレーム落ちしたかわかります ここではGPU timelineにギャップがあり ほとんど利用されていません そしてタスクがないフレームが 幾つかありました これを調べた結果 instruction translationの オーバーヘッドかAPI translationの 違いのためだとわかりました これらはゲームをMacネイティブにすると おそらく消え去るであろう問題です ゲームの性能は向上し 効率よく作動するはずです さらにMetalのレンダリングにおける ベストプラクティスを使い MetalFX upscalingの適応すると 性能をさらに向上できます これは「The Medium」をネイティブ版と 翻訳版を比べたもので Metal 3とApple Siliconの使用により フレームレートが大幅に向上しています Game Porting Toolkitを使うには developer.apple.comをお訪ねください Toolkiの構築と設定に関する 説明書の入ったパッケージがあり ゲームの評価を始めることができます Game Porting Toolkitと Macへの移植について 意見や質問・提案などがある場合は Feedback Assistantをご利用ください 既存のWindowsゲームを起動させ グラフィック機能や 性能を評価したところで shader pipelineの移植です
Metal Shader Converter toolで すべての高度なシェーダーパイプラインを コンバートします それらにはジオメトリ テッセレーション メッシュ レイトレーシングがあります シェーダーのコンパイルは 非常に深いトピックです 2つ目のセッション 「Complie Your Shaders」をご覧ください 次にMetalのレンダリングを見てみましょう
Metal 3は高性能なグラフィックや 計算処理をすべて提供します MetalFXや fast resource loading オフラインでのコンパイル 最新ハイエンドゲームで使われる メッシュシェーダー レイトレーシングなど グラフィックコードのコンバートが 非常に簡単になっています。 3つ目のセッション 「Render with Metal」は Metalにレンダリング処理を移植し Apple Siliconで最高の性能を引き出す方法を 解説しています Game Porting Toolkitで 基本入力機能を評価しました 次にネイティブに移植し 触覚や振動などの高度な機能を 積極的に利用しましょう Windowsゲームは既に クロスプラットフォームゲームエンジンで 入力プラグインを活用しているか XInputやGameInputorなどの 低レイヤーなWindows APIsを使っているか 周辺機器用のカスタムSDKが バンドルされていることがあります Appleプラットフォームでは Game Controller frameworkが スレッドセーフでローレイテンシーの 幅広いゲーム入力周辺機器を サポートしており ゲームパッド キーボード マウス レーシングホイールやアーケードスティックなどがあります また触覚やモーションなど さらなるゲームコントローラーの 性能などにもアクセスできます Appleプラットフォームは アプリ別のリマッピング スクリーンショットやビデオ録画の 自動サポートや 15秒のゲームプレイハイライトなど システムレベルの 利用者選好サポートを提供します ゲームの入力ロジックを 移植するのは簡単です 準備ができたら過去のセッション 「Tap into Virtual and Physical Game Controllers」と 「Advancements in Game Controllers」で 詳細やサンプルコードを 得ることができます オーディオもまた魅力的な ゲーム体験のメインパートです 既存のオーディオワークフローや 機能をネイティブに Macに移植するのは簡単です Appleのデバイスは 最新式組み込みスピーカーで プレーヤーははっきり聞こえます それはうるさいファンがないからです またローレイテンシー空間オーディオを サポートするAppleデバイスと 互換性のある有線及びワイヤレスの オーディオ機器が多くあります 既存のゲームはおそらく既にWwiseや UnityやFMODなどクロスプラットフォーム Middleware solutionsを使っています これらは通常System Audio APIsや Frameworksを利用しています WindowsではDirectSoundやXAudio2 WASAPIなどmiddleware layersを 使用しているかもしれません Appleプラットフォームにも同じ middleware productsが存在します これらはSpatial Mixer Audio Unit PHASEやAVAudioEngineなど 高低両レベルのApple audio frameworksを使っています これらのmiddleware productsは Apple Silicon SDKで ネイティブにサポートされています ほとんど何もする必要はありません でもMiddlewareを使用していなくても プラットフォーム提供の オーディオフレームワークとAPIsを 直接使用できます 特にこのレベルで 空間オーディオを活用したいなら PHASE のDocumentationと サンプルコードを確認してください AUSpatialMixerを使った 12-channel 7.1.4 PCM dataでの デモがあります CoreAudio AudioUnitsとPHASEについての 過去のセッションも ゲームがmiddlewareベースでない場合に low-level system frameworksについて学ぶ 素晴らしいチャンスです Appleのディスプレイはイマーシブな ゲーム体験を提供する不可欠なパーツです Game Porting Toolkitで ゲームのレンダリングコードが 基本的スタンダードダイナミックレンジと エミュレーター環境でframe pacing APIsを 走らせているのが見えます WindowsではColor managementと Tone mapping APIsで AdvancedColorInfo color space APIsなど ハイダイナミックレンジを実現しています またSDRとHDRコンテンツのペースに IDXGISwapChainにある タイミングとフィードバックを 使っているかもしれません CAMetalLayerの拡張ダイナミックレンジは さらに高度な ディスプレイ機能にアクセスできます floating-pointであれ 10-bit integer rangeであれ HDR10であれPQ10 shadersであれ HDRとtone mapping logicを 簡単に動かすことができます CAMetalDisplayLink APIは きめ細かいコントロールで 最も低いレーテンシーを達成できます Metalレンダリングに EDRサポートを加えるトピックもあります 「Explore EDR on iOS」は pixel formatsのリキャップや macOSとiOSで一貫したMetal APIsの 使用について学ぶことができます 「Explore HDR Rendering with EDR」では EDR APIsとその機能をどう使うかという 基本的な理解をするための最適な プレゼンテーションになってます Apple Silicon Macプラットフォームは ゲームをMacに移植するための必要な すべてのソフトウェアと ハードウェア機能を備えています Game Porting Toolkitと Metal Shader Converterで Macへの移植は非常に簡単になりました パート2の「Complie Your Shaders」と パート3の「Render with Metal」も ぜひご覧ください みなさんのゲームをプレーできるのを 楽しみにしてます ♪ ♪
-
-
特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。
クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。