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

By Donna
at 2018-09-25T21:35
at 2018-09-25T21:35
Table of Contents
: 這兩個模擬器還有一個共同的問題,
: 即使暫停模擬器的運作,shader仍然會繼續畫面的運算,
: 所以GPU會一直維持在高負載的狀態。
: 有時候遊戲玩到一半,我會暫停模擬器開其他的視窗查攻略資料,
: 這時因為shader仍然在繼續運算,GPU的負擔非常重,
: 所以會拖累其他視窗的顯示效能,反應會變得相當遲鈍。
有些模擬器或遊戲不提供暫停的功能,或者是暫停時仍然繼續吃系統資源,
想了一個方法,把正在執行中的模擬器或遊戲的程序從系統中完全暫停,
等要玩的時候再恢復,就不會在暫停的時候繼續吃系統資源了。
暫停程序可以用微軟的ProcessExplorer,這是一個圖形界面的程式,
所以要暫停程式需要切換視窗加滑鼠點擊,使用上就不是非常便利,
這裡推薦用微軟的另一個命令列工具PSTools
https://docs.microsoft.com/zh-tw/sysinternals/downloads/pstools
下載後解壓縮,執行pssuspend/pssuspend64就可以暫停運行中的程序。
例如我們要暫停BizHawk的EmuHawk.exe運作
就在命令列輸入
pssuspend64.exe" "EmuHawk"
要恢復運行
pssuspend64.exe" -r "EmuHawk"
把要執行的命令在文字編輯器中寫好存成.bat批次檔,
我們加一個判斷,先偵測程序是否有在運行,
如果在運行中,將程序暫停;
如果程序已經在暫停中,則將程序恢復運行。
@echo off
:: 用tasklist指令尋找EmuHawk.exe是否運行中
tasklist /nh /fi "ImageName eq EmuHawk.exe" /fi "STATUS eq RUNNING" | find /I /N "EmuHawk.exe" >nul
:: 如果運行中,則將程序暫停,如果暫停中,則將程序恢復
if "%ERRORLEVEL%"=="0" ("pssuspend64.exe" -nobanner "EmuHawk") else ("pssuspend64.exe" -nobanner -r "EmuHawk")
點擊bat的時候會出現cmd視窗一閃而過,如果不希望出現閃退的視窗,
可以用vbs執行cmd的指令,或者另外寫一個
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "批次檔的名字.bat",0
存成.vbs和.bat放在一起,點擊執行這個vbs執行就不會出現cmd視窗。
然後下載JoyToKey的最新版6.1.1
https://joytokey.net/en/download
從6.1版開始JoyToKey支援按一個手把的按鈕來啟動執行外部的程式。
選一個遊戲中不會用到,又很方便按的按鈕作為暫停按鈕,
例如右上的扳機,指定扳機開啟剛剛寫好的.vbs,
這樣當按下這個按鈕就會自動暫停或恢復EmuHawk.exe。
注意以上的批次檔或vbs的指令需要指定檔案所在的路徑,
例如你的pssuspend64.exe放在 C:\PSTools 底下的話,
就要寫"C:\PSTools\pssuspend64.exe"。
vbs的批次檔也是
ws.Run "C:\xxxx\批次檔的名字.bat",0
不然系統會找不到要執行的檔案。
--
: 即使暫停模擬器的運作,shader仍然會繼續畫面的運算,
: 所以GPU會一直維持在高負載的狀態。
: 有時候遊戲玩到一半,我會暫停模擬器開其他的視窗查攻略資料,
: 這時因為shader仍然在繼續運算,GPU的負擔非常重,
: 所以會拖累其他視窗的顯示效能,反應會變得相當遲鈍。
有些模擬器或遊戲不提供暫停的功能,或者是暫停時仍然繼續吃系統資源,
想了一個方法,把正在執行中的模擬器或遊戲的程序從系統中完全暫停,
等要玩的時候再恢復,就不會在暫停的時候繼續吃系統資源了。
暫停程序可以用微軟的ProcessExplorer,這是一個圖形界面的程式,
所以要暫停程式需要切換視窗加滑鼠點擊,使用上就不是非常便利,
這裡推薦用微軟的另一個命令列工具PSTools
https://docs.microsoft.com/zh-tw/sysinternals/downloads/pstools
下載後解壓縮,執行pssuspend/pssuspend64就可以暫停運行中的程序。
例如我們要暫停BizHawk的EmuHawk.exe運作
就在命令列輸入
pssuspend64.exe" "EmuHawk"
要恢復運行
pssuspend64.exe" -r "EmuHawk"
把要執行的命令在文字編輯器中寫好存成.bat批次檔,
我們加一個判斷,先偵測程序是否有在運行,
如果在運行中,將程序暫停;
如果程序已經在暫停中,則將程序恢復運行。
@echo off
:: 用tasklist指令尋找EmuHawk.exe是否運行中
tasklist /nh /fi "ImageName eq EmuHawk.exe" /fi "STATUS eq RUNNING" | find /I /N "EmuHawk.exe" >nul
:: 如果運行中,則將程序暫停,如果暫停中,則將程序恢復
if "%ERRORLEVEL%"=="0" ("pssuspend64.exe" -nobanner "EmuHawk") else ("pssuspend64.exe" -nobanner -r "EmuHawk")
點擊bat的時候會出現cmd視窗一閃而過,如果不希望出現閃退的視窗,
可以用vbs執行cmd的指令,或者另外寫一個
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "批次檔的名字.bat",0
存成.vbs和.bat放在一起,點擊執行這個vbs執行就不會出現cmd視窗。
然後下載JoyToKey的最新版6.1.1
https://joytokey.net/en/download
從6.1版開始JoyToKey支援按一個手把的按鈕來啟動執行外部的程式。
選一個遊戲中不會用到,又很方便按的按鈕作為暫停按鈕,
例如右上的扳機,指定扳機開啟剛剛寫好的.vbs,
這樣當按下這個按鈕就會自動暫停或恢復EmuHawk.exe。
注意以上的批次檔或vbs的指令需要指定檔案所在的路徑,
例如你的pssuspend64.exe放在 C:\PSTools 底下的話,
就要寫"C:\PSTools\pssuspend64.exe"。
vbs的批次檔也是
ws.Run "C:\xxxx\批次檔的名字.bat",0
不然系統會找不到要執行的檔案。
--
Tags:
模擬器
All Comments

By Xanthe
at 2018-09-29T23:59
at 2018-09-29T23:59

By Damian
at 2018-10-02T22:11
at 2018-10-02T22:11

By Eden
at 2018-10-04T18:42
at 2018-10-04T18:42

By Tracy
at 2018-10-09T03:30
at 2018-10-09T03:30
Related Posts
紅白機和超級任天堂彩繪痛車

By William
at 2018-09-25T09:44
at 2018-09-25T09:44
Android手機用模擬器玩遊戲

By Edwina
at 2018-09-24T21:14
at 2018-09-24T21:14
ppsspp 1.6.3 金手指問題

By Kyle
at 2018-09-22T13:52
at 2018-09-22T13:52
(front-end) GameEx Evolution v1.00

By Anthony
at 2018-09-21T15:27
at 2018-09-21T15:27
關於用SSF玩夢幻模擬戰3無法遊玩

By Hedda
at 2018-09-19T20:34
at 2018-09-19T20:34