最近VR機器を使うことが増えてきており、マルチモニター環境においてSteamVRやVRChat等のVRゲームを起動したときに、モニターの接続を解除してあげるとFPSが自環境では5-10FPSの向上が見られたので備忘録。
Table of Contents multimonitortoolの準備 multimonitortoolでモニターIDの確認 batファイルの作成 autohotkeyの構築 参考 multimonitortool をダウンロード。結構下のほうにあるのでCtrl+FでDownloadと検索したほうが幸せかもしれない。Languageにある日本語化ファイルもダウンロードしておく。
起動して、モニターidを取得する。
モニターIDをメモしておく
batファイルの作成 off時のbat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 @echo  off setlocal :: monitor IDs set  "MAIN_MONITOR_ID=MONITOR\*******\{*******-****-****-****-************}\****"set  "SUB1_MONITOR_ID=MONITOR\*******\{*******-****-****-****-************}\****"set  "SUB2_MONITOR_ID=MONITOR\*******\{*******-****-****-****-************}\****":: MultiMonitorToolで切断 "MultiMonitorTool.exe" /disable "%SUB1_MONITOR_ID% " "MultiMonitorTool.exe" /disable "%SUB2_MONITOR_ID% " :: 自動的に閉じる timeout /t 3  >nul  
on時のbat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 @echo  off setlocal :: Define monitor IDs set  "MAIN_MONITOR_ID=MONITOR\*******\{*******-****-****-****-************}\****"set  "SUB1_MONITOR_ID=MONITOR\*******\{*******-****-****-****-************}\****"set  "SUB2_MONITOR_ID=MONITOR\*******\{*******-****-****-****-************}\****":: MultiMonitorToolで切断 "MultiMonitorTool.exe" /enable "%SUB1_MONITOR_ID% " "MultiMonitorTool.exe" /enable "%SUB2_MONITOR_ID% " :: 自動的に閉じる timeout /t 3  >nul  
まずset MAIN_MONITOR_ID、set SUB1_MONITOR_ID、set SUB2_MONITOR_IDでモニターIDを定義、私はトリプル環境のため三つ定義してあるため、各々そこは変更していただきたい。
"MultiMonitorTool.exe"はMultiMonitorTool.exeが配置されている絶対パス(エクスプローラーでexeを指定し右クリック -> パスのコピーで取得)を指定
これでとりあえず接続/切断は使えるはず。
autohotkeyの構築 autohotkey を使ってSteamVRvrserver.exeが起動したときに切断、終了時に接続というようなことをする。ダウンロードしてインストールしておく。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #Persistent SetTimer,  CheckSteamVR, 1000 steamVRStarted := false  return CheckSteamVR: Process,  Exist, vrserver.exeif (ErrorLevel  != 0  and  !steamVRStarted) {          Run,  "off.bat"     steamVRStarted := true  } else if (ErrorLevel  == 0  and  steamVRStarted) {          Run,  "on.bat"     steamVRStarted := false  } return 
off.batとon.batは先ほどのパスをコピーから取得する
先ほど書いたahkファイルを開くと
 
といわれるのではいを選択、now installみたいなウィンドウが出てきたらok。
だいぶ駆け足気味で書いているので、わかんなかったら遠慮なくTwitterのDMまでぜひ
参考 WSL2でマルチディスプレイの接続/切断をCLIで行う