環境與現象
- 平台:Iwill KK266 + Duron 750@930MHz + 256MB PC150 + S3 Savage3D + Win98 SE + DirectX 8
- 裝《暗黑破壞神2:毀滅之王》後頻繁死機/自動重啟,間隔無規律。
排查歷程(避坑指南)
- 懷疑超頻/散熱 → 降頻、改CAS 3、強化散熱 → 無效。
- 懷疑電源 → 換大功率電源 → 無效。
- 懷疑板載CMI8738聲卡衝突(曾與《致命武力》衝突) → 更新驅動/換創新PCI 128 Digital → 無效。
- 換GeForce2 MX顯卡 → 順利運行 → 鎖定顯卡/驅動層面。
- 不想換卡,回想裝DX 8前玩D2正常 → 懷疑DX 8兼容性。
- 裝Savage3D最新驅動(2000年8月) → 無效。
- 關鍵發現:桌面屬性→高級→性能→硬體加速滑桿:
- 「無加速」/「基本加速」:啟動D2彈窗「調用DirectDraw出現嚴重錯誤」退出。
- 「大部分加速」/「完全加速」:死機/重啟。
→ DirectDraw與Savage3D驅動在DX 8下不兼容!
- 用DirectX Uninstaller卸載DX 8,安裝DX 7.0a → D2完美運行,不再死機。
延伸驗證
《Deus Ex》、《Anachronox》同樣會死機(頻率較低),同屬DirectDraw兼容性問題。
根因總結
- S3 Savage3D屬較舊顯卡,驅動停止更新較早。
- DirectX 8對DirectDraw介面有變更,舊驅動無法正確實現新介面契約。
- 硬體加速選項直接控制DirectDraw是否啟用硬體加速路徑,觸發不兼容代碼路徑導致崩潰。
通用解決框架
- 新遊戲/新DX版本出現不穩定,優先懷疑顯卡驅動與DX版本兼容性。
- 嘗試降級DirectX版本(Win9x/早期XP可用DX Uninstaller,現代Windows需系統還原/重裝)。
- 或嘗試關閉硬體加速(犧牲性能換穩定),定位問題屬驅動還是DX核心層。
- 關注顯卡廠商是否釋出針對新DX版本的驅動更新,無更新則考慮換卡。
軟體兼容性故障往往比硬體故障更隱蔽,版本對齊是穩定基石。