Vectrexで「無念えぇぇぇぇん!!」を動かしたとき

広告
広告1




エミュには無いフリッカー問題

コメントを頂いた中で実機で試した際、「無念」はフリッカーが酷いと指摘がありました。
(自分には実機で動作確認をする環境がないのでこういった指摘は大変参考になります)
ただ推測するしかないのですがやはり「無念」のFPSに問題があると考えられます。

vectrex関連の動画では左下にparaJVEでのFPSを表示するモードにしています。
「無念」はfps22とかなり遅い部類になりますがこれはほぼ茜ちゃんを表示するコストです。

paraJVEで動作させるだけであれば動作がスローになるだけなのですが実機で動かすと
フリッカー(画面のちらつき)問題が出てきます。

これは電子ビームがブラウン管の表面で発光して消えるまでの時間に次のフレームのビームが
間に合わずに起こる現象であると考えられます。
Vectrexのモニターは50hzという情報を見たことがありますので本来であればfps50で動かすのが
最適であるのですがfps22となると半分以下なのでフリッカーが酷いのではないかと思います。

コメントの方は同時に「STAR TREK」のほうも実行してみてくれたようでこちらはほぼFPS30位で
あまりフリッカーは酷くはないとのことですがやはり起こってはいるようです。

とはいうもののVectrexはラインを引くとその終了をCPUで待たないと次のラインが引けない
という欠点があり、これは描画スケール値が大きいほど待つ時間が長くなる特徴があります。
また描画できる基本の長さというものがあり数値として8bit(-128から127)の値でxとyの移動量
指定します。あまり長いラインは引けないので描画スケール値が小さいと何度もリクエストが必要に
なりそれが逆にオーバーヘッドになります。なかなかバランスが難しいマシンなのです。

また、デフォルトで割り込みがつながってないので基本BGMプログラムはメインループから呼び出しになります。
これが何を意味するかというと処理落ち=曲がスローになるということです。
となると曲のテンポが変わらないようメインループは処理が一番遅いときに合わせられることになります。
そうするとフリッカー問題が首をもたげてくるわけです。

最新作の「ACE GUN」はfps30で組んでいますが実機ではフリッカーが起こっているんでしょうね。

広告
広告1




シェアする

  • このエントリーをはてなブックマークに追加

フォローする

広告
広告1