新しいマップに足を踏み入れた瞬間、あるいはキャラクターの必殺技を初めて発動した瞬間だけ、ゲームが一瞬固まる。フレームレートの数字自体は十分に出ているのに、そこだけ引っかかる。ハイエンドGPUを積んだPCでも起きるこの症状に心当たりがある方は多いと思います。当サイトでもClair Obscur、Marvel Rivals、Gears of War: E-Day、ビースト・オブ・リンカネーションなど、UE5(Unreal Engine 5)を使ったタイトルの記事で、この現象にたびたび触れてきました。

原因はGPUの性能不足ではなく、多くの場合「シェーダーコンパイル」です。この記事では、なぜ初回だけ引っかかるのかという技術的な仕組みから説明したうえで、UE5側でどこまで対策が進んでいるか、そして「シェーダーキャッシュを消せば直る」という俗説がどこまで正しいのかを整理します。

もうひとつ、この記事で明確にしておきたいのが「キャッシュ」という言葉の混乱です。Steamにはゲームを起動する前にダウンロードされるローカルキャッシュがあり、当サイトのSteamで毎日シェーダーキャッシュが更新される理由で扱いました。一方、この記事で中心的に扱うのはNVIDIA・AMDのGPUドライバーが管理するキャッシュで、これはSteamのキャッシュとは別物です。同じ「シェーダーキャッシュ」という言葉が指すものが記事によって違うと、対処法を試しても効果が出ません。まずこの2つ(実際には3つ)を区別するところから始めます。

まず、この記事の対象かどうかを確認する

「カクつく」と一言で言っても、現れ方によって当サイトで扱っている記事が違います。

新しいエリアや初めて見るエフェクト・技を使った瞬間だけ、一瞬引っかかる
これがこの記事の対象です。以降でシェーダーコンパイルの仕組みと、キャッシュの正しい消し方を説明します
常に画面がカクつく、そもそもfpsが足りていない
設定側の負荷が原因の可能性が高いです。画質設定はどれを下げるべきかを確認してください
視点を動かすと画面が横にズレる、あるいはfpsは出ているのに何度も引っかかる
同期(ティアリング)の問題か、この記事で扱うシェーダー以外の原因が絡んでいる可能性があります。ゲームのカクつき・画面のズレを直す設定で切り分けてください
画面が一瞬暗くなるか乱れて、数秒後に元に戻る
TDR(Timeout Detection and Recovery)というGPUドライバーの自己修復機能です。「ディスプレイドライバーが応答を停止し、正常に回復しました」の原因と直し方で扱っています
起動直後は快適なのに、遊び続けるうちにじわじわ重くなる
この記事が扱う一瞬の引っかかりとは別の症状です。長時間プレイでfpsがじわじわ下がる原因を確認してください
Steamを起動するたびに小さな更新がダウンロードされる
これはこの記事とは別の仕組みです。Steamで毎日シェーダーキャッシュが更新される理由で扱っています

対象が確定したら、次はなぜ「最初だけ」引っかかるのかを見ていきます。

なぜ「最初だけ」引っかかるのか PSOコンパイルの仕組み

ゲーム画面の光、影、質感、反射といった描画処理は、シェーダーと呼ばれる小さなプログラムがGPU上で実行することで成立しています。シェーダーは開発時にHLSLのような高級言語で書かれていますが、GPUのメーカーや世代ごとに命令セットが違うため、実際に動かす直前にドライバーが手元のGPUに合わせた機械語へ変換する必要があります。この変換処理が「シェーダーコンパイル」です。

DirectX 12やVulkanのような現行の描画APIでは、個々のシェーダーだけでなく、頂点の形式やブレンド方法、深度テストの設定などをひとまとめにした「PSO(パイプラインステートオブジェクト)」という単位でコンパイルが行われます。あるキャラクターの必殺技を画面に初めて表示する、これまで通ったことのないマップの区画に足を踏み入れる。こうした瞬間、ゲームがそれまで一度も使っていなかった組み合わせのPSOが必要になると、その場でコンパイルが走ります。コンパイルには数十ミリ秒から数百ミリ秒かかることがあり、この処理が描画スレッドの都合のよいタイミングで挟まれるとは限らないため、フレームが1枚以上落ち込んで「一瞬引っかかる」という体感になります。これがシェーダーコンパイルスタッターです。

