2022年6月25日の日記の1番目の記事へのコメント
■ユニバーサル遅延測定器
試しにCPS3をRetroTINK-5X経由で映してみました。Frame Lockでもバッチリ出ますね。
せっかくなので、ユニバーサル遅延測定器(のプロトタイプ)を使ってFramemeisterと遅延を比較してみました。
まずはユニバーサル遅延測定器から出ている線に、基板のボタンとGNDの端子をそれぞれ接続します。
次にスマホのカメラで、画面とユニバーサル遅延測定器本体のLEDが同時に画面内に収まるようにして、スローモーション撮影をします。本当はここでさらにノートPCも持ってきて、専用ツールを動かし、これも合わせて画面内に映るようにしたりするんですが、今回は簡易的にスマホのみで完結する形にしました。
Pixel 3 XLとかだと、スローモーション撮影は1/8 モードで 240FPSになるようです。なので1コマあたり 4.17msecということになります。これで撮影した動画を、コマ送りができる再生ソフトで再生させて、LEDが点灯してから(すなわちボタンが電気的に押された状態になってから)画面上に結果が反映されるまで(たとえば絵が動いたりするまで)に何コマかかったかを数えます(動画が30FPSで認識されているなら1コマ0.033秒として扱われるので、LEDが点灯したフレームの時刻と、画面が変化したフレームの時刻を記録して、その差を0.033で割っても良いかと)。あとはそれを4で割った数が遅延フレーム数になります。
ちなみに、コマ送りツールにはSlow Movie Playerというのを用いました。Androidでいくつか試した中では、これが一番シンプルで、必要な機能が揃っていました(何かをすると、コマ戻しのボタンが効かなくなる不具合もあったりしましたが)。
で、比較した結果ですが、(サンプル数はかなり少ないですが)RetroTINK-5Xの方が、Framemeisterよりも平均して5コマくらい少ない状態でした。なので、1フレームくらい RetroTINK-5Xの方が速いってことになりますね。RetroTINK-5X、噂通りの性能ですな。
一方で、測定のたびにかなり値がぶれるのが困ったところですね。ボタンを押しても、それが検出されるのがVSYNC割り込みのタイミングだから、それだけでも最大16msecくらいブレるってことなんでしょうけど。基板から出ている同期信号のタイミングも別LEDで表示できるようにすると(例えば奇数・偶数でオンオフさせるなど)より正確に数えられるようになるかな。
2022年6月25日の日記の1番目の記事へのコメント
[コメントを書く]