尋找有shader濾鏡功能的模擬器 - 模擬器

Olivia avatar
By Olivia
at 2018-09-05T16:20

Table of Contents


我想找可以自由套用shader濾鏡的模擬器,
例如Snes9x可以在Video裡設定,
選擇使用D3D或OpenGL的shader濾鏡,
載入用cg語言撰寫的.cgp檔案,
用shader放大畫面來提升2D遊戲的清晰度。

我想套用的shader濾鏡叫做「4xbr-hybrid-crt」,
它是我覺得顯示效果最好的2D畫面放大濾鏡。

xbr是效果很好的2D像素放大的演算法,
但是有時候它放大的畫面會有很嚴重的失真,
例如文字的斜線會變得扭曲變形,
或者有很多的細節會變得消失不見,
使得遊戲的畫面看起來像用刷筆描繪的油畫,
反而不如原始像素直接放大看起來還比較真實。

各種像素放大算法的比較圖
https://i.imgur.com/TQxSyJd.png

可以看到XBR4x的前後箭頭和三角波浪線條特別平滑,
完全看不到鋸齒,而且畫面相當清晰銳利,
但是花朵的花瓣樣式變形,花瓣間連接處的細節喪失,
右邊的ABC文字扭曲,
方塊圖形和下方的矩形波則可以很明顯的發現直角完全消失。

但是「4xbr-hybrid-crt」這個濾鏡,
混合了xbr、Reverse-AA和crt掃描線的算法,
改善了上述的缺點,特別是減輕了xbr的油畫感,
在一些2D遊戲上有著很棒的顯示效果。

以下的圖片如果看縮圖會看到縮放失真造成的橫格線,
要打開來看,以1:1顯示才會看到在模擬器上真正的顯示效果。

FC的吞食天地2諸葛孔明傳
原始像素直接放大 漢字和英文字的轉折有明顯的鋸齒
https://i.imgur.com/GiWF44a.png
用4xbr-hybrid-crt放大
https://i.imgur.com/a4YqO0H.png

原始像素直接放大 劉備的頭像和日文的假名有明顯的鋸齒
https://i.imgur.com/dlnI5iF.png
用4xbr-hybrid-crt放大
https://i.imgur.com/h6oRPml.png

FC的太空戰士3
原始像素直接放大 數字和人物圖象和上方背景的顆粒感
https://i.imgur.com/7cZ0pRM.png
用4xbr-hybrid-crt放大
https://i.imgur.com/Wl6QzVz.png

SFC的勇者鬥惡龍3
原始像素直接放大 有很粗重的雜訊和顆粒感
https://i.imgur.com/ynUDYfg.png
用4xbr-hybrid-crt放大
https://i.imgur.com/NQpDp3D.png

SFC的超時空之鑰
原始像素直接放大
https://i.imgur.com/C4Orfs2.png
用4xbr-hybrid-crt放大
https://i.imgur.com/cz9DsrT.png

原始像素直接放大
https://i.imgur.com/VN16s72.png
用4xbr-hybrid-crt放大
https://i.imgur.com/ci91CEs.png

原始像素直接放大
https://i.imgur.com/gME5OYV.png
用4xbr-hybrid-crt放大 日文字補得不太好看 感覺已經是極限了
HP/MP有些分不太清楚 蠟燭台補得不錯
https://i.imgur.com/bIhLCMN.png

原始像素直接放大
https://i.imgur.com/9RUQeFw.png
用4xbr-hybrid-crt放大
https://i.imgur.com/lSsJZv4.png

MD的夢幻模擬戰2
原始像素直接放大
https://i.imgur.com/nj0KJoc.png
用4xbr-hybrid-crt放大
https://i.imgur.com/WZFbqaO.png

原始像素直接放大
https://i.imgur.com/bkvTe1R.png
用4xbr-hybrid-crt放大 綠地上的小白點縮小快要看不到了
https://i.imgur.com/sN5dNuQ.png

