FreeBASIC マニュアルのトップに戻る

FreeBASIC Screensync

目次→描画ライブラリー参考→描画画面関連SCREENSYNC←オリジナル・サイト

SCREENSYNC 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

表示更新を、ハードウェアと同期させます。

構文:
declare function Screensync ( ) as long

用法:
result = Screensync

戻り値:
うまくいったときはゼロ、前もって描画モードが設定されていなかったなら非ゼロになります。

記述:
この GfxLib 命令文は、描画カードがフレームのトレースを終了し、新しいフレームを開始することを通知するまで、プログラムの実行を停止します。

プログラムが、このフレーム間の短い時間間隔を使って画像を再描画すると、ちらつきが大幅に減少します。
この用法で、Screensync は、ちらつきを改善する同等の方法(WAIT &H3DA, 8)しかなかった QB の回想です。
同期させることができるのは、描画の開始と2つのフレーム間の固定デッドタイムのみなので、経験的な方法です。
描画時間が非常に短い場合に、ちらつきを避けるために、時折使われます。

ちらつきを減らす目的以外では、Screensync は、単純に画像描画と画面フレーム追跡を同期させる方法としても使えます(Sleep 命令文と同様)。

Screensync が返すエラーコードは、次の行の Err を使って確認できます。Screensync の関数バージョンは、エラーコードを、直接 32ビット Long で返します。

QB 互換フォーム WAIT &H3DA, 8 を使うことは、推奨しません。

例:
'メイン繰返し
Do
 
  ' do user input
  ' calculate_a_frame
   
  ScreenSync
 
  ' draw_ a_ frame 
 
Loop Until Inkey <> ""



方言差:

QBからの違い:

参照:
描画画面関連に戻る
←リンク元に戻る プログラム開発関連に戻る
ページ歴史:2016-08-13 09:40:26
日本語翻訳:WATANABE Makoto、原文著作者:AntoniGual

ホームページのトップに戻る

表示-非営利-継承