最近,我為我的其中一台 WinXP x64 電腦作定期軟體翻新
先是採用 Acronis True Image 回覆到半年前備份的最佳狀態
再更新相關的軟體與驅動程式,並手動執行 Microsoft Update
乍看之下,這樣子的程序應該沒啥問題
但在準備產生新的備份之際,卻無法被遠端桌面連線 (Remote Desktop Connection)
也就是無法擔任伺服器的角色
拜請辜狗大神之後
台灣國內或是華語世界討論這個問題的網頁甚少
於是把觸角延伸到國外網站,總算有了解法…
緣起
(懶得看詳情可以跳至解法)
這個問題首先在 nVIDIA 的官方論壇被提出來討論
一開始有人抱怨更新了某些版本的 ForceWare 之後,該電腦無法被遠端連線
結果在事件檢視器 (Event Viewer) 可以發現 TSDDD.dll 這個檔案的錯誤訊息
以驅動程式品質優良著稱的 nVIDIA 頓時難以招架
在千夫所指之下未能提出解決之道
最後有位善心大德在 2008 年七月多提出了解法
發現原來這不是 nVIDIA 的問題,而應該歸咎於 MS Windows 的架構疏漏
唯獨 nVIDIA 更新驅動程式太快,首先採到這個地雷
解決方法
只要加入以下機碼
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"SessionImageSize"=dword:00000020
或是下載以下登錄檔並執行,便可解決大多數的問題
解說
其中 SessionImageSize
指的是遠端連線時的視訊記憶體大小
數值為十六進位,單位是 MB,因此 dword:00000020 代表 16 MB
算法跟視訊記憶體 (Video Memory) 需求一樣
當您需要 1680×1050, 32-bit 的連線,記憶體用量為
(1680 * 1050 * 32) / (8 * 1024 * 1024) = 6.7 (MB)
若是 QSXGA (2560×2048) 的使用者,則為
(2560 * 2048 * 32) / (8 * 1024 * 1024) = 20 (MB)
使用者可以依需求修改此機碼
附註
然而,絕大多數我的電腦配置皆為 nVIDIA-based 顯卡,卻沒出現這樣的問題
可見問題早已被 nVIDIA 在 driver level 就解掉了
反倒是這次出問題的電腦上
根本沒有安裝任何 nVIDIA 出產的軟、硬體
而是 ATI Radeon X700 與最新的 Catalyst
也證明了這個 bug 並非 nVIDIA 專屬
於是軟體品質不言可喻,ATI/AMD 請加油