精華區beta Emulator 關於我們 聯絡資訊
: 這兩個模擬器還有一個共同的問題, : 即使暫停模擬器的運作,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 不然系統會找不到要執行的檔案。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.219.36.76 ※ 文章網址: https://www.ptt.cc/bbs/Emulator/M.1537882522.A.3A9.html
srwcc: 推 09/25 21:41
NSRC: ... 09/26 01:49
protect6090: 推個 09/26 12:54
conpo: 感謝分享 09/27 12:02