ゲーム作りのテストとして、
アニメーションの繰り返し処理をタイマーを使った場合とマルチスレッドを使った場合の
描写への影響の比較をしました。
マルチスレッドではちらつきが出ないのにもかかわらず、
シングルスレッドでやった時はちらつきが出てきます。
何故このような事が起こるのでしょうか?
サンプルコードを添付しました。
MULTI_THREADを1とするとマルチスレッドで動作するようにしています。
画像も一緒に添付しようとしたのですが、大きすぎるとおこられたので コードのみにしてます。
マルチスレッドとタイマーによるアニメーションについて
Re:マルチスレッドとタイマーによるアニメーションについて
タイマーを使ったシングルスレッドでは下記のように、
InvalidateRectの第3引数をTRUEにして、背景を再描画しているからではないでしょうか?
::InvalidateRect(hWnd,NULL,TRUE);
InvalidateRectの第3引数をTRUEにして、背景を再描画しているからではないでしょうか?
::InvalidateRect(hWnd,NULL,TRUE);
Re:マルチスレッドとタイマーによるアニメーションについて
>InvalidateRectの第3引数をTRUEにして、背景を再描画しているからではないでしょうか?
そうでした、FALSEにしたらどちらもちらつきがなく動きました。
初歩的な質問で申し訳ありませんでした。
ありがとうございます
そうでした、FALSEにしたらどちらもちらつきがなく動きました。
初歩的な質問で申し訳ありませんでした。
ありがとうございます
Re:マルチスレッドとタイマーによるアニメーションについて
>InvalidateRectの第3引数をTRUEにして、背景を再描画しているからではないでしょうか?
そうでした、FALSEにしたらどちらもちらつきがなく動きました。
初歩的な質問で申し訳ありませんでした。
ありがとうございます
そうでした、FALSEにしたらどちらもちらつきがなく動きました。
初歩的な質問で申し訳ありませんでした。
ありがとうございます