# Steam 和顯示卡著色器快取能刪嗎，會不會影響遊戲

遊戲裝得多，顯示卡驅動程式也更新過幾次，磁碟裡會出現下載快取和著色器快取。但遊戲安裝檔案、存檔、Workshop 內容和快取不能一起處理。先知道目錄的用途，再決定釋放哪一部分空間。

## 下載快取和著色器快取分開看

Steam 的下載快取用於安裝和更新過程。下載異常時可以按 [Steam 官方說明](https://help.steampowered.com/en/faqs/view/6AD7-820D-8BE5-E51F)從用戶端設定處理，確認時會提示需要重新登入。它不是解除安裝遊戲的按鈕，也不能據此刪除整個 Steam 遊戲庫。

著色器快取儲存圖形處理需要的已準備內容。清掉以後可能要重新下載或編譯，下一次啟動或進入場景時可能等待更久。釋放了空間不代表遊戲畫面更新率一定更高。

## 著色器快取省下的是重複編譯的工作

遊戲裡的光照、材質和特效要透過圖形程式交給 GPU 執行。同一段著色器程式碼在不同的顯示卡、驅動程式和圖形介面下，可能需要不同的編譯結果。快取把這些結果留在磁碟上，之後遇到同樣的工作可以直接複用。它不是一份低清晰度的遊戲素材，也不是遊戲存檔。

[NVIDIA 的設定說明](https://www.nvidia.com/content/Control-Panel-Help/vLatest/en-gb/mergedProjects/nv3dENG/Manage_3D_Settings_%28reference%29.htm)介紹了驅動程式的著色器快取和編譯工作。驅動程式更新後它也可能要重新產生。Steam 管理的快取和顯示卡驅動程式管理的快取在兩個位置。清掉一個不代表另一個也清了，也不代表每款遊戲都會受影響。

## 清理前後，比較同一個場景的兩次載入

遊戲本來執行正常的話，刪掉一份很大的快取，換來的是磁碟空間，代價可能是下次啟動或進入新場景時重新編譯。反覆這樣做也算不上提升畫面更新率的辦法。如果廠商針對某個快取相關的故障，明確要求重建，就按那款遊戲的說明來。這和日常清理是兩種理由。

驗證時固定同一款遊戲、同一個存檔和同一套圖形設定。清理前先看一次這個場景，清理後看第一次載入，再結束重進看後續載入。一次卡頓不能說明快取壞了。第一次載入變慢也沒有統一的恢復時間。要重建多少，取決於遊戲、驅動程式和場景。

<figure class="blog-diagram">
  <picture>
    <source media="(max-width: 900px)" srcset="/img/blog/windows-steam-shader-cache-windows-zh-mobile.webp" type="image/webp" width="768" height="1180">
    <img src="/img/blog/windows-steam-shader-cache-windows-zh.webp" width="1360" height="454" loading="lazy" alt="著色器快取減少重複準備的工作">
  </picture>
  <figcaption>快取儲存準備好的圖形工作。刪除後的成本可能是重新編譯或取得，並不會自動帶來更高畫面更新率。</figcaption>
</figure>

## Mole 怎樣辨識 Steam 的遊戲庫

Mole 讀取 Steam 登記的位置和它列出的遊戲庫，檢查其中每個遊戲對應的 `steamapps\shadercache` 內容，不按 C、D 槽猜一個 Steam 資料夾就開始刪。多個遊戲庫可以分別檢查。遊戲庫的路徑和歸屬仍要以確認清單為準。

Steam 還在執行時，對應快取會被保留。想處理就先結束遊戲、儲存進度，再正常結束 Steam，回到清理清單核對。目錄不在辨識範圍內時，不能把另一個同名資料夾硬套進這條規則。

## 遊戲資料不是快取

| 看到的內容 | 怎樣處理 |
| --- | --- |
| Steam 著色器快取 | 結束相關程式後查看清理候選，接受重建的等待 |
| Steam 下載異常 | 優先按用戶端的官方排查入口處理 |
| 遊戲安裝目錄 | 用 Steam 的儲存空間管理、移動或解除安裝流程 |
| 本機存檔、模組和 Workshop 內容 | 先確認來源和備份，按遊戲與 Steam 的管理方式處理 |

存檔是否同步要到對應遊戲和 Steam 裡確認。雲端同步不等於一份不會跟著刪除的獨立備份。遊戲目錄裡手動放入的模組、截圖和設定，也不會因為解除安裝清單裡有一個遊戲名稱就變成可重建快取。

## 顯示卡快取也有自己的範圍

Mole 還會辨識部分 Windows、瀏覽器和顯示卡相關的著色器快取，和廠商驅動程式安裝套件、遊戲本體分開列出。驅動程式更新後快取重新增加很正常。正在編譯或使用的內容先保留，不能把整個顯示卡廠商目錄當成快取。

清理以後用同一款遊戲、同一場景觀察首次載入與之後的表現。別把重建中的等待當成清理工具損壞了遊戲。如果 C 槽的大頭其實是遊戲安裝，先看[磁碟空間來源](/tw/windows/blog/find-large-files-on-windows)，再決定移動或解除安裝哪些遊戲。


Canonical: https://mole.fit/tw/windows/blog/steam-shader-cache-windows
