先日、マイクロソフトフライトシミュレーターがリリースされましたが、このゲームの高画質モードがかなりハイクオリティーなので、ベンチマークテストでfps数が出にくいゲームが登場しました。

 

 現在のゲームだと、4K対応でもある程度のスペックの物だと4Kでfps数が出るものやフラグシップだと60fps越えの製品もありますが、このゲームは、RTX 2080Tiでも60fpsが出ないような状態なので、今後のGPUのベンチマークを測る上では、いい指標になりそうです。

 

 ゲームの場合データの読み書きが増えているのと、テクスチャーのサイズも大きくなっているので、現在は、VRAMの容量は多くないとダメですし、メモリー実装量も多くしないとかなり消費してしまいます。その為、現在は、下限で16GB位と考えたほうがいいです。基本的な指標としては、 【 次世代ゲーム機よりもメモリー実装量が少ない環境にしないほうがいい 】 ので、製作用途は当然ですが、高画質でプレイするという条件でのゲーミング環境の導入の場合だと、そう言った選択になります。

 

 このメモリーとVRAMの容量ですが、ゲームプレイでそうなるという事は同じような物を作る場合には、同様の性能を用意しておかないと動きませんから、最高品質を動かすようなマシンというのはそのテストを行わないとどんな不具合を抱えているのか確認すらできませんから、ハイクオリティーで処理が重たいゲームを作ると、その分、マシンスペックが必要になります。

 

 データの取り扱いですが、これも 【 ターゲットとしているマシンの仕様に合わせた物 】 ですから、意図的に設定を変えると画質は落ちる物のそのゲーム自体は楽しめるような物だとかなり振れは蛾を広くしてあるはずですから、最高品質の物でもアーキテクチャの影響を受けにくい状態になっているはずです。つまり、 【 ユーザーのすそ野を広げるために帯域を新生代に合わせていない作りにしてある 】 という感じです。これがあるので、低品質モードでプレイすると意外と動くタイトルが多いのですが、現在では、ベンチマークテストの数値として参照するような物ではなくなっているドラクエベンチやストIVベンチなどもありますから、こうした古いゲームタイトルについては、結構前のアーキテクチャでも動きます。

 

 その為、現在のソフトウェアの品質で動く物を想定した場合、どう言ったハードウェアが必要なんだろうか?という指標を見る場合だと、最高品質から順にみていく必要があるので、そうした場合には必然的に現在の最上位の製品を使うことになります。基本的にコンテンツの制作を行う場合、ゲームの不具合を探す必要がありますから、低品質から負荷の高い最高品質までテストをすることになりますが、60fpsで頭打ちになっているゲーム(PC版のNieR:Automataとかがそんな感じですね。)もありますが、120fps以上出るゲームもあります。マイクラをバニラでプレイした場合のfps数が物凄いことになりますが、この処理におけるfps数が高い場合、ゲーミングモニターのようにfps数の高い表示機器が意味を成します。

 

 今年の11月に日本でも発売が決まったXbox Series Xやコントローラーの機能やオーティオの機能が気になって仕方がないPlayStation 5(と言うか、折角音にこだわっているので、推奨ヘッドフォンとかの情報も欲しいところですね。)では、120fps対応なので、コンシューマゲーム機では、初となる 【 ゲーミングモニターで滑らかに動く仕様 】 になっています。

 

 ゲーミングデバイスの中にモニターがありますが、4Kでリフレッシュノートの高い製品も出てきていますから、今後は次世代ゲーム機と合わせて使うとよさそうなディスプレイも増えていくと思います。

 

 こうしたfps数の高いモニターというのは、ゲーム自体がそう言った出力ができていないと無理なので、ソフトウェアの仕様もそうですが、ハードウェアの処理能力もそれに見合っている必要があります。そうした条件をクリアしてある場合に、fps数の高いゲーミングモニターを使うと滑らかに動くようになります。

 

 このfps数の違いですが、

 

 

のような違いが出ます。

 

 ゲームの場合、リアルタイム処理を行っていますが、現在は、ドット絵で物凄いゲームも増えているので、スプライト処理で動いているゲームもすごいことになっているますが、リアルタイム処理が可能な3DCGのゲームも様々な処理を実装できるようになりました。次世代ゲーム機では、ダイナミクスの処理が凄いことになっているので、前述の二製品で出るタイトルは物凄いことになると思います。時世大ゲーム機のポテンシャルについては、Unreal Engine 5のデモで、

 

 

