前幾天,我從A電腦搬遷超級任天堂模擬器:Zsnes,到B電腦。
原本在A電腦上,無論視窗或全螢幕模式皆正常,卻在B電腦視窗模式正常,全螢幕模式異常。
放大至全螢幕時會當掉,必須強制結束,並偶爾顯示錯誤訊息:
DirectDraw Error
IDirectDraw7::SetDisplayMode failed.
Make sure your video card supports this mode.
起初懷疑顯示卡驅動程式過舊,或一些遊戲元件,諸如DirectX Feb2010 Redistributable或DirectX End-User Runtime Web-9.29.1973,尚未安裝。
後來安裝了遊戲元件,也更新了顯示卡驅動程式,仍然無法正常放大至全螢幕。
檢查並搜尋Zsnes論壇上的網友討論,得知原因為全螢幕解析度設定錯誤。
「Zsnes的全螢幕解析度」必須是「顯示卡支援的解析度」才行。
如果顯示卡不支援某個解析度,Zsnes便不能使用那個解析度,否則無法運作。
【如何得知顯示卡支援哪些解析度?】
桌面 → 滑鼠右鍵 → 顯示設定 → 進階顯示設定 → 顯示器X的顯示卡內容 → 列出所有模式
假設Zsnes設定全螢幕解析度為「1280 × 960」,如上圖,並不被這張顯示卡支援,便會當掉閃退。
有時候,Zsnes被強制關閉,再度執行時,會自動以視窗模式顯示,此時便能按上方的CONFIG、VIDEO變更全螢幕解析度。
有時候,Zsnes被強制關閉,再度執行時,仍是全螢幕模式,但又會當掉,無法變更。
即使不開啟Zsnes,也能利用它的組態檔案「zsnes.cfg」變更全螢幕解析度。
首先,以記事本開啟「zsnes.cfg」,找到「PrevFSMode=XX」。
「PrevFSMode」意即「previous full screen mode」,上次所設定的全螢幕模式。
「等於」符號,「=」,右方的數字,即代表全螢幕解析度。
哪個數字代表哪個解析度,已經寫在上方。
舉例來說,更改「PrevFSMode=XX」為「PrevFSMode=18」
「18」即為「1024x768」 S FULL
有「FULL」字眼者即全螢幕模式。有「WIN」字眼者即視窗模式。
存檔之後,再次開啟Zsnes,便能以1024x768之解析度放大至全螢幕。
如果仍然不行,則更改zsnes.cfg中的「cvidmode」也「=18」。
「cvidmode」意即「custom video mode」,使用者自訂解析度。
【如何自訂最佳全螢幕解析度?】
- 以滑鼠點選上圖中之黃色數字1所指的文字框,將出現閃爍底線的游標。
按下鍵盤上的「←Backspace」刪除原本的數字,並輸入自己想要的左右長度。
- 以滑鼠點選上圖中之黃色數字2所指的文字框,並輸入自己想要的上下寬度。
- 於左方選一個偏好的Custom模式,有這幾種可選:
D W ▶ 視窗模式,使用濾鏡(filter)
D S F ▶ 全螢幕模式,使用濾鏡(filter),並拉伸(stretch)圖像以適應螢幕
W ▶ 視窗模式
S F ▶ 全螢幕模式,並拉伸(stretch)圖像以適應螢幕
D R F ▶ 全螢幕模式,使用濾鏡(filter),並維持圖像比例為8比7
留意舊款Intel顯示卡,若於全螢幕使用濾鏡,將嚴重lag。
如果電腦裝有其他顯示卡,須以效能更佳者執行Zsnes,於全螢幕使用濾鏡才不會lag。
- 按下黃色數字4所指的鈕,此時Zsnes無任何反應。
- 按下黃色數字4所指的鈕,此時Zsnes將改變為使用者自訂的解析度。
【最佳全螢幕解析度,計算方法】
假設某螢幕之最大解析度為1366 × 768,且該使用者偏好4比3的比例,則
(768 ÷ 3) × 4 = 1024
應輸入1024 × 768方為最佳全螢幕解析度。
再舉一例,設某螢幕之最大解析度為1600 × 1050,則
(1050 ÷ 3) × 4 = 1024
應輸入1400 × 1050方為最佳全螢幕解析度。
Windows 10之中,按Zsnes右上角的「×」關閉模擬器之後,有時仍可在工作管理員看見模擬器未關閉。
TASKKILL /f /im Zsnes-1.51.exe
TASKKILL /f /im Zsnes-1.51.exe
TASKKILL /f /im Zsnes-1.51.exe
TASKKILL /f /im Zsnes-1.51.exe
TASKKILL /f /im Zsnes-1.51.exe