概要
前回のタイマ同期から起算して指定ミリ秒ウェイトをかけます。
プロトタイプ
void AWait(int msec);
戻り値
なし
パラメータ
msec
前回のタイマ同期からの経過時間をミリ秒 (1/1000 秒) 単位で指定します。
解説
タイマ同期時刻とは、AWait 関数や Wait 関数、SyncFrame 関数が最後に終了した時刻を RPG ランタイム起動後のミリ秒単位でカウントしたものです (注、内部的にこれらの関数を呼び出す関数もあります)。AWait 関数は、最後のタイマ同期時刻から起算して指定したミリ秒時間が経過するまで待機します。このことから、描画処理などマシンによって要する時間が変化する処理を実行した後で AWait 関数を実行すれば、処理に要した時間がウェイト時間より長くない限り、どのマシンでも一定の間隔を保つことができます。AWait 関数は、Windows が提供する「精度が悪いことで有名な」タイマではなく、CPU 内部の高分解能タイマを使用して時間を計測しますので、精度はシステムのタイムスライス時間に依存します。実質的には、1 ミリ秒単位の精度はほぼ確実と思われます。なお、Pentium 以前の古い CPU では高分解能タイマが使用できない場合があるため、精度が悪化しますが、そもそもそれほど古い CPU では十分なパフォーマンスが得られないと思われます。なお、フレーム同期を取るためには一般的には SyncFrame 関数を使用します。