こんにちは!
エス・エー・エス株式会社の海田です。
10月になりましたね。皆様いかがおすごしでしょうか。
私は、先日娘の幼稚園の運動会があり、その中の出し物の一つ、 「保護者対抗のレース」 に出場してきました。フラフープをくぐり、お玉でボールを落とさずに進み、ハードルを越えて、ジャンケンで勝つという障害物競走なのですが、思いのほか盛り上がり、楽しかったです!パパのチームは最下位でしたが(笑)、子供達もとても喜んでいました。
さて、最近ちょっと気になるゲームニュースとしては来年早々に モンハンの新作(モンスターハンターワイルズ)が出る という話ですね。楽しみではありますが、同時に界隈で密かに(?)話題となっているのが、その 要求スペックの高さ です。以下の表はモンハン最新作をPCで行うための推奨環境(公式サイトからの抜粋)です。
上記のスペックの記号や数値がすべて理解できる方も、暗号ばっかりで全然わからない・・という方もいらっしゃるかとおもいますが、今日はゲームを動かすための仕組みについてちょっと簡単にお話できればと思っています。
ゲーム開発者たちは面白いゲーム、ワクワクするようなゲームを作るために、親しみやすいユーザインタフェースやオリジナルの世界観、爽快なアクションなどを一生懸命考えると思うのですが、そのような渾身の作品を表現するためには、 ハードウェアに相応のパワー必要 となります。
ここでいうハードウェアとは、上記の表にもあるように、具体的には CPU(プロセッサ) 、 GPU(グラフィックカード) 、 メモリ 、 ストレージ などが相当します。また上記の表にはありませんが、ネットワーク環境やゲームコントローラなども相当します。その中でもゲームの画像表示能力に特に影響が大きいのが GPU(グラフィックカード・・私はグラフィックボードと呼ぶので以下それでいきます) です。今日はそんなGPUの技術について少しお話ししていこうと思います。
ちなみに私の興味の部分をできるだけ簡単に説明しようと思ってますので、若干正確ではない部分があるかもしれませんがご了承下さい・・。もし間違っている部分がありましたらご指摘いただけますと幸いです。
1.FPSとは? 皆さんはゲームで遊ぶとき、基本的にはキャラクターなり主要な物体を動かし、 動きのある世界 で何かしらのミッションをクリアすると思います。この動きのある世界をどのように実現しているかというと、 1枚1枚の絵を作成 し、それを 連続的に表示 することで実現しています。この連続的に表示された状態のことを一般的に 「動画」 とよんでいます。つまり動画とは絵をパラパラ表示させる パラパラ漫画(高速紙芝居) というわけです。
1枚1枚の絵のことを フレーム(Frame) といい、連続的に表示できる速度のことを FPS と言います。FPSは「Frames per Second」つまり、 1秒間の間に何枚のフレームを連続的に表示できるか という指標になります。
感覚的にわかって頂けるかと思いますが、 10FPS(1秒間に10枚のパラパラ漫画)よりも30FPS(1秒間に30枚のパラパラ漫画)のほうが、よりなめらかに表現できます。 つまりゲームをする上では FPSは高い方が滑らかな動画として表示される ため、体感的にもよいとされています。
2.グラフィックボードの苦悩 しかし、昔のファミコン時代のマリオやドラクエとは異なり、昨今のゲームは3Dが主流であり、オープンワールド、光の反射を表現する技術(レイトレーシング)、繊細な反応と操作を要求される一人称シューティング(こちらもFPSと略すので分かりにくい・・)など、 様々な情報量を持った要素の集合体が1枚1枚の絵(Frame)として表現 されます。これらをその瞬間のユーザの操作も認識しつつ、 即座に絵として描き起こし、連続的に表示させていくにはとても高い処理性能が必要 だということがなんとなくでもわかるかと思います。
例えれば、 めちゃくちゃ絵のうまい画家が、1秒間に60回の素晴らしい絵を超高速で描いてくれる ようなものです。人間では絶対に無理な作業ですね。
グラフィックボード業界はこのような要求に応えるべく、高性能なハードウェアを日進月歩で開発・販売してきました。新しいグラフィックボードが出るたびに、様々なPCニュースで、「以前と比べてこのゲームのFPSが○○パーセントもUPした!」なんて記事が出てきます。技術の進化がすごいなあという関心と、欲しいなあという欲求も合わせ持ちながら、私はワクワクしてみています(笑)
また、ここまではあまり言及してこなかったのですが、 絵を描く密度 も年々細かくなってきています。絵を描く密度のことを 解像度 と言います。一昔前は FullHD という解像度が基本でした。これは 1920×1080マス のドッドに絵を描いていくのですが、最近は 4k(3840× 2160) , 8k(7680×4320 ) なんていう解像度が登場してきています。当然粒度が細かくなるので、 1枚の絵を描く作業量も格段に増えます。
ただでさえ絵を連続的に素早く処理しないといけないのに、1枚1枚の絵の質も上がってきているのです。GPUはとても大変ですね。
もちろんコストをかけて、大きな電力でその両方を満たすスペックのグラフィックボードを開発することは可能ですし、実際販売されているものもあります。しかしゲームハードとしての価格を大きく超えているのもまた事実です(円安も相まって、現在高いグラフィックボードは 30万円 を超えてきます・・)
3.すべての絵を正確に描くのではなく、少し手抜きしちゃえ 近年、そんなグラボの苦悩を解決する手段として、 すべての絵を最初から高解像度で描くのではなく、少しラフな(低解像度)な絵をまず描き、それをパラパラ漫画時に高解像度にあげる(引き延ばす)ことで見かけ上パラパラ漫画の連続的なスピードを上げるという技術 が生まれてきました。結果的に人間の目には滑らかに映ることになります。
このラフな絵という表現が適切かどうかはわからないのですが、私はそう理解しています。一般的には 超解像技術 と言うようです。グラフィックボード業界は現在 NVIDIA と AMD の2つのメーカがそれぞれ GeForce と Radeon というブランドで製品を出していますが、GeForceの方の超解像技術のことを 「DLSS」 、Radeonのほうの超解像技術を 「FSR」 といいます。
基本的な考え方は同じ(低解像度を高速に描いて高解像度に引き延ばす)なのですが、その超解像技術の仕組みが両社で異なります。詳しくはDLSS,FSR等で調べてみるとわかりますので興味のある方はぜひ。簡単に言うとDLSSはディープラーニングを用いた処理(DLSSはDeep Learning Super Sumplingの略)、FSRはAIを利用しない従来型(作った絵をアルゴリズムに通して高解像度にする)の処理のようです。
一般的にはDLSSのほうが効果が高いとされています。(向き不向きはあるのかもしれませんが・・)
ちなみに最初に表示したモンハンワイルズのスペック表の下にも対応が書いてありますね。モンハンワイルズは DLSS,FSR両方に対応している ようです。
4.Radeonのもう一つの紙芝居作成技術(AFMF) 先程のDLSS,FSRの紹介で、モンハンワイルズが対応しているという話をしましたが、これらの超解像技術はグラボ側はもちろん、 ゲーム側の対応も必須 となるようです。つまり、対応していないゲームは超解像技術の恩恵を受けられない(結果としてFPSが上がらない)ということになります。
これに対し、AMD社のRadeon側は別の観点からのFPS向上技術を開発しました。それが AFMF( AMD Fluid Motion Frames ) と呼ばれる技術です。(最近この最新バージョンである AFMF2.0 がリリースされました)
DLSSやFSRが低解像度の絵を描いてそれを高解像度に引き延ばすのに対し、AFMFは フレーム(絵)自体を自動生成し、それを紙芝居の間に織り交ぜる というアプローチをとっています。この機能はグラボのドライバ(グラボを正常に動かすためのプログラムみたいなものです)で実装されるので、 ゲーム側での対応が不要 というメリットがあります。結果的にどんなゲームでも一定の効果が見込めるというのが特長のようです。以下AMDの説明ページにある資料となりますが、とあるゲームにおいて、AFMF2を有効とすることで、FPSがとても上がっていることがわかります。また赤帯の説明に 「FSR2とAFMF2がON」 となっているように、この技術は FSRと組み合わせて使うことが出来る ようです。
面白いのは、RX7600XTなどの 比較的低価格帯のグラフィックボード や、 本格ゲーム用途ではないノートPC に搭載されているGPU統合型のCPU(Ryzen AI HXなど)でも、FPS向上の恩恵を受けられているということです。これがその通りであれば、それらの製品でも十分に滑らかなゲームが楽しめるということになります。(私は試したことがないので)実際のゲーム感覚としてどれくらい滑らかなのかわかりませんが、このような発表資料があるということは、大きな自信があるのかと思われます。
5.まとめ ゲームをより美しく、滑らかに表現するための2社の技術を調べてわかったことをまとめてみました。
低解像(ラフ)な絵を最初に高速で作り、それを高解像に引き延ばしてパラパラ漫画を作るアプローチ(DLSS,FSR) フレーム自体を自動生成し、フレーム間に挟むことでパラパラ漫画を早くするアプローチ(AFMF) 自分の理解としてはこんな感じです。先に紹介したスーパ絵描きの例えのように、 超高精細な画像をそのまま超高速で描いてくれるグラボが一番 であることはもちろんなのですが、コスト的に難しい実情もあります。そこそこのコストでだれもが快適にゲームができる支援技術として誕生したDLSS、FSR、そしてAFMFはとても魅力的だなと感じます。
私の持っているグラボはGeforce RX3070なので、DLSSは利用できそうです。もう5年目に入るので、そろそろ新しいのが欲しいな~と思うこの頃ですが、コスパよいグラボを買ってFSR+AFMFを試してみるのも面白そうかなとも思っています。
読んでくださってありがとうございました!