AMD Radeon の内部処理構造を深掘りする:Enhanced Sync・Anti-Lag・AFMFの仕組みと正しい使い方
はじめに
AMD Radeon Software(Adrenalin Edition)には多くの機能が搭載されていますが、それぞれがどの層で・どのように処理されているかを理解しないと、設定を組み合わせたときに干渉・悪化することがあります。
本記事では以下の技術について、Radeon の内部処理の観点から解説します。
- Enhanced Sync
- Anti-Lag / Anti-Lag 2
- AMD Fluid Motion Frames 2(AFMF 2)
- FreeSync
- フレームバッファとフリップモデル
情報収集時点(2025年〜2026年初頭)の内容です。ドライバーのアップデートにより変化する可能性があります。
フレームバッファの基礎知識
Radeon の各機能を理解するには、まずフレームバッファの仕組みを把握する必要があります。
ダブルバッファ(VSync ON)
フロントバッファ → モニターに表示中
バックバッファ → GPU が描画中
モニターのリフレッシュタイミングに合わせてスワップ
- ティアリングなし
- FPS がリフレッシュレートに制限される
- FPS < リフレッシュレートになると半分に落ちる(30fps化)
- 入力遅延が大きい
トリプルバッファ VSync
フロントバッファ → モニターに表示中
バックバッファ1 → 完成済み(待機)
バックバッファ2 → GPU が描画中
- FPS の半減を防ぐ
- ただし最古のバッファを使用するため入力遅延が増加
- 一般的に言われる「トリプルバッファ = 遅延増加」の原因
Enhanced Sync / Fast Sync(Mailbox モデル)
フロントバッファ → モニターに表示中
バックバッファ1 → 常に最新フレームで上書き
バックバッファ2 → GPU が描画中(A→B→A→B と交互)
モニターが次フレームを要求したとき「最も新しいバッファ」を選択
- FPS 上限なし
- 最新フレームを使うため入力遅延が小さい
- FPS ≫ リフレッシュレートのとき最も効果的
- FPS < リフレッシュレートになるとティアリング発生
Enhanced Sync の内部処理
動作原理
Enhanced Sync はドライバーレベルで Mailbox 型フリップモデルを実装します。
GPU は常にフレームを生成し続ける
↓
古いバッファは新しいフレームで上書きされる
↓
モニターのリフレッシュタイミングで
「その時点で最新のバッファ」を表示
VSync との比較
| モード | バッファ選択 | FPS制限 | 遅延 | ティアリング |
|---|---|---|---|---|
| VSync OFF | なし | なし | 最小 | あり |
| VSync ON(ダブル) | 最古 | あり | 大 | なし |
| トリプルバッファ VSync | 最古 | なし | 中〜大 | なし |
| Enhanced Sync | 最新 | なし | 小 | FPS低下時あり |
効果が出る条件
Enhanced Sync は FPS がリフレッシュレートの2倍以上のときに最も安定します。FPS がリフレッシュレートを下回ると、最新バッファを使うメリットがなくなりティアリングが発生します。
Anti-Lag の内部処理
問題の背景:CPU-GPU フレームキュー
GPU-bound(GPU使用率が高い)な状況では以下の問題が起きます。
CPU がフレームを高速に生成
↓
GPU の処理が追いつかずキューに積み上がる
↓
あなたのマウス入力は「新しいフレーム」に反映
↓
しかし GPU は「古いキューのフレーム」を処理中
↓
入力遅延(Input Lag)が発生
Anti-Lag 1 の仕組み(ドライバーレベル)
ドライバーがグラフィクスコマンドの処理に
「計算された遅延」を意図的に挿入
↓
CPU と GPU のフレームが最適に整列
↓
CPU が GPU より先走りすぎるのを防ぐ
↓
キューに積み上がるフレーム数が減少
↓
入力遅延が削減
ゲーム側の修正は不要。すべてのゲームでドライバーレベルで透過的に動作します。
Anti-Lag 2 の仕組み(ゲーム統合型)
Anti-Lag 1 との違いは遅延を挿入するポイントです。
Anti-Lag 1:ドライバー内のCPU-GPU同期ポイントに挿入
Anti-Lag 2:ゲームロジック内の
「ユーザー入力(マウス/キーボード)がサンプリングされる直前」に挿入
これによりドライバー内のプロデューサー・コンシューマーロジックだけでなく、ゲームの内部処理パイプライン全体の整列が可能になり、より大幅な遅延削減を実現します。
ただしゲーム開発者が AMD Anti-Lag 2 SDK を統合する必要があります。
Anti-Lag が効く条件・効かない条件
| 状況 | Anti-Lag の効果 |
|---|---|
| GPU-bound(GPU使用率80〜100%) | ✅ 有効に機能 |
| CPU-bound または GPU使用率が低い | ❌ ほぼ効果なし・スタッターの原因になることも |
| Androidエミュレーター(NoxPlayer等) | ❌ 仮想化レイヤーに届かない |
| ウィンドウアプリ全般 | △ 効果が限定的 |
Enhanced Sync と Anti-Lag を同時ONにしてはいけない理由
これが最も重要なポイントです。
フレームキューに対する動作が正反対
| 機能 | フレームキューへの働きかけ |
|---|---|
| Enhanced Sync | FPS ≫ リフレッシュレートを前提に、GPU に常に余分なフレームを生成させ続ける(バッファを満たす方向) |
| Anti-Lag | CPU が GPU より先走りすぎないよう、CPU に意図的な待機を入れてフレームキューを空にする(バッファを枯渇させる方向) |
Enhanced Sync が求めること:
「GPUよ、常に新しいフレームを作り続けてくれ」
Anti-Lag が求めること:
「CPUよ、GPUに追いつかれるまで待ってくれ」
→ 根本的に矛盾 → 干渉・スタッター・不安定動作
正しい組み合わせ
| 状況 | 推奨設定 |
|---|---|
| 競技・FPS(GPU-bound) | Anti-Lag ON / Enhanced Sync OFF / VSync OFF |
| FreeSync モニター使用 | FreeSync ON / Anti-Lag ON / Enhanced Sync OFF |
| FPS ≫ リフレッシュレート(FreeSync なし) | Anti-Lag OFF / Enhanced Sync ON |
| 映像重視シングルプレイ | Anti-Lag OFF / Enhanced Sync OFF / VSync ON |
AFMF 2(AMD Fluid Motion Frames 2)の内部処理
仕組み
AFMF 2 はドライバーレベルのフレーム生成技術です。
ゲームが生成したフレームA と フレームB
↓
AFMF 2 が光学フロー解析で中間フレームを生成
↓
A → A' → B → B' → ... という形で補間フレームを挿入
↓
表示上のFPSが約2倍になる
重要な注意点: 生成された補間フレームには入力情報が含まれていません。表示FPSは上がりますが、入力遅延はベースFPS(実際のゲームFPS)に依存します。
AFMF 2 が効く条件
| 条件 | 推奨 |
|---|---|
| ベースFPS 60〜80fps程度 | ✅ 最適(表示120〜160fps相当) |
| ベースFPS が既に十分高い | ❌ 意味なし・負荷増加 |
| ウィンドウモードのゲーム | ❌ 基本的に動作しない(要フルスクリーン) |
| 60Hz テレビ・ベースFPS安定 | ❌ 不要 |
| 60Hz テレビ・ベースFPS 30fps前後 | ✅ 表示60fps相当に改善 |
AFMF 2 と Enhanced Sync の組み合わせ
Enhanced Sync を有効にしても AFMF 2 には何の影響も与えません。AFMF 2 環境下では Enhanced Sync は実質的に無効化されます。
AFMF 2 の推奨組み合わせ
AFMF 2 ON
+ Anti-Lag ON(AMD公式推奨)
+ Enhanced Sync OFF
+ VSync OFF(ゲーム内・ドライバー共に)
Anti-Lag と AFMF 2 の組み合わせで Cyberpunk 2077 などのゲームにおいて最大28%の遅延削減が確認されています。
FreeSync の内部処理
仕組み
GPU が1フレームを描画完了
↓
モニターに「今フレームができたよ」と通知
↓
モニターがそのタイミングでリフレッシュ
↓
ティアリングなし・VSync遅延なし
GPU とモニターが協調してリフレッシュタイミングを決定します。
FreeSync と VSync の関係
| FPS の状態 | 挙動 |
|---|---|
| VRR範囲内(例:48〜144Hz) | FreeSync が有効に機能 |
| VRR範囲を超過(144fps以上) | FreeSync + VSync でティアリングを防ぐ |
| VRR範囲を下回る(48fps未満) | LFC(Low Framerate Compensation)が対応 |
Radeon の「AMD の最適化」設定
FreeSync を「AMD の最適化」に設定すると、AMD が FPS に応じて最適な同期方法を自動選択します。多くの場合これが最も安定します。
フリップモデルと DWM の関係
Windows 11 の描画パイプラインを理解することで、Radeon 設定の限界も見えてきます。
プレゼンテーションモードの種類
| PresentMode | 状態 | FreeSync |
|---|---|---|
Hardware: Independent Flip |
DWM が退いてゲームが直接描画 | ✅ 正常動作 |
Hardware Composed: Independent Flip |
ハードウェアオーバーレイ使用 | ✅ 最良 |
Composed: Flip |
DWM が介入中 | ❌ 機能しない |
PresentMon(Intel製・無料)でリアルタイム確認できます。
Radeon 設定が届かない層
【Radeon プロファイル設定が届く層】
ドライバーレベルの処理
【問題が起きる層】
DWM と ゲームエンジンの Swap Chain 初期化タイミング
↑
この層には Radeon の設定は届かない
これが「Radeon の設定をどう変えても直らない問題」が存在する理由です。
Radeon チューニング(パフォーマンス設定)の考え方
GPU クロックオフセットの効果
最新の Radeon Software ではゲームごとに個別チューニングプロファイルを作成できます。
グローバル:効率重視(省エネ)
↓
各ゲームで上書き
FPS系ゲーム:-150MHz(安定性とのバランス)
軽量ゲーム:-250MHz(省エネ優先)
重量ゲーム:0MHz(フル性能)
アンダークロックの注意点
FPS ゲームで過度にアンダークロックすると:
激しい戦闘シーンで瞬間的に高クロックが必要
↓
クロック不足
↓
フレームタイムが不均一になる
↓
FPS の数値より「パラパラ漫画」のような描画になる
平均FPSよりフレームタイムの一貫性が崩れることが問題です。実際にプレイして確認しながら調整することが重要です。
メモリタイミングの設定
| 設定 | 効果 |
|---|---|
| 高速タイミング | 帯域幅向上・わずかに電力増加 |
| 標準タイミング | 安定性重視 |
ゲームプレイには高速タイミングが推奨されますが、安定性に問題がある場合は標準に戻します。
Radeon Image Sharpening 2 について
処理の位置
ゲームがフレームを描画
↓
GPU 内部での後処理として適用
↓
シャープネスフィルター(軽量)
↓
モニターへ出力
GPU の出力の最終段階でかかるポストプロセスです。
数値と処理負荷の関係
シャープネスの強度パラメーターを変えるだけで、処理の回数や複雑さは変わりません。20% → 100% に上げても GPU 負荷の変化は誤差レベルです。
ゲーム内シャープネスとの干渉
ゲームが独自のシャープネス設定を持つ場合(エンドフィールド・ゼンゼロ等)、二重にシャープネスがかかることに注意が必要です。
| ゲーム内シャープネス | RIS 2 の推奨値 |
|---|---|
| ON(デフォルト) | 0〜10% または OFF |
| OFF | 20〜40% で好みに調整 |
まとめ:各機能の「処理の層」整理
【OS レベル】
Windows DWM(Desktop Window Manager)
フルスクリーン最適化(FSO)
Independent Flip の管理
↑ Radeon の設定は届かない
【ドライバーレベル】
Anti-Lag 1(CPU-GPU フレームキュー制御)
Enhanced Sync(Mailbox フリップモデル)
AFMF 2(フレーム補間)
FreeSync(VRR 制御)
Flip Queue(フリップキューサイズ)
【GPU ハードウェアレベル】
クロック・電圧・電力制限
VRAMクロック・メモリタイミング
Radeon Image Sharpening 2(出力後処理)
【ゲームエンジンレベル】
Anti-Lag 2(ゲーム統合型・入力サンプリング直前)
FSR 4 / フレーム生成(ゲーム内統合型)
各機能がどの層で動くかを理解することで、「なぜこの設定の組み合わせが干渉するのか」「なぜこの問題はドライバー設定で解決できないのか」が論理的に理解できます。
設定の優先順位
-
Windows システム設定(最優先)
- グラフィック設定でGPUを明示固定
- DWM に正しい処理方法を伝える
-
ゲーム内設定
- VSync、解像度、品質設定
-
Radeon ドライバー設定
- シンプルに保つ
- ゲーム個別プロファイルで必要最小限のみ
-
GPU チューニング
- ゲームごとにプロファイルを分けて管理