前にも少し書いたのですが、先月家のBMS環境をグレードアップさせました。
家庭用環境の一番の悩みの種が、ACとの環境の差だと思います。少しACから離れて感覚が鈍ると、画面やコントローラなどの差が原因で、家庭用でできるはずのことがACでできないという問題に苦しみがちです。それをできるだけ小さくするために大事なのが、家庭用環境をなるべくACに近づけるということです。
私はACだとずっとライトニング筐体でプレーしているので、あの120Hzのヌルヌルした画面を自分の家で再現したいと思いました。そのために必要なことについて、パソコンに詳しくない人間なりに調べた結果を書き残しておこうと思います。
fpsを決める要素
- アプリケーション:画像を1秒間に何枚出力するか
- グラフィックボード:アプリが出力した画像を1秒間に何回モニタに送信できるか
- モニタ:グラボから受け取った信号を1秒間に何回ディスプレイに描画できるか
1〜3のうち一番小さいものが実際に表示できるfpsです。
アプリが出力できる最大fpsで表示したいのですが、グラボやモニタの性能が足りないとそれらがボトルネックになるという関係です。
1. アプリケーション
beatorajaの設定画面で最大fpsを選択できます。
デフォルトだと確か240になっています。実際に表示できないコマ数を描写しても仕方ないと思い一度120に下げたのですが、そうするとなぜか画面がカクつくようになり、240に戻しました。理由は分からないのですが、ハード側が微妙に120Hzに達していないのでフレームが飛んだりするのかなと勝手に想像しています。
2. グラフィックボード
そもそも「グラボ」という言葉の意味がよく分かっていなかったのですが、画像処理専門のCPU的なものらしいです。これの性能が高いと、より高精細な画像を滑らかに描画できるということです。
うちのBMS用のPCは中古のノートパソコンなのですが、調べたところ Intel HD Graphics 5500 という製品が搭載されているようでした。カタログスペックには以下のようにあります。
最大解像度 (HDMI 1.4) 2560x1600@60Hz
最大解像度 (DP) 3840x2160@60Hz
HDMIとDisplayPortという2種類の出力方法があり、DisplayPortで接続した方がより高精細な画像が表示できるようです。ただ私のPCにはHDMIのポートしかなかったので、HDMIしか選択肢がありませんでした。
私はこのグラフィックボードが1920x1080(Full HD)を120Hzで表示できるかを確認したかったのですが、上のスペックはその基準では書いてくれていません。縦横に1.3倍くらい大きい画面が基準になっています。
最大解像度 (HDMI 1.4) 2560x1600@60Hz
これは、2560x1600個の点を1秒間に60回描画できるという意味です。つまりこのグラフィックボードが1秒間に処理できる点の数は
(2560*1600) * 60Hz = 245,760,000 個
これをFull HDの画素数に引き直すと
245,760,000個 / (1920*1080) = 118.5Hz
単純計算で、Full HDならだいたい118Hzで描画できるということになります。厳密にはこんな単純な関係ではないのかもしれませんが、うちの環境では確かに体感120Hzが出せているので、大体合っていると思われます。
なお、HDMIにはバージョンがあり、Full HDの120Hz出力に対応しているのはHDMI1.3以降なので要注意です。PC・モニタそれぞれのポートと接続に使うHDMIケーブルが、すべて1.3以降のバージョンである必要があります。
3. モニタ
これはシンプルに120Hz表示できるものを購入するしかないです。
私はASUSのVG278というモデルを選びました。脚のところで高さ調節ができるので、座って作業する時と立ってBMSする時でモニタの位置を変えられて便利です*1。ブルーライトカット機能がついているのもありがたいです。
このようにして、めでたくbeatorajaの120fps環境ができました。
beatorajaは一般的に動作が重いと言われがちですが、うちのノートPC(25,000円で買ったジャンク品*2)でもちゃんと動いて120fps表示までできるので、スペック面のハードルはそこまで高くないのではないかと思います。