2007年8月15日の日記

<2007/08/16 2007/08/14>

マルチスレッドを甘く見てました

とりあえずメテオスもどきは横移動から作り始めたわけですが、思うようにマウス入力を受け付けてくれなくて困りました。
ダブルクリックと認識されるからマウスダウンイベントが来ないのかと疑って色々調べてみたところ、原因は入力状態の更新の直前で入力が来て、更新前の情報を使う前提のメソッドが正常動作しなかったのが原因でした。
マルチスレッドではこういったタイミングの悪さによる誤動作が起こりうるので十分気をつけていたつもりだったのですが、肝心なところを見落としていたようですね。
あと、動作速度一定化の方法を、一定FPSを保つ方式から、変動FPSで可能な最大の速度を出すようにしました。
ただ、それでゲームに不公平が出てはいけないので、内部的な動作は一定FPSの動作を再現して、描画だけを実際に変動FPSにしています。

<2007/08/16 2007/08/14>