PS的夢幻模擬戰1+2增值版
Pete的OpenGL2 Driver 預設會開啟Bilinear濾鏡 畫面非常模糊
https://i.imgur.com/l8dvKaY.png
gpuBladeSoft 2D顯示效果最好的plugin 原始像素直接放大
https://i.imgur.com/xyMKI3W.png
用4xbr-hybrid-crt放大
https://i.imgur.com/3rzHC3J.png

總結
優點:減少畫面的顆粒感,平滑曲線,
和其他算法相比保留較多的細節,較銳利
缺點:畫面會有一條一條的暗線,造成總亮度下降,色彩飽和度下降,
有時線條失真的瑕疵仍然相當明顯

整體觀感:有變得比較好看XD


不過不是所有模擬器都支援自由載入cg語法的shader濾鏡,
像是SEGA的Fusion,GBA的mGBA、VBA-M,PSX的ePSXe等等,
都不支援自由套用cg、glsl、slang語法的濾鏡,
所以這些模擬器都無法使用4xbr-hybrid-crt來放大畫面。


我有找到兩個整合型的模擬器介面,RetroArch和BizHawk,
RetroArch有支援cg、glsl、slang三種語法的shader,
BizHawk則有支援cg的shader。

不過RetroArch的操作介面在桌機上我覺得不是很方便,
而TAS推出的BizHawk則功能非常強大,非常非常好用,
可以取代很多單獨的模擬器成為使用主力,
不過它有一個很嚴重的缺點是載入shader以後啟動的速度會變得很慢。


這兩個模擬器還有一個共同的問題,
即使暫停模擬器的運作,shader仍然會繼續畫面的運算,
所以GPU會一直維持在高負載的狀態。

有時候遊戲玩到一半,我會暫停模擬器開其他的視窗查攻略資料,
這時因為shader仍然在繼續運算,GPU的負擔非常重,
所以會拖累其他視窗的顯示效能,反應會變得相當遲鈍。
想要完全停止shader的運算,必須將模擬器的視窗最小化,
才能釋放GPU的資源,讓電腦的運作恢復正常。


因為我這人非常懶惰,
所以希望可以按一個手把上的按鈕就幫我做到視窗最小化的操作XD

我是利用JoyToKey這個軟體,將Windows視窗最小化的快速鍵:
「先按Alt+Space」「然後按下N」這兩個動作映射到手把的按鈕上,
這樣只要按一下按鈕就可以立刻最小化模擬器的視窗。

設定的方法是:
1. 打開JoyToKey,指定一個要用來做最小化的按鈕,
切換到設定的第三個項目
「Keyboard emulation: switch between multiple assignments」
「模擬鍵盤的按鍵輸入:在指定的不同按鍵之間切換」。

2. 將第一組 [Input1] 的輸入設為「Alt+Space」,
第二組 [Input2] 則是單獨一個「N」,Input3、4不需設定,
然後勾選下面的
「Execute from [Input1] to [Input4] in sequence at the specified duration」
「以指定的時間間隔依序送出 [Input1] 到 [Input4] 的按鍵」

後面的Input Hold Duration用預設的20msec即可。

這樣當按下手把上的指定按鈕,JoyToKey就會自動幫我送出:
「先按Alt+Space」隔20msec以後「再接著按下N」的組合鍵,
自動將執行中的模擬器視窗最小化。


雖然利用JoyToKey可以減少操作上的麻煩,
不過我還是想找找看有沒有其他整合型或者單獨的模擬器,
可以載入cg或glsl或slang語言的shader,
而且沒有「啟動速度慢,要最小化才能停止GPU運算」的問題。

請大家幫忙推薦。



shader濾鏡列表
https://emulation.miraheze.org/wiki/List_of_shaders_and_filters#CRT

cg shaders
https://github.com/libretro/common-shaders
glsl shaders
https://github.com/libretro/glsl-shaders
slang shaders
https://github.com/libretro/slang-shaders

