5月 25

フレームレートの誤り

development, zaurus コメントは受け付けていません。

コンソール系(TVにつないで使うことを前提とした)ゲーム機のエミュではNTSC規格であれば60fpsが基準になっています。ゲーム機のCPUはクロック固定という前提でCPUで何命令実行したらHSYNC(画面の横1ライン)、HSYNCが何ラインでVSYNC(1画面全体)という感じで管理するものが大半です。 ポータブル機の場合にはこれに従う必要はないのですが準拠した作りになっているようです。 つまり、どのようなシーンでも16.666ms以内に1画面分の表示も含めたエミュレーション処理が実行できれば実機同等、これ以下で処理できれば早送りでも再現できるということになります。 「スキップ4で60fps出てるから実機並に動いてる」という感じの発言をよく見るのですが、固定でスキップしているエミュも多く見られ、スキップ4なら12fpsしか描画していないのに60fpsと表示するものもあります。 gpspもmanual-skipであれば固定的にskipするので、1の設定では常に30fps以下、2で20fps以下の描画しか実行しませんが、1で30fps描画できれば60fpsと表示しています。 今回auto-skipのロジックを組み込みましたが、skip数は最低描画数であり、60fps以上描画しないようなリミッターと、処理が遅れていいから最低これだけは描画するというロジックになっています。 fps表示もこれに従った表示に変えていますのでauto:4であれば13-60fps間はほぼ正確な値を指します。”1″キーがリミッターのトグルになっていますので外して常に60fps以上でていれば、そのソフトは実機以上に動いていることになります。

fpsが重要でないソフトも多く、20fps程度でもプレーに支障はないのですが、例えばスーパーロボット大戦OG2の戦闘デモでは1 or 数フレーム毎に表示/非表示を繰り返すことでアルファブレンド的な効果を出しています。描画スキップが多いと、苦労して作られたこの効果が見えませんw 実機でやれば苦労する必要はないのですが「zaurusを隠れ蓑にしたいおじさん」と「ゲームへの愛情がfpsへの拘りへ」が合体した執念だけでエミュに関わっています。

本家gPSP及びgp2x版作者への感謝の気持ちを持って楽しんでくだされば幸いです。

author by suhami 20:03:26
5月 25

pdaXrom 対応 gba emulator の gpSP0.9/SDL 第3版をリリースしました.

前回からの変更点は

  • ダイナミックリコンパイラ( 以下 dynarec )による更なる高速化
  • auto frame skip を snes9x/sdl より移植
  • fps の値が落ちると画面とサウンドの同期がうまく出来てなかった点を修正
  • その他

になります.古いバージョンの gpsp.cfg 削除後にお試し下さい.

今回の大きな変更点は高速化と音楽の同期です.サムさんがレビューされてますがクロックアップ時(624MHz)の体感は実機とほぼ変りません.サムさんは以前との比較で manual を選ばれてますが auto frame skip 時でも試した範囲では遅くて 30fps, ほぼ 50-60 fps 張り付きです.dynarec 効果抜群です.

auto ですが元々の gpSP の持ってる manual 時の fps 表示が結構怪しいらしく,今回 snes9x/sdl から auto frame skip のロジックを移植したとの事でして設定で auto を選べば正確な fps 表示が出来るとの事でした.

auto の数値ですけど snes9x のそれと一緒で 0=60 1=30 2=20 3=15 と 60 -下限の値を設定できます.一部の物以外,30fps 以下に落ちる事ないんでそんなおおきな値必要なさそうな肝しますが(汗 gui とフルキーから値は変更可能です.

そうそう,大事な事なんですが gpSP 起動時ですが必ずロムファイルと bios ファイルのあるディレクトリから起動して下さい.仕様となります.

タイトルのおまけですが QT ご利用の方にちょっとしたサプライズがあります.gpSP 配布ページのおまけのとこ覗いてみてください.

pdaXrom 使われてる方是非お試しを.長期のプロジェクトお疲れ様でした > suhami 氏

Technorati , ,

author by end. 10:14:46
5月 23

gpSP0.9/SDL 次版リリース間近

emulator, pdaXrom, zaurus コメントは受け付けていません。

久々の更新となりましたが次版 pdaXrom 用 gpSP0.9/SDL リリース間近となりました.ソース公開も同じようなタイミングを予定しております.

過去ログにもありましたが中の人は今迄こつこつとフルスクラッチで arm 用のダイナミックリコンパイラ(以下 dynarec )に取り組んでおりました.しかし最近になって gp2x 用の gpSPソースが公開され,そちらも同じように dynarec を利用しているとの事.それならとそれらを zaurus でも動作する用にコンバートしたそうです.

gp2x 版の gpSP は中の人とは同じ dynarec の仕組みでもアプローチが違うようです.以前よりテストプレイさせてもらってた中の人が作業されてた dynarec 版よりさらに速く動作しております.ロンよりショウコを見せてあげる論より証拠という事で,サムさんに事前の連絡なくバイナリ送らせていただきましたのでレビューの方お願いします.つかこれから発射します(ぉ

クロックアップ時ですが特殊な一部の物以外,もう実機感覚といってもおかしくない内容です.今配布させていただいてる物も十分速いのですがさらに数段上の速度となってます.

近日公開予定ですのでもちっとお待ち下さいませ.

Technorati , , ,

author by end. 20:01:21