E3の最も記憶に残るものの1つは、現在の時代の最大の技術的成果の1つであることも明らかにしています。 2年半前、フィルスペンサーロサンゼルスのガレンセンターのステージに進んで、オリジナルのXbox360バージョンを紹介します質量効果Xbox Oneハードウェアで実行されます。印象的な早期アクセス期間に続いて、後方互換性プログラムが完全に展開され、数百のXbox 360タイトルがXbox Oneで再生できるようになりました。すべて達成されましたか?バックコンパートは実際にどのように機能しますか?
長年にわたり、私たちはプロセスに関するいくつかのタイトビットしか受け取りませんでした - 基本的には、元のXbox 360 PowerPC実行可能ファイルが中間体にリバースエンジニアリングされ、X86に再コンパイルされます。また、Xbox Oneプロセッサに統合されたあるレベルのハードウェア互換性がジョブを容易にすることについての話もありましたが、それを超えて、プロセスの技術的な詳細は地上で薄くなっています。
「基本的に、X86に再コンパイルしたVGPUまたはXbox 360 GPUがあり、360 OSスタック全体を実行します」とXbox Platform LeadのBill Stillwellは説明します。 「私たちは各ゲームを取り、それが実行されるようにそれを再コンパイルしますが、基本的に私たちはまだ360でそれを実行しており、チームは複数のパスでゲームを通過します。」
最初のパスでは、チームはGPUシェーダーを収集します。Stillwellが「啓蒙」と説明しています。 「啓発は、ゲームの転移を改善するための出発点です」と彼は言います。 「これはGPUのものよりもCPU要件です。啓発は、ハードウェア、関数のエントリポイントなどにどのような指示が書かれたかを教えてくれます。基本的に、最初に構築するときに前向きに知る必要がある情報のセット」
タスクを非常に支援することは、Xbox 360ハードウェア設計の特定の側面が実際にXbox Oneプロセッサ、特にテクスチャ形式とオーディオのサポートに組み込まれているという事実です。 「それが私たちにとってこの種の可能性を可能にします。なぜなら、私たちが収集するすべてのシェーダーを取り、それらとすべての悟りをパッケージ化することができるからです。すべてを正しく実行しています。」
基本的に、Xbox 360のPowerPCプロセッサはXbox OneのX86 Foundation以外の世界であるため、簡単な作業ではありません。フローティングポイント計算は、衝突検出などの側面に潜在的な意味を持つ40ビットから32ビットから32ビットに適応する必要がありますが、ここでのMicrosoftの目的は明らかです - 仮想化されたXbox 360でゲームコードをホストし、それが実行できるように元のハードウェアにできるだけ閉じます。
「私たちがそれについてオフに話す方法は、事実上、ゲームが実際の360コンソールで実行されていないことをゲームが決して知らないことを確認しようとすることです。 360ハードウェアと私たちはソフトウェアですべてを行います」とStillwellは続けています。 「だから、複数のプレイスルーセッションがあり、100人以上のテスターが通過し、数千時間のビデオデータを収集し、そこから調整できるデータを取得するため、エミュレータは少し取得します。ゲームのリリースで私たちが経験するすべてのサイクルを少し堅牢にします。」
低電力、低周波X86コアで3.2GHzで実行されるトライコアPowerPC CPU用に設計されたコードの適応コードの野望は注目に値します。理論的には、Xbox 360の6つのハードウェアスレッドは、Xbox Oneの特定のコアにマッピングできますが、チームがより挑戦的なゲームを引き受けるにつれて問題が発生しました。
「私たちが見つけたのは、それがスレッドだけでなく、異なるコアではありませんでした。実際、Xbox Oneにはスレッドスケジューラがあります。必要に基づいてapportionsが必要になっているのに対し、360はロックされていたという点で、非常に一貫性がありました」説明します。 「そして、私たちが発見したのは、Xbox Oneスレッドスケジューラを使用したとき、たくさんの問題が発生したため、実際に独自のスレッドスケジューラを書き直したことです...そのエミュレータレイヤーを起動するたびにロゴがポップアップするように360の場合、Xbox Oneからスレッドスケジューリングを引き継ぎ、360タイミングにロックダウンしているため、2つの翻訳に対処したり、Xbox Oneのスレッド管理について直接心配する必要はありません。 「
しかし、基本的には、Xbox 360バックコンパートは、エミュレーション層の原理に基づいて機能します。いくつかのハードウェアアシスタンスがあり、 - はい - いくつかの「秘密ソース」(Microsoftは、エミュレーターがXbox 360のVMX128ベクターユニットをどのようにサポートするかについて描かれたくありませんでした)が、チームは今ではすべてがすべてがどこにあるかという点にあります。 Xbox 360は実行でき、そのエミュレータはソフトウェアをミラーリングできます。そして、それは印象的です - 360 ERAの終わりまでに、開発者はDirectX APIをバイパスし、GPUをより直接的に扱うために余裕があり、コードの転移をより困難にする可能性があります。スティルウェルは、これがエミュレーション層にとって問題ではないことを確認しています。実際、サポートされていない唯一のことはホーン。
「つまり、人々がゲームを書く方法であっても、誰かが誰も以前にやったことを考えていない方法でゲームを書くので、決して決して言いません。」と彼は付け加えます。 「私たちはそれらのいくつかに出くわしましたが、一般的に、私たちは今、私たちが仕事を知っているとは決してうまくいかないと思っていたいくつかのゲームを早い段階で持っていました。」
そして、以前は機能していたがうまく機能しなかったゲームがあります。 Xbox Oneで実行されているXbox 360タイトルの初期のテストでは、多くの問題が発生しました。特に、エミュレーターの強制V -Syncが30fpsで実行されたゲームが20fpsに低下するゲームを見ることができます。そして、Halo Reachがありました。これは、必要な標準に達していない後方互換性プログラムにとって非常に重要な旗艦タイトルです。 Microsoftがテスト手順を再検討し、既存のバックコンパートタイトルがパフォーマンスの向上により改良されるのを目にする触媒であることが証明されました。
「ええ、私たちは絶対にそれをしました、そして実際にそれに対していくらかのクレジットを取ります。それはそのようなREACHのレビューでした。そして、私たちは360をエミュレートすることができたので、私たちは自分自身に非常に満足していたので、私たちはゲームをプッシュし始めました、そして、私たちのテストの多くは主観的でした」とスティルウェルは説明します。
「私たちはテスターの軍隊を持っていると述べましたが、ゲームの能力を評価する方法に関してはかなり生かった。多くの場合、それは並んでいるプレイスルーでした。そして、リーチは一種の重要な瞬間でした。私たちにとって、私たちは最初に到達し始めたとき、それは私たちが行った最も複雑なゲームの1つだったので、それはプレイし、私たちが自分でそれをプレイし始めたとき、それはエミュレータが適切にレンダリングするという観点から私たちにとってマイルストーンの成果でした。
ただし、後方互換性チームが取り組んだタイトルが多いほど、エミュレーション層がより正確になりました。 Halo Reachなどのタイトルがあることを知っていますギアオブウォー3現在、以前よりもはるかにスムーズに実行されていますが、実際には、以前のすべてのバックコンパートリリースは1回ではなく2回改良されています。
「今、一部のゲームはすでに最大機能で実行されているため、それらを変更することはありませんが、他のゲームでは、カジュアルなプレイヤーが気づかないかもしれない入力遅れのフレームペースまたは改善の改善が見られます。 - しかし、そのすべての作業はリーチが出荷された後、パフォーマンスベンチマークを満たしていないことに気付きました。ゲームの。」
また、Microsoftがどのようにそのツールを形作ったかは、ここでDigital Foundryでの作業方法と類似しています。本質的に、ゲーム内で実際に起こっていることとコンテキストでパフォーマンスデータを一致させることができることは、照明を証明できます。
「私たちが今何年のビデオを持っているのか、どこに引っ張ることができるかを忘れています - あなたたちと同じように、そうですよね? - ゲームプレイビデオを引くことができ、フレームペースを見ることができ、フレームレートを経験的に見ることができ、グラフ化することができます時間の経過とともに、FPSカウンターを調べる前に、それがゲームだけであり、ゲームのエミュレーションと2つのプラットフォーム間の違いがどれだけあるかを必ずしも抽出することはできませんでした。」スティルウェルは言います。
しかし、この種の方法論は、Xbox 360エミュレーターのパフォーマンスの向上を超えています。同じツールは、新しいXbox One Xハードウェアで実行されているXbox Oneタイトルのテストにも非常に役立ちます。 Bill Stillwellは、ERAタイトルについて説明しています - すべてのゲームが座っているカテゴリである排他的権利アプリケーションソフトウェア(SRAもあります - ストア、Spotifyなどの共有権アプリもあります):
「私たちは1年間、Scorpio compatを始めたときにツールに投資しました - そして、私はここでチームに少し称賛を与えます - 私たちがScorpioとERAのゲームを見始めたとき、新しいハードウェアでは、これらすべてのゲームをテストするために同じツールセットを再適用したため、互換性を中心に主張することができ、チームはすべての出荷されたXbox Oneゲームをすべてテストしませんでした。初期のScorpioハードウェアで互換性の主張をすることができるようにします。測定で非常に堅牢になったため、エミュレーション層がどのように対処できるかについて非常に正確に得られるようになりました。」
そして、私たちは今、Xbox Oneがオリジナルのハードウェアで実行されている同じゲームを日常的に上回るポイントです。これは、プロジェクトの開始以来、チームのデザイン目標でした。「パリティは十分ではありませんでした。 XboxプログラムマネージャーのKevin Gammill氏は、次のように指摘しています。
これらはすべて、Xbox OneタイトルとXbox 360ゲームの両方にさまざまなバックコンパートの拡張機能を備えたXbox One Xに導かれます。これについては、過去に詳細について説明しました、ハイライトは、パフォーマンスの向上、読み込み時間の速度、16倍の異方性フィルタリング、さらにはFreeSyncサポートです。これに加えて、7つのXbox 360ゲームの範囲が特定のXbox One X拡張機能を受け取りました。結果は並外れており、Microsoft Software Development Engineer Eric Heutchyが設計したテクノロジーであるHeutchy Methodと呼ばれるものを利用しています。
「ゲームが元のレンダリングターゲットをレンダリングすると、仮想360 GPUは寸法を認識し、レンダリングターゲットをスケーリングするため、Xbox Oneメモリに隠された資産の高解像度コピーが事実上あります」とBill Stillwellは説明します。 「ゲームはそれについては知りませんが、私たちのためですはエミュレータは、その表面が画面上のテクスチャとして使用される場合、高解像度バージョンと効果的に交換できます。そして、これらはすべてゲーム内の資産ですが、私たちがそのRAMキャッシュを使用しているため、資産をより速く出すことができます。これは、私たちが工場よりも職人の職人です。特に、より高いレンダリングアセットを使用しているため、9倍の解像度の増加(各軸で3倍)を行っているため、各ゲームがどのように変化するかを測定する必要があります。どのジオメトリで表示される資産を操作できるようにして、高解像度のテクスチャで同じまたはより良いパフォーマンスを得ることができます。」
すべてのバックコンパートタイトルには特定の原則が残っています。したがって、たとえば、Microsoftは、反対を示唆するシナリオであっても、実際にゲームコードの1行を変更することはありません。例えば、ハロー3Xbox 360でのフレームペースの問題はXbox Oneで固定されていますが、これはすべて追加のGPU電源にかかっており、元のコードが360ハードウェアで制限を開始し始めています。 Xbox Oneが提供する追加のオーバーヘッドは、その問題を単純に修正します。すべての微調整と改善はエミュレータ層で実行されますが、Xで強化されたタイトルでは、ゲーム固有の変更が実装されています。結果は並外れている可能性があります。フォールアウト3また、Halo 3は、ピクセルカウントだけでなく、より良い資産のように見えるもの、または改善されたLODからも、詳細に大幅に増加します。ここの比較ショットは自分自身のために語っています。
「MIPマッピングと呼ばれるテクスチャフィルタリングの仕組みに関係しています。テクスチャは、MIPチェーンとして知られる同じ画像のますます小さなバージョンを作成するために事前にフィルタリングされています。実際、ゲームでのアンチエイリアスの非常に初期の形の1つであり、今ではほとんど当たり前のことと見なされています」とスティルウェルは説明します。 「ピクセルカウントが減少すると、最終的にはピクセルが100%不透明または100%の透明であるポイントになります。MIPチェーンのより高いレベルは不透明度が高く、約1.5レベルが高いため、以前は完全に現在、透明性は部分的に不透明です。」
しかし、それ以上のものがあります。初期のアサシンの信条のタイトルで最も明らかな視覚的欠点の1つは、低解像度の影のカスケードでした。驚くべきことに、これはXbox One X拡張バージョンで大幅に改善されています。同様に、ミラーのエッジが事前に計算された「焼き」の影は変わらないままですが、ダイナミックな影も元のゲームでは見えない高解像度を持っています。
「具体的には、アサシンの信条については、レンダリング中に使用される表面のレンダリング解像度を増やす能力があります。動的な影がより詳細にある場合、最終レンダリングターゲットと同じ9xピクセルカウントでシャドーバッファーをレンダリングしています。 「スティルウェルは明らかになります。 「解像度の増加は、影自体には大幅に詳細があることを意味します。パフォーマンスに影響を与えたくないので、すべてのゲームの影でこれを行いませんが、パフォーマンスに影響を与えることなくアサシンクリードでこれを行うことができました。 Mirror's Edgeにも適用されます。」
Halo 3とMirror's EdgeもHDRをサポートしています。これは、後方互換性チームとAdvanced Technology Group(ATG)のコラボレーションです。高ダイナミックレンジレンダリングは現在、いくつかのコンソール世代にわたって私たちと一緒に行われていますが、Xbox 360 ERAでは、最終結果は常にトーンマップされ、通常は10ビットから8ビットです。 ATGのMartin Fullerは説明します:
「そこに10ビットが入っている場合、SDR信号を取得できます。クリップされたデータを探して、「わかりました、より明るい白の信号をマッピングします。そして、それをテレビに送ります。それは非常に効果的です。その信号のトップエンドをまっすぐにしてから、その上端をHDR範囲に入れた新しい曲線を適用します。」
理論的には、10ビットパイプラインを備えたすべての360タイトルはHDRにマッピングできますが、実際にはそれほど簡単ではありません。すべてのゲームがHalo 3やMirror's Edgeのようなものではありません。たとえば、レンダリングパイプライン全体で10ビット処理が持続しない場合があります。また、このページの他の場所の比較から注意することができるように、このプロセスによってゲームの外観が大幅に変化する場合があります。 Halo 3は元のプレゼンテーションに忠実であり続けていますが、Mirrer's EdgeはSDRでプレイすると非常に著しく変化します。
「ハローの場合、私たちは343に戻り、それぞれのビルドを持ってきて、「まあ、どう思いますか?」と言いました。そして、彼らは言った、「ええ、それは私たちが望んでいたことです、私たちはただできませんでした。」しかし、強化されたタイトルを見て、「いいえ、それは私たちがそのテクニックを使わないようにしていない」と言った他の開発者がいました。テレビはまだいくつかのことをしますが、彼らは一般的に以前にセットアップしたのと同じスペクトルを望んでいます。行きたい」
数週間前、私たちは新しいコンソール、標準のXbox One、オリジナルのXbox360で7つのXbox One Xの拡張タイトルをすべてプレイするタスクを設定しました。以前のテストで劇的な改善で発見したように、Gears of War 3で実施しました。Xの9倍の解決策にもかかわらず、360のタイトルも同様に機能します - 新しいコンソールでは(忘却の場合)より良くないとしても。 Bill Stillwellが説明するように、さらにXで強化されたタイトルが別のウェルカム機能とともに次のようになります。
「このリストはキュレーションされており、すべてのゲームをテストしてテストするため、私たちが見つけたもう1つのことは、一部のゲームが[Xbox One] S.のプレイに同等の視覚的なバンプを取得するということです。 、強化を行わなかった場合、Sで行ったことを超えるパフォーマンスバンプが得られるので、次のラウンドに組み込まれます - そして、古いものにそれを改造します - 視覚強化をオフにし、ハードウェアの改善のみに依存し、ゲームの元の解像度でパフォーマンスを最大化できるようにする能力。」
XboxとPlayStationコンソールが基本的に同じ技術ビルディングブロックで構築されている世界では、主に同じタイトルが存在するソフトウェアライブラリがあり、Microsoftがバックカタログを最新のハードウェアに持ち込むことに焦点を当てていることは、競争との差別化の明確なポイントです。 OG XboxタイトルでさえXbox Oneに到着していますが、再びHeutchy Method Enhancementsが整っています。その場合、両方のベースXbox Oneはすべてのタイトルの4倍の解像度のブーストから利益を得て、Xbox One Xで16倍に増加します。今日のゲームは現在、将来のコンソールにさらなる改善が見られるような方法で建築されています。しかし、一番下の行は、Xboxチームにとって、あなたのゲームが世代を超えて生きる能力が明らかに重要であるということです。
「私はPRマーケティング担当者のように聞こえることを知っていますが、それについての良いことは、フィル[スペンサー]ダウンであるフィル[スペンサー]からの良いことです。 「年上では、彼らがもはや良いことではないということではありませんか?
「360からXbox Oneに360に機能する機能を配置してからXの機能をアップグレードするのは長いスローグでした。この時点に到達するのに何年もかかりました。 。それはかつてのようではなく、これらが私たちが維持する必要がある遺産であるということではありません。」