と言う動画が出ていますが、次世代ゲーム機のポテンシャルの高さを感じるものになっています。Unreal Engine 5で出来る事の多さもそうですが、PlayStation 5の機能面の凄さにも驚かされますが、ハードウェアで出来る事が現行機とは別次元になっている事が確認できます。

 

 Xbox Series Xの場合、レジューム機能が実装され、ゲームの再開がとんでもなく速くなるような話ですから、この辺りもSSDによる速度向上とは別に気になるところですが、興味深い進化を遂げています。(あと、Xbox Series XはXbox時代からの後方互換を保証しているので、旧ハードのソフトは全て動くようです。)

 

 ゲームの場合、新しい技術がどんどん実装されていますが、現行機だと、Kinect V2が登場したり、PS VRなども出ましたが、新しいハードが出ると体感するためのデバイスとして色々な機能が実装されています。任天堂のアプローチは、センサー検知とその処理を上手く使ったゲームが出ていますが、Wii辺りからそうした機能を実装したゲーム作りが行われています。この流れで体を動かすゲームが増えているわけですが、Wii Fitとかリングフィットアドベンチャーなどもそうしたセンサーを使ったものになります。

 

 旧世代のゲーム機のコントローラーには加速度センサーとかジャイロセンサーとか実装されていたはずなので、現在はそうしたセンサーを当たり前に使えるようになっているのですが、2000年を超えてから、コントローラーの振動でレースゲームのロードノイズなどを表現したり、物を持った時の重さの体感などもできるような振動のコントロールなどがゲームに実装さえるようになりました。これが、触覚に訴えかける演出なんですが、こうした事が現在のゲームエンジンでも行えるようになっています。

 

 BlenderのゲームエンジンのフォークのUPBGEでは、現在2.9系をベースにしたα版が提供されていますが、この中で、コントローラーの振動をロジックエディタで制御できる(と言うか、ゲームノードのアドオンも実装されています。)ようになっているので、オフラインで動くゲームエンジンですが、現在は、個人がゲームを作る場合でも、こうした演出も実装できるようになっています。当然、市販のゲームでも使用されているUnreal EngineやUnityなどでは当たり前にそうした事が出来るようになっていますが、そう言った出力関連についてもそうした機能が実装されています。

 

    UPBGE

      https://upbge.org/

 

 ハードウェアの性能に合わせた物しか作れないというのは、何時の時代も同じですが、現在は、ゲームエンジンが多機能になっているので、自由度の高い肺活が行えるようになっています。ゲーム制作の場合、プログラミングを行って、最適化されたものを作る方が高速になるので、ゲームエンジンについても、メーカーがハウスツールを開発して、作る藻に最適化した物を使て散る事例も多いですが、スペックによって出来る事が違いますから、処理能力が高いマシン程、出来る事が多いですし、作れる物の選択肢が増えます。

 

 ゲームについては、表示における破綻などを補正するために、垂直同期をコントロールする機能が実装されているのですが、Free Syncなどを使用することでフレームレートの変化とリフレッシュノートのずれによるフリッカーの発生を防ぐことができます。この点滅の違いによるちらつきというのは、動画撮影時でも電気の周波数とシャッタースピードの同期が取れていないと発生しますが、こうした現象は重たくなるとフレームレートが落ち込んでしまうゲームでは発生しやすくなっています。動画の場合、fps数は一定ですし、映像コンテンツだと、再生専用機で見る場合にはそうした事は発生しませんし、放送やオンデマンドでもそうした事は発生しません。しかし、ゲームの場合、内部処理で常にレンダリングを行っているので、fps数は常に変動しています。その為、60fps表示のモニターで60fpsがアベレージで出るゲームでもピーク時と落ち込みが酷い時の差が結構出てしまいます。こう言った振れ幅というのは映像コンテンツの再生では発生しませんが、ゲームでは出てしまいますから、この補正をしなくてはなりません。その補正機能として、こうしたSyncと言う機能が実装されています。次世代ゲーム機の新機能ですが、これも実装されますが、基本的にDirect X12 Ultimateで実装される機能の大半が実装されることになります。この大半と書いたのは、Direct X 12 Ultimateでは、RTXとDLSS 2.0が含まれるのですが、この二つの機能はNVIDIAのGeforceやQuadro RTXシリーズでしか使用できません。次世代ゲーム機では、AMDのアーキテクチャを使っているので、SoCで実装されているGPUはRDNA 2世代の物になるので、リアルタイムレイトレーシングをハードウェアレベルで実装していますが、RTXコアとTensorコアを使った実装したTuringコアのGPUでの処理ではありませんから、全く異なるアプローチになります。

 

 このリアルタイムレイトレーシングですが、AMDのアーキテクチャでも使用できるので、次世代ゲーム機でも対応していますが、WINDOWS 10 PC用ですが、RDNA 2のアーキテクチャのリアルタイムレイトレーシングが可能になります。

 

 

