垂直同期

パソコンの表示は、1秒間に約60回の速さで、グラフィックコントローラから1画面分の画像信号が出されています。この速さは、モノクロTVの頃からほとんど変わっておらず、(TVの場合、厳密には、1秒間29.97枚の画像を、1ライン飛ばしに2回に分けて表示しています。この方法を、インターレースと言ってパソコンとは異なります)ちらつきを感じない最低の速さになっています。動画の場合は、1秒に60回変化させようとすると、1画面の表示データを作る時間が16.6msしかないので、1秒に30回として、1画面作るのに33msにしている場合もあります。

パソコンの画面を撮り込む場合、画面の変わり目を撮ってしまうことがあります。実際には、画面を撮ってるのではなく、表示用のメモリを読み出しているだけですが、インターバルタイマだけでは正確な時間を設定できないので、グラフィックコントローラの動作状況を読み出して、ちょうど画面内容が変わって表示を始めた時を見計らって撮り込むようにすると、変わり目を避けることができます。
ところが、ウインドウズが出始めたころ(Windows95)、グラフィックコントローラの動作状況を読み出すにはグラフィックコントローラが異なると、ソフトも変更しないと対応できないという状況だったので、統一した方法が作られました。それが、Windowsでは標準となっている、DirectXです。PC用ゲームの多くがこれで作られています。なぜゲームでこれが使われるのかというと、表示画面の変わり目にちょうど同期させて、元画像を作ることができるからです。
DGLOGでは、別に表示させるわけではないので、DirectXのごく一部の機能を使って、画面の変わり目を過ぎたか否かを検出できるような機能を追加しました。それが、以下の”Vsync”チェックボタンと、その下の数値です。デフォルトでは50にしていますが、変更が可能です。ただ、11以上、画面の縦ピクセル数x90%−10までという範囲です。

ほとんどの場合、このままでよいようですが、Vsync にチェックを入れると、DGLOGの処理に、CPU負担が多くなり、ゲームの画面更新の妨げになる場合があるので、機能を外せるようにしました。特にハイパースレッド機能無しのPentium4の場合、グラフィックボードが非力だと、ゲーム画面のカクカク動作を助長するようです。
また、撮り込み画像の明るさ、色などが異常となる場合、(TigerWoods PGA TOUR 08など)このVsinc機能でも正常にならない場合が多いようです。これは、画面作成に複数のレイヤーの合成にしている場合に起こるようです。

ホームに戻る

inserted by FC2 system