Infinitas用にメインモニターを切り替えたり解像度を変えるバッチを作る
経緯
最近IIDXの立ち環境を作った
普段使いのPC環境がローデスクでゲーミングPCは一台のみ
それで生じた問題として、鍵盤しばくためにいちいち設定からメインモニターに切り替えるのが面倒って思った
そこでバッチファイルを利用して自動的に切り替えられないか?って思ったのでやってみたらうまくいったので備忘録として残す
補足
Infinitasは1280×720の120hzで動作するアプリ*1早くフルHD対応してくれ頼むから
大型アプデ後にゲーム側の設定で出力するモニターを切り替えできる機能が追加された
ただ、この方法でサブモニターに設定すると遅延が出るらしい
なのでどうしてもメインモニターに出力する必要がある
また、複数モニターを利用しているときのフルスクリーンの仕様としてフルスクリーンのゲームを動作中にフルスクリーンにしていないモニターをクリックすると最小化されるがこの際にモニターが自動的に元の設定に戻ってしまうというものである
詳しいことは省略するがこのゲームは起動時のロード中の画面で判定などを設定しているらしい*2 なのでロード中に解像度が変わり判定がズレる可能性があるらしい
環境
モニター
3枚ともDP接続
LG 27GN600-B
立ち環境モニター 27インチ
HD画質で120hz出ることも確認済み
Infintasやるなら最低でもこのサイズは欲しい
LG 24GN600-B
ローデスク側モニター 23.8インチ
立ち環境用に27インチモニターを固定したので新メインモニターとして最近購入
iiyama ProLite XB2474HS
ローデスク側モニター2 23.8インチ
ごく普通のVAモニター 3年前ぐらいに買ったもの
やっぱりIPSモニターの方が見やすくていいね
自作PC
Ryzen5 3600
RTX3060
B450M Steel Legend
Windows10 Home
音ゲーにはオーバースペックだけど144hzゲーミングには十分な性能
事前準備
Infinitasのグラフィックの設定は
INFINITASの設定ですが参考になれば良いと思うので書いておきます。あくまで自分の環境での話ですので。#INFINITAS #infinitas573 pic.twitter.com/Pms0CNdZ4y
— TAKA.S (@takas_kzn) 2020年8月6日
や
や
を参照
Radeonやintel内臓グラフィック向けの設定は分からん
また、モニターは1280×720の120hz出力ができることを前提
Cドライブ直にバッチファイルを格納するフォルダを作成し、
12noon.comをダウンロードし解凍、dc2.exeをコピペ
Display Changer IIについて
モニターの配置、解像度、リフレッシュレートなど色々な設定をxmlファイルで保存し、読み込むソフト
GUIは特になく基本はコマンドプロンクト上で実行する
- メインディスプレイの変更
- 解像度の変更
- リフレッシュレートの変更
をプレイするたびに変更するのが面倒なので普段の設定とInfinitas用の設定を保存しておきバッチファイルを実行する(=設定切り替えコマンドを入力する)ことですぐに変えられるようにする
モニター配置の設定
普段のモニター設定でdc2.exeを置いたディレクトリをコマンドプロンクト上で開き、
.\dc2.exe -create="def.xml"
と入力しEnter ファイル名は任意
こうすることでこのディレクトリ内にxmlファイルが生成される
次にデスクトップ画面を右クリックし、ディスプレイ設定を開く
Infinitasをプレイするモニターの設定を変える
- 解像度を1280×720
- ディスプレイの詳細設定から、リフレッシュレートを120hz
- これをメインディスプレイにするのチェックを入れる
この3点を設定
もう一度同じコマンドプロンプトで
.\dc2.exe -create="inf.xml"
と入力しEnter ファイル名は任意
こうすることで2つのxmlファイルが出力された
バッチファイルの作成
C:\Infinitas_batというディレクトリで作業します
このディレクトリ内に
infstart.bat
という新規ファイルを作成
@echo off
C:\Infinitas_bat\dc2.exe -configure="C:\Infinitas_bat\inf.xml"
start https://p.eagate.573.jp/game/infinitas/2/api/login/login.html
と入力し保存
同じように
infend.bat
という新規ファイルを作成
@echo off
C:\Infinitas_bat\dc2.exe -configure="C:\Infinitas_bat\def.xml"
と入力し保存
infstart.batを実行すると自動的にinfnitas用のモニター設定になりinfinitasの起動ページが開く
infend.batを実行すると自動的に元のモニター設定に戻る
タスクバーワンクリックで起動するようにする
これでバッチファイルの準備はできた
ただ、このままだとタスクバーに固定ができず、かといってファイルをダブルクリックで実行するのは面倒
その上アイコンがバッチファイルのアイコンになるが、これが複数あるとアイコンが全部同じなので扱いづらい
なのでタスクバーに置くことができるように色々いじる
ついでにアイコンも変える
まずはバッチファイルをコピーしショートカットの貼り付けを行いショートカットを作成する
次にショートカットのプロパティを開きリンク先の頭に
C:\Windows\System32\cmd.exe /c
と追記する
適用すると
このようにアイコンがコマンドプロンクトのものになる
アイコンの変更は同じくプロパティからアイコンの変更をクリックし変更する
このようにするとタスクバーに表示ができる*4
あとがき
これでワンクリックでInfinitas用のモニター設定に変えることができるようになった
可能な限りInfintasが動いてる時は常駐プロセスを減らしたいので終了時は手動で戻す用のバッチファイルを動かすことにしているが終了を検知して自動的に設定を元に戻すバッチファイルを作ることも可能だがこの解説は次の記事で更新します(いつ更新するかは未定)
何かあったらコメントにて
*1:ACのシステムを流用しているため?LMも拡大表示しているだけで実際はHD画質で動作している
*2:多分アケも同じ なのでロードがクソ長
*3:オーディオインターフェースから出力すると遅延が出る
*4:バッチファイルそのものを実行している状態からコマンドプロンクトの実行ファイルを動かしバッチファイルを指定して起動している状態になる