掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
メッセージループを使うには? (ID:14830)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
メッセージループは、プロジェクトのソースに、1行で書かれていますよ。 Application.Run; がそれです。 実際は、 repeat { メッセージ処理 } until Terminated; というようになっていて、終了するまでループしながら送られてきたメッセージを処理しています。 これがメッセージループです。 「60fpsを実装するには・・・」という質問があるということは、メッセージループではなく、ウェイト処理ですよね。 ある1処理を、毎秒n回、というように定期的に処理したい場合、次の処理に移るまで待つ必要があります。 このときの書き方は while 次の処理の時間になっていない begin Application.ProcessMessages; end; や、 while 次の処理の時間になっていない begin Sleep(待つミリ秒); end; というような形になります。 60fpsを維持する方法は、垂直帰線割り込みを利用するのが常套手段です。 DirectXを使うと、割り込み待ちができたと思います。 それ以外だとポートを直接叩く方法ですが https://www.petitmonte.com/bbs/answers?question_id=2609 こちらを参考にしてください。 DirectXを使わずに、画面のちらつきも考えないのなら、APIの timeGetTime QueryPerformanceCounter などを使う方法もあります。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.