AMDでは、Blenderでも使用できる

 

    Radeon™ ProRender

      https://www.amd.com/ja/technologies/radeon-prorender

 

 

がありますが、このビューポートレンダーもリアルタイムレイトレーシング対応のようです。AMDのGPUを使うと、この書き出しが高速になりますから、動画制作においては魅力的な内容と言えます。

 

 ちなみに、NVIDIAはCyclesでの書き出しが高速になる

 

    NVIDIA OptiX™ Ray Tracing Engine

      https://developer.nvidia.com/optix

 

があるので、Cyclesのレンダリング速度がCUDAよりも高速になります。

 

 ちなみに、3DCGのシーンを構築した後にビューポート上で確認することになりますが、この時にレンダービューを用いて確認することになります。この時に高速なGPUを使用すると、Cyclesでも高速に書き出してくれるので、ドラフト表示で始点を変えてもある程度追従してくれます。とは言っても、重たいシーンだと、ドラフトでも結構な時間がかかるので、処理能力相応の状態になりますが、高速な製品だと重たいシーンでもレンダリング時間を短縮できます。

 

 

 レンダーについては、用途で使い分けることになりそうですが、高速化が図れるようになっています。その為、アーキテクチャは新しいほど速度が出ますが、ソフト側が最適化を行っているので、単純な演算速度だけではない速度の向上が図られています。ハードウェアの性能は使用するソフトウェアが最適化されている事が前提条件になるのですが、この二つは自社開発の最適化したソフトウェアなので、当然のように速度は出ます。あと、Blenderでは、Intelは、

 

    Intel® Open Image Denoise

      https://www.openimagedenoise.org/

 

 

デノイザーを提供しているので、サンプル数を下げてもノイズの少ない書き出しが出来るように名ているので、何を使うのかで選択肢が変わってきます。Intelは今後、自社開発のXeと言うディスクリートGPUをリリースしますが、自社性のデノイズ機能などもGPUで高速化するのかも気になりますが、現状だと、

 

■ Intel + NVIDIA                    

 

    Intel® Open Image Denoise

    NVIDIA OptiX™ Ray Tracing Engine

   

   (*)両方ともCyclesの高速化

 

■ Intel + AMD                    

 

    Intel® Open Image Denoise

    Radeon™ ProRender

   

   (*)Cyclesの高速化とリアルタイムレイトレーサーの使用

 

■ AMD + AMD                    

 

    Radeon™ ProRender

 

   (*)リアルタイムレイトレーサーの使用

 

という感じになります。全ての構成で、通常のレンダーは使用できますが、アクセラレーションや独自レンダーの利用などの条件は構成で分かってきます。

 

 減算は動画を作る場合もこう言った機能を使用できるので絵レンダリング時間を短縮できるようになっていますが、リアルタイムレイトレーサーの場合、疑似処理の映り込みなどを行わなくても、光を計算してくれるので、反射、屈折、透明などの処理が正確に計算されます。

 

 この機能は、近年のゲームでは実装されていますが、マインクラフトのWINDOWS 10版だと、RTXのベータ版がリリースされているので、それを用いることで体験できるようになっています。

 

 ちなみに、WINDOWS 10版については、GPUの性能で表示距離の長さが変わるので、RTX 2060辺りでも結構凄いチャンク数に対応しています。

 

 RTXでは、最新技術のDXRとDLSSに対応しているのですが、DXRと言うのが、WINDOWS 10のAPIのDirect X 12以降で実装されたレイトレーシングで、Direct X12 Ultimeteで正式に標準機能として実装されたものになります。これが公式影MODになるのですが、

 

 

