Baidu Blog

Back

This article was translated from English by ChatGPT 5.

なぜゲームは最適化がひどいのか?#

よくゲームを遊ぶ人なら感じているはずだ。ここ数年、多くのタイトルの「最適化」は壊滅的に悪い。

最近インディーゲーム開発を調べていて、最適化に関する情報を集めた。この記事では、なぜゲームの最適化がここまで悪いのかを共有したい。

TL; DR#

ゲームの規模とエンジンの複雑さが急拡大する一方で、開発者は締め切りや「新技術とハードで解決できるだろう」という発想により、継続的な最適化を核心タスクとして扱わない。その結果、ハードのリソースを食い切れていないのにカクつく。


もちろん、理由がそれだけなら記事を書く必要もない。まず「最適化が悪い」とは何かを定義しよう。

最適化#

フレームレートが低い?

ゲームがカクつく?

ネットが悪い?

結局、何が「最適化不足」なのか?

ボトルネック#

従来の GPU ボトルネック ―― グラボが100%使用されフレームレートの上限を決める ―― はもはや唯一でも、最も一般的な問題でもない。現代のゲームのボトルネックは多様化し、見えにくくなっている。

特にありがちなのは シングルスレッドCPUのボトルネック だ。

マルチコアCPUが普及しているにもかかわらず、物理計算、AI、リソース管理、描画命令(Draw Call)の送信といったエンジンの基幹ループは依然としてメインスレッドやレンダースレッドに依存している。

タスクマネージャーのCPU使用率は平均値なので騙されやすい。もし重要なスレッドが単一コアで100%に達すれば、他のコアが暇でも全体が待たされる。

8車線の高速道路で1車線が渋滞すると、残り7車線が空いていても通行効率は落ちる。結果として、CPU全体は25%程度でもフレームレートが限界に達し、命令送信の遅延によるカクつきが出る。


メモリとキャッシュレイテンシ も潜在的な性能キラーだ。

RAM、CPUキャッシュ、VRAM間のデータ転送が遅れるとCPU/GPUが待機し、空サイクルが発生し、パフォーマンス低下やカクつきを招く。

BIOSでXMP/EXPOを有効にしていないためにメモリが定格以下で動作していたり、データアクセスの効率が悪いコードも原因となる。


I/Oとストレージのボトルネック も無視できない。

広大で精細なオープンワールドでは、HDD/SSDからのテクスチャやモデルの読み込み速度がシームレスさを左右する。

トラバーサルスタッター#

トラバーサルスタッター はオープンワールドで非常に多い。

エリアを跨ぐ際に起こる一瞬の停止やフレーム低下のことだ。

原因はレベルストリーミングやワールドパーティション。メモリを節約するためエリアを動的に読み込むが、遅延したりメインスレッドと競合すると必要リソースが揃わずカクつく。

(個人的に最悪だったのは Starfield ――キャラクリで数値を変えるだけでカクついた。)

シェーダーコンパイル#

最もPCゲーマーを悩ませるのが シェーダーコンパイルによるスタッター。ハード性能に関係なくトップスペックPCでも起こる。

シェーダーはGPUで動く小さなプログラムで、色・光・影・反射・透明などを決める。コンパイルは高級言語をGPU用の機械語に翻訳する作業だ。

コンソールは固定ハードなので、開発段階で全シェーダーをプリコンパイルし同梱できる。PCは数千ものGPUが存在しISAが異なるため、中間の バイトコード を配布し、実行時にドライバがGPU固有コードに翻訳する必要がある。これがシェーダーコンパイルだ。


古いAPI(DX11など)はドライバが裏で処理したが効率は低かった。DX12やVulkanでは管理責任が開発者側に移った。

PSO(Pipeline State Object) を事前にキャッシュしないと、ゲーム中に初めて遭遇したエフェクトや敵で即時コンパイルが走り、レンダーパイプラインを数十〜数百msブロックしてカクつきを起こす。

(有名なのは The Callisto Protocol、設定ファイル改造でプリロードを有効化する人までいた。)

コンソール中心主義の弊害#

CPU単スレッド、トラバーサルスタッター、シェーダーコンパイル。これらは結局 コンソール優先の開発体制 に起因する。

