Steamを起動するたびに、インストールしているゲームの小さな更新が始まることがあります。ゲームのアップデート情報を確認してもパッチノートがなく、数百KBから数十MB程度のデータが毎日のようにダウンロードされる場合は、ゲーム本体ではなく「シェーダー事前キャッシュ」が更新されている可能性があります。
シェーダーキャッシュの更新は、必ずしも不具合ではありません。Valveは、実際のプレイ環境から新しいシェーダー情報が集まるたびに、小さな差分データを配信する仕組みを採用しています。そのため、ゲーム本体が更新されていなくても、シェーダー事前キャッシュだけが更新されることがあります。一方で、Steamを再起動するたびに同じ数GBのデータをダウンロードする、シェーダー処理が毎回数十分続く、ストレージ容量が急激に減る場合は、キャッシュの管理情報やGPUドライバー、外付けストレージなどに問題が起きている可能性があります。
この記事では、Steamでシェーダーキャッシュが毎日更新される理由、ゲーム本体のアップデートとの見分け方、無効化した場合の影響、キャッシュを削除するときの注意点を解説します。
Steamのシェーダーキャッシュとは
シェーダーは、ゲーム画面の光、影、質感、反射、エフェクトなどをGPUで描画するためのプログラムです。ゲームを初めて起動したときや、新しいマップやエフェクトを表示したときには、パソコンのGPUやドライバーに合わせてシェーダーをコンパイルする処理が発生することがあります。ゲーム中に初めてシェーダーをコンパイルすると、処理が完了するまで一瞬フレームレートが落ちたり、映像が引っかかったりする場合があり、一般に「シェーダーコンパイルによるカクつき」「シェーダースタッター」と呼ばれます。
Steamのシェーダー事前キャッシュは、対応するGPUやドライバー向けのデータをゲーム起動前にダウンロードし、必要な処理を先に済ませる仕組みです。Valveは2017年にシェーダー事前キャッシュを導入し、対応環境ではOpenGL・Vulkanゲームの初回起動時間や、最初の数回のプレイ中に発生するカクつきを軽減できると説明しています。この機能はすべてのゲームで同じように使われるわけではなく、ゲームが利用する描画API、GPU、ドライバー、OSなどによってダウンロードされるデータや処理内容が変わります。
毎日シェーダーキャッシュが更新される主な理由
数百KBから数十MB程度の更新であれば、Steamが新しく収集したシェーダー情報を差分として配信している可能性があります。同じゲームをインストールしているほかのユーザーが、これまで収集されていなかったマップ、キャラクター、エフェクト、画質設定などを使用すると、新しいシェーダー情報がSteam側へ追加されることがあります。Valveの担当者は公開issue上で、シェーダー事前キャッシュの更新は、実際の利用環境で新しいシェーダーが確認された際に配信される小さな差分更新として設計されていると説明しています。そのため、ゲーム本体のバージョンが変わっていなくても、シェーダーキャッシュだけが更新されることはあります。
ゲームのアップデートでシェーダーが変わった
ゲーム本体に新しいマップ、キャラクター、武器、エフェクト、レイトレーシング設定などが追加されると、使用されるシェーダーも変化します。大型アップデートに限らず、描画処理の修正や最適化によってシェーダーキャッシュが更新されることもあります。ゲーム本体の更新とシェーダー事前キャッシュが同時に配信された場合、Steamのダウンロード画面にはゲーム名だけが大きく表示されるため、同じアップデートを何度もダウンロードしているように見えることがあります。
GPUドライバーを更新した
シェーダーキャッシュはGPUやドライバーの状態に依存します。NVIDIA、AMD、Intelのグラフィックドライバーを更新すると、それまで作成されていたキャッシュを新しいドライバー向けに処理し直すことがあります。GPUドライバーの更新後にローカルのVulkanパイプラインデータベースを処理し直す挙動は、コミュニティやフォーラムでも広く報告されています。ドライバー更新直後に複数ゲームのシェーダー処理が始まった場合は、異常ではない可能性があります。処理が完了した後も毎回同じ容量をダウンロードする場合は、キャッシュが正常に保存されていない可能性を確認します。
GPUを交換した
使用するGPUが変わると、以前のGPU向けに作成されたキャッシュをそのまま利用できない場合があります。Valveは過去のSteamクライアント更新で、GPUまたはドライバーが変更された場合に古いシェーダーキャッシュを削除する処理を追加しています。グラフィックボードを交換した直後や、内蔵GPUとグラフィックボードの使用先を変更した直後に再ダウンロードが発生するのは、自然な動作と考えられます。
Steam DeckやLinuxでVulkanシェーダーを処理している
Steam DeckやLinux環境では、ゲーム起動時に「Vulkanシェーダーを処理中」と表示されることがあります。Steamはゲームごとに収集したVulkanパイプラインをダウンロードし、ゲームを起動する前やバックグラウンドで処理します。Valveは2019年に、ゲーム単位でVulkanパイプライン全体をダウンロードして事前処理できるよう、シェーダーシステムを再設計しています。新しいシェーダーが追加された場合や、Mesa・NVIDIAドライバー、Proton、Steamクライアントなどの環境が変わった場合は、再処理が必要になることがあります。ただし、毎回数十分から数時間かかる場合は正常とは限りません。Valveの公開issue trackerにも、ゲーム起動のたびにVulkanシェーダー処理が繰り返されるという報告があります。
キャッシュの保存先をSteamが正しく認識できていない
シェーダーキャッシュはゲームごとに管理されます。Linux版Steamでは、一般的にSteamライブラリ内のsteamapps/shadercacheにゲームのApp IDごとのフォルダーが作成されます。外付けSSD、SDカード、別パーティション、ネットワークドライブなどをSteamライブラリとして使用している場合、ドライブのマウント位置や権限が変わると、Steamが既存のキャッシュを認識できず、再ダウンロードする可能性があります。Valveの公開issue trackerにも、外部パーティション上のシェーダーキャッシュをSteamが認識できず、ゲームを開くたびにダウンロードが発生するという報告があります。
ゲーム本体の更新か見分ける方法
Steamのダウンロード画面では、ゲーム名の横に表示される情報アイコンから、更新内容の種類を確認できる場合があります。Valveはダウンロード画面の更新時に、情報アイコンへ「ゲームコンテンツ」「ダウンロードコンテンツ」「ワークショップコンテンツ」「シェーダー事前キャッシュ」などの種類を表示する機能を追加しています。情報欄に「シェーダー事前キャッシュ」と表示されていれば、ゲーム本体の実行ファイルやマップデータが更新されたとは限りません。パッチノートが表示されず、更新容量が小さく、ダウンロード内容がシェーダー事前キャッシュだけであれば、毎日の差分更新である可能性が高いでしょう。一方で「ゲームコンテンツ」も含まれている場合は、ゲーム本体の修正データも配信されています。
数百KBから数十MB程度のシェーダー事前キャッシュが不定期に更新されるだけなら、基本的にはそのままダウンロードして問題ありません。確認が必要なのは、Steamやパソコンを起動するたびに同じゲームの数GB規模の更新が繰り返される場合です。Valveの公開issue trackerには、再起動するたびに複数ゲームのシェーダーキャッシュが再ダウンロードされ、キャッシュ容量が増え続けたという報告があります。報告例では小さな更新だけでなく、ゲームによって2GBから4GBを超える再ダウンロードも発生しています。正常かどうかは、更新頻度だけでなく容量と処理時間で判断します。
| 状況 | 判断の目安 |
|---|---|
| 数百KBから数十MBの更新が発生する | 新しいシェーダーの差分である可能性が高い |
| ゲームやGPUドライバー更新後に一度だけ大容量になる | キャッシュの再構築である可能性がある |
| 毎回同じ数GBをダウンロードする | キャッシュを認識できていない可能性がある |
| 起動のたびに長時間シェーダーを処理する | ドライバーやキャッシュ管理の問題を疑う |
| 空き容量が継続的に減る | 古いキャッシュや重複データを確認する |
シェーダーキャッシュは無効にしてもよい?
Steamのシェーダー事前キャッシュは無効化できます。「Steam」「設定」「ダウンロード」の順に開き、「シェーダー事前キャッシュを有効にする」に相当する設定をオフにする操作が用意されています。表示名はOSやSteamクライアントのバージョンによって異なる場合があります。
無効化しても、通常はゲーム本体がアンインストールされるわけではありません。ただし、ゲーム起動時やプレイ中に必要なシェーダーをその場でコンパイルすることになるため、初回起動時間が長くなったり、新しい場面でカクつきが発生したりする可能性があります。Valveも、シェーダー事前キャッシュの目的を、対応するOpenGL・Vulkanゲームのロード時間や初回プレイ時のカクつきを減らすことだと説明しています。毎日の数MB程度の更新が気になるという理由だけなら、無効化するメリットは大きくありません。通信容量に厳しい上限がある、シェーダー処理でCPU使用率が長時間高くなる、特定ゲームが起動できなくなるといった問題が発生している場合は、原因を切り分けるため一時的に無効化する方法があります。
Steam DeckやLinuxでは無効化の影響が大きくなることがある
Steam DeckやLinuxでWindows向けゲームを動かす環境では、シェーダー事前キャッシュの無効化によって、ゲーム中のシェーダーコンパイルが増える可能性があります。また、互換性確保のため変換された動画データが、シェーダーキャッシュと同じ設定に関連付けられているケースが確認されています。特定のゲームでは、事前キャッシュを無効にすると動画再生に影響する可能性があります。すべてのゲームで問題が起きるわけではありませんが、Steam Deckでは容量節約だけを目的に常時無効化するより、問題が発生しているゲームやキャッシュを特定したほうが安全です。
オフにしてから再びオンにする際の注意点
シェーダー事前キャッシュを無効化し、すぐに再有効化すると、大容量データが再ダウンロードされる場合があります。2026年5月にはValveの公開issue trackerで、設定をオフからオンへ切り替えた際、既存の大容量データがストレージに残っているにもかかわらず、管理情報が失われて約46GBのデータが再ダウンロードされたという報告が公開されています。これはすべての環境で発生することが確認された問題ではありませんが、通信容量やストレージ容量が限られている環境では注意が必要です。
毎日の小さな更新を止める目的で設定を何度もオン・オフすると、かえって大容量の再ダウンロードが発生する可能性があります。設定を変更する前に、現在ダウンロード中の処理を完了させ、ストレージの空き容量を確保してください。
シェーダーキャッシュを削除しても大丈夫?
シェーダーキャッシュを削除しても、通常はセーブデータやゲーム本体まで削除されるわけではありません。ただし、削除後はSteamやGPUドライバーが必要なキャッシュを再作成するため、次回起動時に再ダウンロードやシェーダーコンパイルが発生します。削除は容量節約の恒久的な方法ではなく、キャッシュ破損や異常な再処理を直すためのトラブルシューティングと考えてください。ゲームを継続してプレイすれば、削除した容量の一部または大部分が再び使用されます。
いきなりshadercacheフォルダー全体を削除しない
複数ゲームのキャッシュをまとめて削除すると、次にゲームを起動した際、すべての対象ゲームで再ダウンロードや再コンパイルが発生します。問題が特定のゲームだけで起きている場合は、対象ゲームのApp IDに対応するフォルダーだけを確認するほうが安全です。App IDはSteamストアページのURLや、ゲームのプロパティなどから確認できます。Steam DeckやLinuxでは、ゲームごとのキャッシュがsteamapps/shadercache/ゲームのApp IDという構成で保存されることがあります。Windowsではゲームや描画APIによって、Steam側のキャッシュに加えてNVIDIA、AMD、Intelのドライバーキャッシュや、ゲーム独自のキャッシュが使われる場合があります。複数種類のキャッシュを同時に削除すると、どの操作で改善したのか判断できなくなるため、一つずつ試してください。
キャッシュを削除する前にSteamを完全終了する
シェーダーキャッシュを手動で削除する場合は、ゲームを終了するだけでなくSteamクライアントも完全に終了します。Steamがキャッシュへ書き込んでいる途中でフォルダーを削除すると、管理情報と実際のファイルの状態が一致しなくなる可能性があります。Steamを終了した後もバックグラウンドで処理が残っていないか、タスクマネージャーまたはシステムモニターで確認してください。対象フォルダーを削除した後はSteamを起動し、必要なデータのダウンロードと処理が完了するまで待ちます。
「ダウンロードキャッシュをクリア」とは別物
Steamの設定にある「ダウンロードキャッシュをクリア」は、シェーダーキャッシュだけを削除する機能ではありません。これは、ゲームや更新データのダウンロードに使われる一時的な管理情報を消去するための機能です。「設定」「ダウンロード」「ダウンロードキャッシュをクリア」から実行でき、処理後はSteamへの再ログインが必要になります。シェーダーキャッシュの容量を減らす目的だけで、最初からダウンロードキャッシュをクリアする必要はありません。ダウンロードが開始できない、更新が同じ位置で止まる、ダウンロードキューの表示がおかしいといった症状がある場合に試します。
シェーダーキャッシュが毎回更新される場合の直し方
- STEP1|更新の種類を確認する
- ダウンロード画面の情報アイコンから、本当にシェーダー事前キャッシュだけが更新されているか確認します。数MB程度の差分ならダウンロードを完了させて様子を見ます。処理途中でSteamを終了したり、パソコンをシャットダウンしたりすると、次回起動時に処理が再開されることがあります。
- STEP2|SteamとGPUドライバーを最新にする
- 毎回同じ容量をダウンロードする場合は、SteamクライアントとGPUドライバーを最新の安定版へ更新します。Steamベータ版を利用している場合は、通常版へ戻して挙動が変わるか確認してください。
- STEP3|保存先の接続状態を確認する
- 外付けSSDやSDカードにゲームを保存している場合は、Steam起動前にドライブが接続され、前回と同じ場所へマウントされているか確認します。Linuxでは、Steamライブラリとシェーダーキャッシュの所有者や書き込み権限も確認してください。キャッシュフォルダーへ正常に書き込めなければ、起動するたびに同じ処理が必要になる可能性があります。
- STEP4|対象ゲームのキャッシュだけを削除する
- 特定ゲームだけで発生している場合は、そのゲームを終了し、Steamを完全終了してから、対象App IDのシェーダーキャッシュだけを削除して再作成させます。
- STEP5|設定のオン・オフは最後の手段にする
- 設定のオン・オフを何度も繰り返すと、既存データの再ダウンロードを引き起こす可能性があるため、ほかの手順で改善しない場合の最後の切り分けとして実行してください。
シェーダー処理中に0B/sと表示されるのはなぜ?
シェーダー事前キャッシュでは、データのダウンロードだけでなく、ダウンロードしたパイプラインデータをGPUドライバー向けに処理する段階があります。通信が終わってローカル処理へ移ると、ネットワーク使用量が0B/sでも、CPUやストレージ側では処理が続いていることがあります。Steamのシェーダーシステムは、Vulkanパイプラインをダウンロードするだけでなく事前処理する仕組みであり、ダウンロード画面も通信量だけでなくディスク処理などを含めた全体進捗を表示するよう変更されています。0B/sと表示されても、ディスク使用量、CPU使用率、進捗バーが動いている場合は、すぐに強制終了せず処理の完了を待ってください。長時間まったく進捗が変わらない場合は、Steamを終了する前に、ストレージの空き容量やドライブの応答状況を確認します。
よくある質問
Q.シェーダーキャッシュを削除するとゲームの設定やセーブデータも消えますか?
A.通常、シェーダーキャッシュとセーブデータは別の場所に保存されているため、ゲームごとのシェーダーキャッシュだけを正しく削除した場合、セーブデータまで消える可能性は低いでしょう。ただし、フォルダー名や保存場所を間違えて、ゲーム本体やProtonの互換環境を削除しないよう注意してください。特にLinux・Steam Deckの`compatdata`には、Windowsゲームが使用する仮想的なWindows環境やゲーム設定が含まれる場合があります。シェーダーキャッシュを消す目的で`compatdata`まで削除する必要はありません。
Q.シェーダー事前キャッシュを無効にするとFPSは下がりますか?
A.キャッシュの有効・無効だけで、安定した場面の平均FPSが大きく変わるとは限りません。影響が出やすいのは、初めて表示する場所やエフェクトでシェーダーをコンパイルするときのフレームタイムです。事前キャッシュが利用できない場合、平均FPSは同程度でも、瞬間的なカクつきが増える可能性があります。
Q.毎日の数MBの更新を止めるべきですか?
A.通信容量やストレージに問題がなければ、数MB程度の更新を止める必要はありません。新しく収集されたシェーダーの差分である可能性があり、ダウンロードすることでゲーム中のカクつきを減らせる場合があります。毎回数GBになる、処理に長時間かかる、キャッシュ容量が増え続ける場合に限り、保存先やドライバー、キャッシュ破損を確認してください。
Q.ゲームをアンインストールすればシェーダーキャッシュも消えますか?
A.Steamがゲームと関連データを正常に管理していれば、不要になったキャッシュは削除対象になります。ただし、過去の不具合、手動で移動したSteamライブラリ、外付けドライブ、シンボリックリンクなどの影響で、キャッシュが残る場合があります。ゲームをアンインストールしたのに容量が戻らない場合は、`steamapps/shadercache`内に該当するApp IDのフォルダーが残っていないか確認します。
Q.シェーダーキャッシュは別のSSDへ移動できますか?
A.Steamライブラリの構成によっては、シェーダーキャッシュがゲームを保存したライブラリやSteam本体側のライブラリに作成されます。フォルダーを手動で移動し、シンボリックリンクを作る方法もありますが、Steamアップデートやドライブのマウント状態によって認識できなくなる可能性があります。手動移動が原因で毎回再ダウンロードされることも考えられるため、容量に余裕がある場合はSteamの標準構成で使用するほうが安全です。
まとめ・次に読みたい記事
Steamで毎日のように発生する小さな更新は、ゲーム本体ではなくシェーダー事前キャッシュの差分である可能性があります。Steamは実際のプレイ環境から新しいシェーダー情報を収集し、対応するゲームやGPU向けにキャッシュを配信するため、ゲーム本体にアップデートがなくても数百KBから数十MB程度の更新が発生することがあります。GPUドライバー、ゲーム、Steamクライアント、Protonなどを更新した直後は、シェーダーの再処理や再ダウンロードが発生する場合があります。
小さな差分更新だけなら、シェーダー事前キャッシュを無効化する必要はありません。無効化すると、ゲーム起動時や新しい場面でシェーダーコンパイルによるカクつきが増える可能性があります。毎回同じ数GBをダウンロードする、処理が長時間終わらない、ストレージ容量が増え続ける場合は、キャッシュの保存先、外付けドライブ、GPUドライバー、Steamベータ版などを確認してください。
シェーダーキャッシュを削除する場合は、Steamを完全に終了し、問題が起きているゲームのApp IDフォルダーだけを対象にしてください。キャッシュを削除しても必要なデータは再作成されるため、恒久的な容量節約にはならない点にも注意が必要です。