のような質感になります。この処理ですが、マイクラでは、リアルタイムパストレーサーとPBRを使った表示になっているので、従来の画像テクスチャーだけの表示ではなく、光沢、反射、粗さ、透明度などをテクスチャーで指定して物理的な質感の表現を行う仕様になっています。

 

 

 また、リアルタイムパストレーシングも使用されているため、柔らかい光の表現が可能に名ています。

 

 

マイクラでは、自作のリソースパックを作れるようになっていますが、従来の解像度を変えるだけのテクスチャーではなく、PBR用のテクスチャーを新規に作る事になるので、RTXでは複数枚のテクスチャーを適応することになります。従来のリソースパックと同じで、郊外増度テクスチャーにする穂と質感が高くなるのですが、光の計算がバニラとは異なるので、質感の表現も違っています。作り方自体が全く違うのと、ベータ版だと、白いオブジェクトが光源のような振る舞いになる事があったので、正式版でどうなるのかも気になるところですが、こうした計算が行われています。RTXについてはこの機能になりますが、これとは別に、マイクラではアップスケーリングと言う項目が入っており、これを使う事で、DLSSを使用できます。ベータ版では適応か使用しないかの選択になっていますが、2.0では適応度が増えているので、その中から選択できるようになっています。ベータ版だと最高品質か適応外貨の仕様になっているようですが、これは、ディープラーニングで高解像度のプレイ映像を学習させて、ディテールに反映させるもの似なっていますが、旧バージョンでは、フルHDではほとんど効果がないような状態でしたが、2.0からはフルHDからでも効果があります。その為、このDLSSを使用する場合、2560x1440のような解像度でプレイする場合に効果を発揮する機能になっていますが、こうした機能もRTXのオプションで実装されています。

 

 

従来は、PCのGPU側で演算を行っている状態になっているので、負荷が高くなるのですが、DLSSでは、学習モデルを使って負荷を軽減しているので、同じマシンスペックでもDLSSを適応したほうが負荷は減ります。

 

 

ただし、RTX 2070 SUPER以上の性能が必要になるので、負荷の高い処理という印象はありますが、これも出て間もない技術なので、アーキテクチャが新しくなり処理能力が上がると、こうした機能もそれ程高負荷な処理という訳ではなくなります。

 

 こうした機能がコントのゲームでも実装されていくことになりますが、マインクラフトもRTXが使用できる環境では、高品質な表示が可能になります。

 

 次世代ゲーム機の機能については、今後、次々と明らかになっていくと思いますが、解像度だけではない高品質な表現が可能になっています。また、次世代ゲーム機ではHDRが使用可能で、8Kまで対応するので、高解像度で色深度も深くなりますが、この仕様がネイティブSHV準拠なので、使用できる色数も多くなっています。また、Ultra HD Blu-Rayを使用できるので、10bitカラー表示や最大でREC.210などにも対応しているはずですから、そう言った仕様になっています。こうした点で、現行機の8bitカラーとは違う仕様になっていますが、音についてもサラウンドの選択も高さを持つAtmosなども使用できるようになっています。

 

 ゲームの場合、表示と音声などの出力とは別に、入力デバイスでの操作が存在します。これが現在はコントローラーとそれに実装されたセンサーで動かす仕様になっていますが、視覚情報の中に存在するのは、こうしたプレイヤーの操作によるレスポンスと、自動処理いよるげーう内の挙動になります。その条件を判断して操作をしているので、常に異なる状態を作れるわけですが、こうした、入出力が常に行われているのがゲームと言うコンテンツになります。その為、信号の入出力についてもかなり複雑な処理が行われているのですが、3DCGの場合、ベクターグラフィックをラスターグラフィックにする処理(と言うよりもカメラオブジェクトで見えている物をシーン内のライトオブケクトの状態を元に陰影の計算を行い、それを計算してドットの集合体にして書き出す処理を行っています。)を行っていますから、内部における座標変動の処理だけでなく、秒間にフレームレート分の画像の書き換えの処理も行っているので、かなり複雑な処理が行われているプログラムになります。

 

 こうしたコンテンツの没入感の中に音声のコントロールが存在したり、デバイスによる感覚へのアプローチもとうじょうしています。VRグラスで使用されているヘッドトラッキング技術もその一つですが、見渡すと視界まで追従するようなコンテンツの作りというのも没入感を高くするものであり、視野角の広い二視点の立体視のコンテンツと言うのも、

