音ゲーとか

音ゲー以外も書きます

Infinitas用にメインモニターを切り替えたり解像度を変えるバッチを作る

経緯

最近IIDXの立ち環境を作った
普段使いのPC環境がローデスクでゲーミングPCは一台のみ
それで生じた問題として、鍵盤しばくためにいちいち設定からメインモニターに切り替えるのが面倒って思った
そこでバッチファイルを利用して自動的に切り替えられないか?って思ったのでやってみたらうまくいったので備忘録として残す

 

補足

p.eagate.573.jp

Infinitasは1280×720の120hzで動作するアプリ*1早くフルHD対応してくれ頼むから

大型アプデ後にゲーム側の設定で出力するモニターを切り替えできる機能が追加された

ただ、この方法でサブモニターに設定すると遅延が出るらしい

なのでどうしてもメインモニターに出力する必要がある

また、複数モニターを利用しているときのフルスクリーンの仕様としてフルスクリーンのゲームを動作中にフルスクリーンにしていないモニターをクリックすると最小化されるがこの際にモニターが自動的に元の設定に戻ってしまうというものである

詳しいことは省略するがこのゲームは起動時のロード中の画面で判定などを設定しているらしい*2 なのでロード中に解像度が変わり判定がズレる可能性があるらしい

 

環境

モニター

3枚ともDP接続

LG 27GN600-B

立ち環境モニター 27インチ

フルHDで144hz出るIPSパネルのモニター

HD画質で120hz出ることも確認済み

Infintasやるなら最低でもこのサイズは欲しい

 

LG 24GN600-B

ローデスク側モニター 23.8インチ

フルHDで144hz出るIPSパネルのモニター

立ち環境用に27インチモニターを固定したので新メインモニターとして最近購入

 

iiyama ProLite XB2474HS

ローデスク側モニター2 23.8インチ

ごく普通のVAモニター 3年前ぐらいに買ったもの

やっぱりIPSモニターの方が見やすくていいね

 

自作PC

Ryzen5 3600

RTX3060

B450M Steel Legend

Windows10 Home

オンボードサウンド*3

音ゲーにはオーバースペックだけど144hzゲーミングには十分な性能

 

事前準備

Infinitasのグラフィックの設定は

note.com

note.com

を参照

Radeonintel内臓グラフィック向けの設定は分からん

また、モニターは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:バッチファイルそのものを実行している状態からコマンドプロンクトの実行ファイルを動かしバッチファイルを指定して起動している状態になる