GPUの性能とはあまり関係ありません
コンパイル自体はGPUのシェーダー演算能力ではなく、ドライバーの処理速度やCPU側の実装に左右されます。ハイエンドGPUを積んでいても起きるのはこのためです
一度コンパイルすれば、同じ組み合わせでは二度目以降は軽くなります
コンパイル結果はキャッシュとして保存されるため、同じ場所を歩き直したり同じ技を再び使ったりしても、通常は同じ引っかかりは起きません
UE5に限った現象ではありません
DirectX 12やVulkanを使うゲームエンジン全般に共通する構造的な課題ですが、大規模で動的なワールドを描くUE5タイトルは、遭遇するPSOの組み合わせが多く、症状として目立ちやすい傾向があります

UE5のPSO事前コンパイルはどこまで解決したか

Epic Gamesもこの問題を把握しており、Unreal Engine 5.1で「PSO precaching(PSO事前コンパイル)」という仕組みを実験的に導入し、5.2で安定性と性能を大きく改善しました。プレイ中にその場でコンパイルする代わりに、必要になりそうなPSOをあらかじめ予測してロード画面や読み込み中にまとめてコンパイルしておく仕組みです(Unreal Engine公式Tech Blog)。

手動バンドル方式
開発者がプレイテストを通じて実際に使われたPSOの組み合わせを記録し、ロード画面でまとめて事前コンパイルする、UE4時代から続く古典的な方式です。自動予測方式が実用段階に達するUE5.3より前は、実質的にこちらが対策の中心でした
自動予測方式
マテリアルやオブジェクトがロード・スポーンされるタイミングで、必要になりそうなPSOをエンジンがバックグラウンドで予測してコンパイルする方式です。UE5.3以降で実用性が高まりました

Epic Gamesの開発者は、この事前コンパイルの仕組みが「出荷されたUE5ゲームでプレイヤーに見える引っかかりの最大の発生源」だったシェーダーコンパイルスタッターの多くを防げるようになってきたと説明しています。ただし完全に解決したわけではありません。

グローバルシェーダーの一部は事前コンパイルの対象外です
モーションブラーのような画面全体にかかる処理で使われるグローバルシェーダーは、UE5.5時点でも計算(コンピュート)系は対象に入った一方、描画(グラフィックス)系の一部は対象に入っておらず、初回使用時に一度だけ引っかかることがあります
レイトレーシング用のPSOは今も重い課題です
レイトレーシングのPSOはコンパイルに20〜300ミリ秒程度かかることがあり、通常のラスタライズ用PSOに比べて事前コンパイルの仕組みが成熟していません。レイトレーシングを有効にしたUE5タイトルでスタッターが目立ちやすいのはこのためです
対応範囲は毎バージョンで広がっています
UE5.6ではデカール(UDecalComponent)関連の処理が新たに事前コンパイルの対象に加わるなど、Epic Gamesは継続的にカバー範囲を広げています

もうひとつ押さえておきたいのが、この仕組みは自動的に全員へ均等に効くわけではないという点です。事前コンパイルを使うかどうか、どの範囲まで記録するかは、最終的には各タイトルの開発チームの実装とチューニングに委ねられています。同じUE5製のタイトルでも、発売直後からスタッターが少ないゲームと、目立って引っかかるゲームが両方存在するのは、エンジンの機能そのものよりも、各スタジオがこの仕組みをどこまで作り込んだかの差によるところが大きいと考えられます。

3つの「キャッシュ」を区別する