没入感を高くする要素の一つと言えます。現在はこうしたデバイスも9Kの製品も登場しているので、高解像度なコンテンツを利用できるようになっていますが、ゲームも高解像度化が進んでいるので、VRについても高解像度なコンテンツを使用できるようになるのもそう遠くない話だと思います。これがオンラインになると、高解像度な物を動かすのが難しいので、少し違ってきますが、オフラインのクライアントサイドの処理だと、アーキテクチャの進歩と共にコンテンツの解像度や質感の向上が見込めるようになります。

 

 こうしたコンテンツの進化は、ソフトウェアや処理を行うデバイスだけでなく、周辺機器の進化もあるのですが、オーディオビジュアルの分野の進歩もゲームにも関係しています。例えば、サラウンドの規格が策定されると、それを実装する事が可能になりますが、こうした条件は、コンシューマのゲーム機の場合、実装した光学メディアの仕様に準拠したオーディオの仕様がそのまま使用できるようになっています。その為、CD実装製品だとCDDAでそのまま鳴っているものもありますし、DVDが登場した後は5.1chが可能になり、PS3以降は7.1ch対応になっています。現在は、Ultra HD Blu-Ray対応のXbox One XだとAtomosにも対応していますが、こうした変化は、光学ドライブの変化もありますが、この仕様は放送の基準とも似ているので、現在のUltra HD Blu-RayがSHVの仕様に近いので、そうした点では、現行のその仕様に合わせた品質の策定が行わて停る事になります。その為、ゲーム機の仕様は実装されている光学ドライブで再生できる映像コンテンツの仕様と似ているので、PS3では1080/60i対応で、7.1chの24bit/192KHzのAC3対応でしたが、後のアップデート(HDMIのバージョンアップ)でこれがリニアPCMでのビットストリーム出力対応になり更なる高品質になりました。また、DeepColor対応なので16bitの色深度(なのでRGBの48bitカラー)の出力にも対応していましたからAVアンプを中継して使ってもそん色がないような仕様になっていました。

 

 こうした仕様は、光学ドライブを実装し始めた時からの流れですが、初代プレステ辺りでも動画コンテンツを再生する機能はありましたから、それが、個人が作ったメディアでも再生可能とになったのはPS2のようにDVDメディアが使用できるようになり、DVD-Rに自作コンテンツをオーサリング出来るようになってからのような気がします。

 

 Blu-Rayもし当初はハイビジョン放送と同じMPEG-2_TSだけでしたが、後にMPEG-4 AVC/H.264に対応して容量を稼げるようになったので、単層式(ちなみに、次世代ゲーム機やUltra HD Blu-Rayで使用しているのは、多層式のBD-REになります。)のBD-Rにコンテンツを記録できるようになりましたからそうしたコンテンツの記録と再生も可能になりました。当然、Blu-Rayもオーサリングが可能で、JAVAでアプリケーションを用意して使用できる機能までありましたから色々な事が出来るようになっていました。動画コンテンツの再生を気軽にお行うという点では、メモリーカード記録が可能になってから、ゲーム機にメモリーカードやストレージでナイス経由で映像を送信して見るというスタイルが登場しましたが、PS3やXbox 360の時代にホームネットワークによるストリーミングと言うスタイルが登場しました。Xbox 360はDNLAクライアントですが、家電メーカーのソニーはSCEの時代に自社のAV製品との連携を想定して、アップデートで動画編集やレコーダーで使用できる映像のストリーミングのDTCP-IPの機能まで実装しました。当然、これかクライアントなので、PC(IWNDOWS XP以降のメディアプレイヤーの機能)やメーカーを問わずDTCP-IPを実装したレコーダーやテレビ(ただ、この時期の製品だとソニーかパナソニックの製品が使い勝手が良かったので、電源が切れていてもDTCP-IPクライアントでアクセスするとストリーミングが可能でした。ただし、現在のSeeQVaultのようにUSB HDDにマルチメディアコンテンツを置いて、それをDNLAで再生で来たり、別のメーカーのレコーダーに入れ替えた時に録画番組が継承されるような仕様にはなっていません。また、旧世代のUSB HDDへの録画番組はSeeQVault対応のレコーダーでは読めないので注意が必要です。)を使って、録画した番組や著作権保護のナイコン店tの再生が可能になっていました。

 

 こうした変化もあり、ゲーム機はSTBのような機能も実装しています。1990年代にはゲーム機はゲームだけの再生機材ではなくなっていましたが、現在はでは、STBに様に使用て出来る端末になっています。これは、テレビやレコーダーも同じですが、現在はこうした家電もOSを実装しているので、STBのように使用できるようになっています。

 

 コンシューマのゲーム機については、今年出る次世代機が初の10bit対応ハードになりそうですが、面白いうわさもあるのでその中の何が事実で実装されるのかも気になるところですが、ゲームの場合表示が大前提なので、表示に関するテクノロジーも常に増えています。そして、ゲームの特性上フレームレートがへk成してしまうので、リフレッシュノートとの整合性を取る技術など色々な物も登場しています。

 

 ゲーム単体だと、リズムゲームだと、体感的なラグとの整合性を取るためのキャリブレ―syん機能が実装されているので機器を使った時のラグを少なくできる物もありますが、ハードウェアと使用できる機能については世代が新しくなるほどに増えています。

 

 