cg/glsl/slang shaders整合包
http://www.emu-france.com/emulateurs/5-consoles/51-nintendo-super-nintendo/3677-cg-glsl-slang-shaders-pack/

RetroArch
https://www.retroarch.com/

BizHawk
http://tasvideos.org/BizHawk.html

--

All Comments

Eden avatar
By Eden
at 2018-09-09T05:24
推~不過我想有支援的你都找過了~
Emily avatar
By Emily
at 2018-09-12T05:25
我個人是追求顆粒感和掃描線~
Doris avatar
By Doris
at 2018-09-15T13:54
推嘗試 之前有試過一陣xbr 其實你找得也差不多了
Xanthe avatar
By Xanthe
at 2018-09-16T02:11
Sarah avatar
By Sarah
at 2018-09-17T20:51
推好多濾鏡 個人是最喜歡接近原版畫面的XD
Hedwig avatar
By Hedwig
at 2018-09-20T08:01
我覺得retroarch設計就是為了手把,用個xbox手把還蠻方便的
Kumar avatar
By Kumar
at 2018-09-20T09:21
RetroArch在最新的1.7.4版加入桌面UI,更適合電腦使用,試
Regina avatar
By Regina
at 2018-09-24T03:50
看吧。 開啟程式後按F5就可切換
Isabella avatar
By Isabella
at 2018-09-26T11:01
要是scan line能自由開關就更好了
Jessica avatar
By Jessica
at 2018-09-27T02:17
好文,也是喜歡xbr4x
Robert avatar
By Robert
at 2018-09-30T05:40
推比較圖文分享!

Polymega公開預購價 新增支援Saturn

Connor avatar
By Connor
at 2018-09-05T14:39
可以吃多種光碟遊戲的模擬器主機- Polymega , (PS1, Saturn, Neo Geo CD, PCE CD, MD CD) 公開預購價249USD,並開放預購(美國時間9/5 11:00 AM ), 不過官方網站受到DDoS攻擊已掛掉.(又掛了,時好時壞) https://www.polyme ...

《櫻桃小丸子》的作者走了,當年動畫裡

Hedy avatar
By Hedy
at 2018-09-04T17:21
《櫻桃小丸子》的作者走了,當年動畫裡的姐妹情,都藏在這個遊戲裡 https://www.techbang.com/posts/60820-the-author-of-the-cherry-ball-is-gone- and-the-sisters-in-the-animation-are-hidden-in- ...

PS對戰熱舞2的模擬器設定

Puput avatar
By Puput
at 2018-09-04T16:33
※ [本文轉錄自 Old-Games 看板 #1RZa5Skt ] 作者: gtman (生蠔兄) 看板: Old-Games 標題: [問題] PS對戰熱舞2的模擬器設定 時間: Tue Sep 4 16:24:57 2018 這款遊戲是Bust A Move 2(對戰熱舞2) 以前在PS上玩爽爽 現 ...

(PC88) X88 v1.5.3

Zenobia avatar
By Zenobia
at 2018-09-04T11:40
http://www.cug.net/~manuke/x88000.html ‧2018-08-10 : Ver. 1.5.3 -CRTCのテキストアトリビュート数変更対応。 (apaslothyさんご提供) -プリンタダイアログをモードレス化、リサイズ可能に。 -メニュー/IM処理時のキー ...

吞食天地一代心得

Edward Lewis avatar
By Edward Lewis
at 2018-09-04T11:36
看了版友hncomara的遊戲心得 我這幾天也採用不練功的玩法重玩了一次 突然覺得這樣好玩許多 我想CAPCOM原先設計應該就是這樣 由於不練功,所以精銳的劉備軍武將跟同期敵將相比,帶兵量就少了許多 例如遊戲初期,關張二人帶兵量只有100出頭 被打個幾下就從3位數降到2位數而攻擊力減半 即使武力再高,攻擊力 ...