ここが、この記事でいちばん誤解されやすい部分です。「シェーダーキャッシュを消せば直る」という助言はよく見かけますが、実際には性質の異なる3つのキャッシュが存在し、症状によって効く場所が違います。

Steamのシェーダー事前キャッシュ(ローカル)
ゲームを起動する前に、Steamが他のプレイヤーの環境から集めたシェーダー情報をあらかじめダウンロードしておく仕組みです。主にVulkan・OpenGL系のゲームやSteam Deck/Linux環境で効果を発揮します。管理場所はsteamapps/shadercacheで、更新の仕組みや削除の注意点はSteamで毎日シェーダーキャッシュが更新される理由で詳しく扱っています
GPUドライバーのシェーダーキャッシュ
NVIDIA・AMD・Intelそれぞれのグラフィックドライバーが、実際にコンパイルしたPSOやシェーダーの機械語を保存しておく仕組みです。この記事で中心的に扱うのはこちらです。特定のGPU・特定のドライバーバージョンに紐づいており、ドライバーを更新すると多くの場合は作り直しになります
Windowsのシェーダーキャッシュ(D3DSCache)
Windows自体がDirectX向けに管理している、OSレベルのキャッシュです。GPUメーカーのキャッシュとは別物で、「ディスククリーンアップ」の項目にも「DirectX Shader Cache」として表示されます。トラブルの原因になることは少なく、通常は意識する必要はありません

Steam版のUE5タイトルで新しいエリアに入るたびに引っかかる場合、原因の多くはSteamのローカルキャッシュではなく、GPUドライバー側の状態にあります。Steamのキャッシュはあくまで補助的な役割で、実際にPSOをコンパイルして保存しているのはGPUドライバーだからです。次の章では、NVIDIA・AMD環境でこのドライバー側のキャッシュをどう管理するかを説明します。

NVIDIA環境でのシェーダーキャッシュ管理

現在のNVIDIA環境では、シェーダーキャッシュの設定はNVIDIA Appの「グラフィック」タブ内、「グローバル設定」の「シェーダーキャッシュ」から行います。NVIDIAコントロールパネルは2026年5月26日のGame Ready Driver 610.47で廃止されており、古い解説記事にある「NVIDIAコントロールパネルを開いて」という手順は現在の環境には当てはまりません。

キャッシュサイズの設定
「ドライバーのデフォルト」「無効」に加えて、128MBから100GB、さらに「無制限」まで段階的に選べます。既定値はおおむね16GB程度で、複数の大作タイトルを並行してインストールしている場合は、既定のままでも実用上は十分なことが多いです
2026年3月末に追加されたAuto Shader Compilation(ベータ)
GeForce Game Ready Driver 595.97 WHQL以降で、NVIDIA Appの同じ画面から有効化できる新機能です。PCがアイドル状態のあいだ、あるいは「今すぐコンパイル」ボタンを押したタイミングで、DirectX 12のシェーダーをバックグラウンドで先にコンパイルしておくことで、実際にプレイ中に初回コンパイルが走る回数そのものを減らそうという仕組みです。初期設定はオフのため、有効にするには手動でオンにする必要があります
Auto Shader CompilationはDirectX 12が対象です
Steamのシェーダー事前キャッシュが主にVulkan・OpenGL系を対象にしているのに対し、こちらはDirectX 12のタイトルを対象にしています。UE5タイトルの多くはDirectX 12で動作するため、対応関係としてはかみ合っています

AMD環境でのシェーダーキャッシュ管理

AMD環境では、AMD Software: Adrenalin Editionの歯車アイコンから「設定」を開き、「グラフィック」タブの詳細設定(Advanced)を展開すると「Reset Shader Cache」というボタンがあります(AMD公式サポート)。これは特定のゲームだけを対象にする機能ではなく、保存されているシェーダーキャッシュ全体を一括で削除する、ドライバー単位のグローバルな操作です。押すと次回起動時に必要な分だけ再びコンパイルされます。