PC固有の多様性や複雑性に十分なリソースが割かれず、リリース後のパッチ頼みが常態化した。その結果「PC版の最適化は後回し」という認識が広まり、悪循環で全体の品質が落ちている。

では「最適化不足」とは?#

CPU/GPU使用率が低いのにカクつく、これが典型的。突然のスタッターやリソースの不適切利用は「最適化不足」と呼べる。

(オンラインの最適化は別問題で、サーバー性能ではなくクライアント/サーバー間ロジックの不具合であることも多い。)

Unreal Engine 5#

UE5の柱は Nanite(仮想化ジオメトリ)Lumen(動的GI/反射)。映画並みのビジュアルを可能にするが、性能コストは大きい。

Nanite#

NaniteはLOD作成の手間を省き、超高密度モデルを自動管理・レンダリングできる。ただし無料の性能ブーストではなく、基盤コストがある。単純なシーンでは従来手法より遅いこともある。

制限も多く、Skeletal Mesh対応は実験段階、透明材質は非対応、SSD依存など。

Lumen#

Lumenは動的なGI/反射を提供。従来のライトマップ焼き込みでは不可能な、動的ライトや時間変化へのリアルな応答を可能にした。

ただしPS5/XSXで1080p内部解像度を前提に設計され、4KはTSRアップスケーリング頼み。

ソフトウェアRTとハードウェアRTの二段構えで性能と品質を切り替えるが、高品質モードは極めて重い。

アップスケーリング#

NaniteとLumenを両立させるには、1440p/4K 60FPS以上での快適動作は アップスケーリング必須 となる。

DLSS / FSR#

NVIDIA DLSS、AMD FSR は今や避けられない。

必需品化#

かつては低スペPC用の補助機能だったが、今やAAA開発はDLSS/FSRを前提に性能目標を設定している。
例:Remnant II は設計段階からアップスケーリングを組み込んでいた。

現実#

しかし現実は、開発者がアップスケーリングに頼りすぎているという批判が強い。ネイティブ60FPSを達成する努力の代わりに、DLSS/FSRに任せてしまう。

欠点も多い:

  • ゴースト/残像:高速移動する物体の縁に発生しやすい。
  • 細部損失/ぼやけ:推測補完なので細かい模様が消えたり不自然になる。1080p/1440pでは特に顕著。

結果、多くのプレイヤーにとって「画質と操作感を犠牲にフレームを得る」取引に見える。

#

結局、ゲームは人が作り人が遊ぶ。最適化問題の根本はAAA産業の経済構造にある。

コスト#

AAA開発費は今やハリウッド級。
2〜3億ドルが当たり前、マーケ込みで5億〜10億ドル規模になる。

発表日が財務報告や商戦期に直結し、延期は株価に直撃する。結果、技術的完成度より日程が優先される。

クランチ#

日程と現実の乖離は クランチ を生む。80〜100時間労働も珍しくない。

最適化は手間のかかる作業で、プロファイリングやリファクタリングが必要。だが開発終盤のクランチ状態では後回しにされ、手をつけられないまま出荷される。

根本的な問題は早期のアーキテクチャにあり、リリース直前では修正不能。

サイバートラッシュ化#

最適化不足のAAAは、単なる技術妥協ではなく 組織的失敗の産物 だ。

マーケが誇大広告し、不可能なスケジュールを強制、開発はクランチでしのぎ、最適化は最初に切り捨てられる。

結果、発売日に届くのは未完成品。Day1パッチや後続修正はQAの責任をプレイヤーに転嫁しているだけ。

プリオーダー+ライブサービスはこの構造を助長し、財務的に成功するため会社は改善しない。Anthem が典型例だ。

結論#

「最適化が悪い」が最初に浮かぶゲームは、すでに問題だ。ゲームは「面白さ」が本質。

グラフィックは加点要素にすぎない。8ビット時代のゲームや、Outer Wilds のようなカートゥーン調でも高評価なのはその証拠だ。

最適化は立ち上げ時から始めるべきで、後でパッチで直せばいいものではない。

なぜゲームは最適化がひどいのか?
https://baidu.blog.icechui.com/ja/blog/p/gameopt
Author baidu0com
Published at August 21, 2025