經典遊戲《星際爭霸》(StarCraft 1 / Brood War) 在 Win10 上常遇到畫面顯示不全、黑邊、花屏、色彩異常。核心原因是高 DPI 縮放機制與老舊 DirectDraw 遊戲衝突。簡單一個相容性設定即可修復。
修復步驟
- 找到遊戲執行檔:
StarCraft.exe(單人戰役)或 BroodWar.exe / StarCraft.exe(資料片),通常在安裝目錄根目錄。
- 右鍵執行檔 → 內容 → 相容性 分頁。
- 在「設定」區塊勾選 高 DPI 設定下停用顯示縮放 (Disable display scaling on high DPI settings)。
Win10 1703 以後版本:點擊「變更高 DPI 設定」→ 勾選「覆寫高 DPI 縮放行為」→ 縮放執行者選「系統」或「系統 (增強)」→ 確定。
- 點擊「套用」→「確定」。
- 重新啟動遊戲,畫面應正常全螢幕顯示,色彩恢復正常。
原理解析
- 老遊戲使用 DirectDraw/GDI 繪圖,不感知 Windows DPI 縮放(125%/150%/175% 等)。
- 系統強制縮放導致畫面座標錯位、繪製區域不匹配,產生黑邊、截斷、色彩錯亂。
- 「停用顯示縮放」讓遊戲以 100% 原生解析度繪製,繞過 DPI 虛擬化層。
適用範圍擴展
**同樣方法適用於:
- 星際爭霸 II (舊版客戶端/非 Battle.net 新版)
- 紅色警戒 2 / 尤里的復仇
- 帝國時代 2 (原版/HD 版啟動器)
- 魔獸爭霸 3 (經典版)
- 其他 2010 年前基於 DirectDraw/Direct3D 9 的老遊戲
進階方案(若相容性設定無效)
- dgVoodoo 2 / DDrawCompat / DXVK:將 DirectDraw/Direct3D 9 呼叫轉譯為 Direct3D 11/12,完美解決相容性、支援高解析度、窗口化、縮放過濾。需放置對應 DLL 到遊戲目錄。
- 修改登錄表:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers 新增字串值:遊戲 exe 路徑 = ~ DPIUNAWARE。
- 使用專用啟動器/修補程式:如 StarCraft 的
Chaoslauncher、紅警的 CnCNet 客戶端,內建相容性修復。
一個勾選讓 20 年前的經典大作在 4K 高 DPI 螢幕上完美運行,Win10 相容性層功不可沒。