リセットは全ゲーム一括です
AMD SoftwareのReset Shader Cacheは特定のゲームだけを選んでリセットする機能ではなく、保存されているキャッシュ全体を一度に削除する仕組みです。特定タイトルだけを狙って直したい場合、公式UIには個別選択の手段がありません
NVIDIAのようなサイズ調整の機能は目立ちません
AMD側は容量を細かく指定するよりも、リセット(削除して作り直す)という操作が中心です

Intel Arc環境の場合

Intel製GPUには、NVIDIA・AMDのようなシェーダーキャッシュ専用のリセットボタンは用意されていません。キャッシュは通常%LocalAppData%\Intel\ShaderCacheフォルダーに保存されており、問題が起きた場合はこのフォルダーの中身を手動で削除する形になります。Intel Arc Control/Graphics Software側の設定をリセットすると、ゲームごとのプロファイルまで失われることがあるため、キャッシュだけを消したい場合はフォルダーを直接操作するほうが安全です。

なお2026年3月のArcドライバー101.8626 WHQL以降、Intel Graphics Softwareの「Graphics」タブ内「3D Rendering」から「Precompiled Shaders」という機能を有効にできます。クラウド側で事前コンパイル済みのシェーダーを配信してもらう仕組みで、対象はArc B系やCore Ultra 200V内蔵GPUなどXe2世代以降に限られ、Arc A系は対象外です。Steam版タイトルの一部で初回起動時の読み込みとスタッターを軽減できますが、対応タイトルは順次拡大中で全ゲームが対象ではありません。

キャッシュを削除すべきタイミング

ここまでの説明で気づいた方もいると思いますが、シェーダーキャッシュの削除は「毎回のスタッターを事前に防ぐ」対策ではありません。削除すれば、その時点までに溜まっていたコンパイル結果はすべて失われ、次に同じ場所を訪れたときや同じ技を使ったときには、また一からコンパイルが走ります。つまり削除した直後は、むしろ普段より引っかかりが増えるのが正常な挙動です。

削除が効くのは、次のような「壊れた・古いキャッシュそのものが不具合の原因になっている」場面に限られます。

GPUドライバーを更新した直後から、特定のゲームだけ挙動がおかしい
ドライバー更新後にキャッシュの再構築がうまくいかず、古いデータと新しいドライバーの組み合わせで不整合が起きている可能性があります。ドライバー更新後の手順はGPUドライバーは頻繁に更新すべきかにまとめています
GPUを別モデルに交換した
以前のGPU向けにコンパイルされたキャッシュは、新しいGPUではそのまま使えません。通常は新しいGPUを認識した時点でドライバー側が作り直しますが、交換直後にテクスチャの表示崩れや異常な引っかかりが残る場合は、手動でリセットすると解消することがあります
ゲームがクラッシュした直後から、そのゲームだけスタッターが極端に悪化した
コンパイル処理の途中でクラッシュすると、キャッシュファイルが不完全な状態で残ることがあります。この場合は該当タイトルのキャッシュだけをリセットする価値があります
単に容量を減らしたい、または毎回のスタッターが嫌だから
この理由では削除をおすすめしません。容量はNVIDIA Appでサイズの上限を設定すれば自動的に管理されますし、削除しても遊び続ければキャッシュはまた同じ程度まで増えていきます。恒久的な予防策にはなりません

安全な削除手順

