バリアブルレールの影響(01/05/14)
バリアブルレールは便利な機能ですが、多用すると処理が重くなることが知られています。
ではそれはどの程度の影響があるものなのでしょうか。
今回は、Tatsuoさんからの提案によりバリアブルレールの影響について調べてみました。
例によって測定コースを用意し、使用するバリアブルレールの数によって
ビュワーのフレームレートにどの程度違いが出るのかを測定しました。
(7000mm * 7000mm 総部品点数1006 ファイルサイズ1074KB)
128mmの直線レール44本をつないだ直線コースを21コース作成し
1コースのみ離して配置、残り20コースはかためて配置。
使用部品の内訳は、IS128またはIS000:924本(1コースあたり44本)
IS256:21本、エンドレールPC:21本、樹木:38本、車両:2両
測定方法
・上記レイアウト上で103系(クハ103)1両を走らせ、
運転席視点で走行したときの最高フレームレートを測定。
・同一レイアウト上で部品数は変わらないように、使用するバリアブルレールの
割合のみを変えていき、フレームレートの違いを調べる。
・表示するレールの量による影響の違いも確かめるため、ビュワーでの表示が
自車が走行するレールのみの場合(Aパターン)と周りに沢山の
(バリアブル)レールがある場合(Bパターン)について測定する。
 |  |
Aパターン | Bパターン |
環境設定
・DX7版ビュワー使用
・建物にフィルター適用
・車両にフィルター適用
・地形を高速表示
・サウンドあり
・表示:低速
・ウインドウ表示(1024*768)
フレームレート測定結果
バリアブルレール 使用本数 | Aパターン fps | Bパターン fps |
| 32bitColor | 16bitColor | 32bitColor | 16bitColor |
| 0 | 40 | 48 | 27 | 32 |
| 43 | 41 | 47 | 27 | 31 |
| 86 | 40 | 45 | 27 | 30 |
| 129 | 39 | 44 | 26 | 30 |
| 172 | 39 | 41 | 25 | 29 |
| 258 | 38 | 40 | 24 | 27 |
| 344 | 36 | 36 | 23 | 26 |
| 430 | 33 | 33 | 21 | 23 |
| 516 | 32 | 32 | 20 | 22 |
| 602 | 28 | 31 | 19 | 22 |
| 688 | 27 | 27 | 18 | 20 |
| 763 | 26 | 27 | 17 | 20 |
| 774 | 26 | 26 | 17 | 19 |
| 817 | 24 | 26 | 16 | 19 |
| 860 | 24 | 26 | 16 | 19 |
マシン環境:P3-600E(110MHz*6)、Geforce2MX(32MB)、256MB
モニター画面は1600*1200、リフレッシュレート70Hz
注:Bパターンについては、バリアブルレール430本使用のコースで、
周りの線路にバリアブルレールを集めた時と通常レールを集めた時で
フレームレートに違いが出るか試してみましたが、特に違いは
ありませんでした。つまり表示に関してはバリアブルも通常レールも
処理の重さに変わりないということになります。
この結果からわかるように確かにバリアブルレールは処理を重たくさせ、
その影響はビュワー上に見えるかどうかにかかわらず、レイアウト上に
存在するだけで速度低下を招いていることが分かります。
また、バリアブルレールの使用本数が増えるにつれ、その影響の度合いも
増えていきます。
ただし、実際上その影響はどうかというと、上の結果をみる限り少しくらい
バリアブルレールが混じっていたとしても問題はなさそうです。
想像するに、通常のレールに比べればバリアブルレールが速度低下の原因と
なることは間違いないですが、(実際のレイアウトでは当然存在する)
他のレールやストラクチャーの表示処理の方がそれ以上に重たいために、
結果としてバリアブルレールの影響が目立たなくなるのではないでしょうか。
もちろん、この測定では線路の違いによる影響を確かめるためレイアウトは
線路ばかりで、他のストラクチャーや地形を省いていますので、通常の
レイアウトではもう少し違った結果にもなるでしょうし、CPUやビデオの違い
といったマシン環境によって影響の度合いが異なることも十分あり得ますが、
試しに拙作のレイアウト「めがねループ」の20ケ所をバリアブルレールに
交換して確かめたところでは、列車やポイントなど14ヶ所でのフレームレートに
交換前との違いは認められませんでした。
以上のことから現時点での結論は
”少しくらいバリアブルレールを使ってもビュワーは遅くならない”
枕木の間隔が不揃いになるという弱点があるため、むやみに使うのは
見栄えの点で控えた方が良いと思いますが、必要な場所に最小限使用する分には
速度的な面ではそれほど目くじら立てなくても良さそうです。
ところで、16bitColorと32bitColorでのフレームレートの変化の仕方には
なかなか特徴的な違いが現れていて面白いですね。