/vrmnx-benchmark

鉄道模型シミュレーターNX ベンチマーク

Primary LanguagePythonMIT LicenseMIT

VRMNXベンチマーク

概要

「VRMNXベンチマーク」は「鉄道模型シミュレーターNX」(VRMNX)で動作する非公式ベンチマークツールです。
フレームイベントをカウントすることで描画速度(fps)を計測し、測定結果をHTMLファイルで出力します。
サンプルレイアウトは無料のスターターキットで動作します。

img

使い方

「Code」→「Download ZIP」からダウンロードしたzipファイルを任意のフォルダに展開してください。
動作に必要なファイルは以下の通りです。

vrmnxbenchmark.bat           # DirextX診断ツールファイル出力バッチ
vrmnxbenchmark.vrmnx         # サンプルレイアウト
vrmnxbenchmark.py            # ベンチマークモジュール
vrmnxbenchmark_template.html # ベンチマーク測定結果出力テンプレート

レイアウターウィンドウを最大にしてサンプルレイアウトを起動します。
「運転」を押すと自動的に測定が開始されます。
レイアウトファイルと同じフォルダに「dxdiag.txt」ファイルがない場合、「vrmnxbenchmark.bat」が実行されてファイルを作成します。
ファイルが既にある場合はスキップされます。ファイル作成時から実行環境が更新された場合はファイルを削除して「dxdiag.txt」ファイルを再生成してください。
ImGuiウィンドウには測定までの残り時間とスコア情報が表示されます。

img

測定完了までは何も操作しないでください。
測定途中でビュワーを終了した場合、結果は表示されません。
測定が完了するとレイアウトファイルと同じフォルダに測定結果ファイル「vrmnxbenchmark_yyyymmdd_hhmm.html」が作成され、デフォルトブラウザで自動的に開きます。
測定が完了したら「ESC」キーを押してビュワーを終了します。
継続してレイアウトで遊ぶこともできます。

測定結果の見方

img

項目 説明
ランク ベンチマークを実行したレイアウトの快適さを平均fpsからD~SSランクで示します。Aランク以上が快適に遊べる目安です。
総合スコア フレームイベントの総合回数です。
平均fps 総合スコアを実行時間(標準は60秒)で割った値です。
最大fps 1秒間で最も多い描画回数です。
最小fps 1秒間で最も少ない描画回数です。
表示解像度 VRMNXのウィンドウサイズです。
総合スコアに大きく影響するため、同じサイズで比較してください。
測定日時 ファイル出力した日時を記録します。
項目 説明
OS OSのバージョンを示します。Windows10 以上が必要です。
CPU CPUを示します。2CPUs(コア)以上、2.0GHz以上が目安です。
メインメモリ メモリ容量を示します。8GB(8192MB)以上が目安です。
展開できるレイアウトサイズやパーツ数に影響します。
GPU ビデオカードのチップ名を示します。
VRAM ビデオメモリを示します。2GB(2048MB)以上が目安です。
展開できるレイアウトサイズやパーツ数に影響します。
ディスプレイ解像度 数字が大きいほど細かな描画が可能です。数字が大きいほどGPU性能が必要です。
DirextX Version DirextXの実行バージョンを示します。「DirextX 12」以上が必要です。

注意事項

  • 「鉄道模型シミュレーターNX ベンチマーク」のスコアはツールが実行されたレイアウトに対するスコアです。「鉄道模型シミュレーターNX」のベンチマークや性能指標を示すものではありません。
  • 表示解像度によりスコアが大きく異なります。正確に測定する場合は実際のウィンドウサイズで実行してください。
  • ベンチマーク実行時は「レイアウターツール」→「ビュー」→「フレーム同期」のチェックを外してください。「フレーム同期」のチェックを外すと上限制限が解除されます。通常時にVRMNXで遊ぶ際は余計な演算を行わないように「フレーム同期」のチェックを入れることを推奨します。

img

FAQ

  • ベンチマーク結果が出力されません
    • Avast等のセキュリティソフトでブロックされる現象を確認しています。一時的にセキュリティソフトを無効化した上でベンチマークを実行してください。

レイアウトへの組み込み方法

「VRMNXベンチマーク」は任意のレイアウトに組み込むことができます。
組み込む対象のレイアウトファイルと同じフォルダ階層に「vrmnxbenchmark.py」ファイルと「vrmnxbenchmark_template.html」ファイルを配置してください。

フォルダ構成例:

C:\VRMNX
├ vrmnxbenchmark.bat
├ vrmnxbenchmark.py
├ vrmnxbenchmark_template.html
└ VRMNXレイアウトファイル.vrmnx

対象レイアウトのレイアウトスクリプトに以下の★内容を追記します。

#LAYOUT
import vrmapi
import vrmnxbenchmark # ★インポート

def vrmevent(obj,ev,param):
    vrmnxbenchmark.vrmevent(obj,ev,param) # ★メイン処理
    if ev == 'init':
        dummy = 1
    elif ev == 'broadcast':
        dummy = 1
    elif ev == 'timer':
        dummy = 1
    elif ev == 'time':
        dummy = 1
    elif ev == 'after':
        dummy = 1
    elif ev == 'frame':
        dummy = 1
    elif ev == 'keydown':
        dummy = 1

モジュール読み込みに成功するとビュワー起動時のスクリプトログに以下が表示されます。

import VRMNXベンチマーク Ver.x.x