STEP1|ゲームとGPU管理アプリを完全に終了する
対象のゲームを終了し、NVIDIA AppやAMD Softwareもバックグラウンドで動いていないか確認します。書き込み中のファイルを消すと、キャッシュの管理情報が不整合を起こす可能性があります
STEP2|まずはNVIDIA App/AMD Software側の機能を使う
NVIDIA環境ではシェーダーキャッシュのサイズを一度「無効」にしてから「ドライバーのデフォルト」へ戻す、AMD環境では前述の「Reset Shader Cache」ボタンを使うのが、フォルダーを手動で操作するより安全な方法です
STEP3|それでも解消しない場合は該当フォルダーを手動で確認する
NVIDIA環境では%LocalAppData%\NVIDIA以下、AMD環境でもそれぞれ専用のキャッシュフォルダーが存在します。フォルダー名やパスはドライバーのバージョンによって変わることがあるため、削除する前に対象のフォルダーがシェーダーキャッシュ専用であることを確認してください
STEP4|Windows側のD3DSCacheは別枠で扱う
GPUドライバー側を消してもまだ問題が残る場合、最後の手段としてWindowsの「ディスククリーンアップ」から「DirectX Shader Cache」を選んで削除する方法もあります。GPUメーカー側のキャッシュとは管理主体が違うため、同時に消さなくても問題ありません
STEP5|削除後の初回起動が重くなることを見込んでおく
削除直後にすぐ対戦や周回を始めると、コンパイルの重さがそのまま体感に出ます。可能であれば、削除後は一度ゲーム内を一通り歩き回るなど、負荷の低い場面で再コンパイルを進ませてから本番のプレイに入るとスムーズです

UE5タイトルで実際どう出ているか

当サイトで扱ってきたUE5タイトルの記事を見返すと、同じ根っこの現象が作品ごとに少しずつ違う形で報告されています。

Clair Obscur: Expedition 33
初回プレイ時やエリア切り替え時のスタッターが報告されており、対処法としてゲーム独自のシェーダーキャッシュファイル(拡張子.ushaderprecache・.upipelinecacheなど)やSteamのシェーダーキャッシュフォルダーを削除する方法が知られています。詳しくはClair Obscur: Expedition 33向けゲーミングPC完全ガイドで扱っています
Marvel Rivals
各ヒーローの必殺技を初めて見たときに一瞬固まる現象が報告されています。これはまさに、これまで使われていなかったエフェクト用のPSOがその場でコンパイルされる典型例です。プレイを重ねてキャッシュが溜まるにつれて軽減していきます。詳しくはMarvel Rivals向けゲーミングPCで扱っています
ビースト・オブ・リンカネーション
起動時やカットシーン中のシェーダー事前コンパイルがCPU側の処理速度に左右されやすく、非力なCPUではコンパイルが長引いて引っかかりとして体感されやすいと報告されています。詳しくはビーストオブリンカネーションの画質設定とfpsで扱っています
Gears of War: E-Day
本作はAdvanced Shader Delivery(ASD)という、シェーダーをあらかじめコンパイル済みの形で配信する独自の仕組みを用意しています。ただし2026年8月時点ではMicrosoft Store/Xbox PCアプリ版が対象で、Steam版への対応時期は明らかになっていません。詳しくは『Gears of War: E-Day』推奨スペックとおすすめゲーミングPCで扱っています
Bodycam
2026年9月配信の大型アップデートで新マップ「塹壕」が追加されたばかりで、プレイヤーの多くがまだ歩き慣れていないエリアほど初回コンパイルの引っかかりが出やすい状態です。詳しくはBodycam推奨スペック&おすすめゲーミングPCで扱っています

作品ごとに症状の出方や対処法の細かい違いはありますが、根っこにある仕組みはこの記事で説明したPSOコンパイルで共通しています。気になるタイトルが見つかったら、上記のリンク先で個別の対処法もあわせて確認してください。

よくある失敗

キャッシュを消せば恒久的に直ると思い込む
削除は「壊れたキャッシュを作り直す」ための対処であって、シェーダーコンパイルスタッターそのものをなくす方法ではありません。遊び続ければキャッシュはまた同じ程度まで増えていきます
Steamのキャッシュだけ消してドライバー側を放置する(逆も)
この記事の3つのキャッシュはそれぞれ別物です。症状に応じてどちらが原因なのか切り分けてから対処してください
削除直後にすぐ本番のプレイへ入って「悪化した」と誤解する
削除後の初回コンパイルはむしろ普段より重くなります。これは正常な挙動で、故障のサインではありません
レイトレーシング有効時のスタッターを構成不足だと決めつける
レイトレーシング用のPSOは事前コンパイルの仕組みが追いついていない領域です。GPUを上位モデルに替えても、この種の引っかかりが完全になくなるとは限りません