ppendix                       

 

 ゲームでリアルタイムレイトレーシングが使用され始めたのは数年前からですが、それ伊賀の処理はラスタライズなので、光の計算の仕方が違います。この手法だと、半透明などの処理ができないので、こうした処理はポスプロで対応する事になります。これは、BloomやDofなどもそうなんですが、ポリゴンメッシュとライトの構成だけだと対応できない物が存在しますが、DofやBloomなどの機能は、後者になるので、ポスプロで対応する事になります。ポスプロでない処理は、ライトによる影とハイライトの計算とマテリアルによる質感の表現はラスタライズでも行える処理になります。

 

 マイクラ統合版のWINDOWS 10版では、RTXでPBRが使用できますが、これは、BlenderのプリンシプルBSDFのような感じで反射や粗さや放射などにテクスチャーを適応することによって質感を設定できます。これに加えてノーマルマップで凹凸を加える事が出来るので、質感を高くすることができます。ゲームでは、これとは別に、テッセレーションを使う事で、距離による凹凸の変化を与えて質感を高くすることができますが、結構前から、Parallax Occlusion Mapping(POM)を使用した凹凸の表現を用いたタイトルも出ています。

 

 これは、ノーマルマップのような視差マップに加え高さを表現するためのハイトマップを用いて視差があっても凹凸が表現されるマッピング手法になります。これを適応する場合、二枚のテクスチャーを使用することになりますが、質感はかなり高くなります。

 

 この場合、テクスチャーを組み合わせて使用する流れになりますが、マインクラフトのJAVA EDITIONだと、バージョンにあったFogeとMODの組み合わせで、ノーマルマップよりもしっかりとした凹凸を出す事が出来ます。

 

 

この動画は高解像度テクスチャーが使用されていますが、テクスチャーを適応する場合、全ての質感を表現するマップの解像度を合わせる必要があります。その為、PBRやPOMを使う場合には、高解像度テクスチャーにしたほうが質感が高くなります。ノーマルマップとPOMですが、光源の位置による見え方の違いがあるので、POMのほうがそうした光源の影響を受けにくいという利点があります。

 

 あと、ゲームプレイにはストレージも重要になっていますが、現在の、SSDにですが、256GBのNVMe SSDでも512MBのキャッシュを実装しており、2TBの製品だと2GBのキャッシュを実装しています。その為、HDDなどとは異なるレベルのキャッシュを用意してありますが、このキャッシュの速度もかなり高速になっています。