よくある質問

Q.シェーダーコンパイルスタッターとは何ですか?

A.ゲームがこれまで使っていなかった描画データの組み合わせ(PSO)を、プレイ中に初めて必要とした瞬間、その場でコンパイルすることによって起きる一瞬の引っかかりです。新しいエリアに入った直後や、技を初めて使った瞬間に起きやすく、GPUの性能不足とは別の原因です。

Q.ハイエンドGPUでも起きますか?

A.起きます。コンパイル処理はGPUの演算性能よりもドライバーの処理速度やゲーム側の実装に左右されるため、性能の高いGPUを積んでいても、初回コンパイルそのものを完全には避けられません。

Q.シェーダーキャッシュを消せば直りますか?

A.恒久的には直りません。削除は壊れたキャッシュや古いデータが原因の不具合を解消するための対処であり、削除した直後はむしろ再コンパイルで一時的に重くなります。ドライバー更新直後に特定のゲームだけ調子が悪い、GPU交換後に表示がおかしいといった具体的な症状があるときに試す方法です。

Q.SteamのシェーダーキャッシュとGPUドライバーのシェーダーキャッシュは同じものですか?

A.別物です。Steamのローカルキャッシュはゲーム起動前にダウンロードされる補助的なデータで、主にVulkan・OpenGL系やSteam Deck/Linux環境で効果を発揮します。一方、実際にPSOをコンパイルして保存しているのはNVIDIA・AMD・IntelのGPUドライバー側で、この記事の対象はおもにこちらです。

Q.UE5のPSO事前コンパイルで、スタッターは完全になくなりましたか?

A.なくなっていません。UE5.1で導入されUE5.2で安定した事前コンパイルの仕組みは着実に改善が進んでいますが、UE5.5時点でも一部のグローバルシェーダーは対象外で、特にレイトレーシング用のPSOはコンパイルが重く、事前コンパイルの仕組みも成熟していません。同じUE5製でもタイトルによって症状の出方が違うのは、各スタジオがこの仕組みをどこまで作り込んだかの差によるところが大きいと考えられます。

Q.NVIDIAのAuto Shader Compilationとは何ですか?

A.2026年3月末にNVIDIA Appへ追加されたベータ機能です。GeForce Game Ready Driver 595.97 WHQL以降で、PCがアイドル状態のあいだにDirectX 12のシェーダーをバックグラウンドでコンパイルしておき、実際にプレイ中の初回コンパイルの発生を減らそうとする仕組みです。初期設定はオフなので、試す場合はNVIDIA Appのグラフィック設定から手動で有効にしてください。

Q.AMD環境でシェーダーキャッシュをリセットするにはどうすればいいですか?

A.AMD Software: Adrenalin Editionの歯車アイコンから「設定」を開き、「グラフィック」タブの詳細設定(Advanced)内にある「Reset Shader Cache」ボタンを押します。ゲームごとの個別リセットはできず、保存されているキャッシュ全体が一括で削除されます。

まとめ・次に読みたい記事

UE5タイトルで新しいエリアや技を初めて使った瞬間だけ引っかかるのは、多くの場合GPUの性能不足ではなく、PSOがその場でコンパイルされることによる一瞬の処理待ちです。UE5.1で導入されUE5.2で安定したPSO事前コンパイルによって年々改善が進んでいますが、レイトレーシング用のPSOなど今も未解決の領域は残っています。

「シェーダーキャッシュを消せば直る」という説明は、半分正しく半分不正確です。削除は壊れたキャッシュが原因の不具合を解消する対処であって、削除した直後はむしろ再コンパイルで一時的に重くなります。Steamのローカルキャッシュ、GPUドライバーのキャッシュ、Windowsのキャッシュはそれぞれ別物なので、症状に応じてどこを消すべきか切り分けてから試してください。