そこで、非常に効率的な衝突検出システムを開発しましたが、問題は、あまりにも遅いためにメイン スレッドで実行できないことです。
スレッドを設定してみましたが、スレッドが終了すると、別のスレッドが作成されます。
if (doneCollisions)
{
PopulateGrid();
}
if (doneCollisions)
{
Thread thread = new Thread(new ThreadStart(CheckCollisionsGrid));
thread.Start();
}
void CheckCollisionsGrid()
{
Thread.CurrentThread.SetProcessorAffinity(3);
doneCollisions = false;
//Increments through all the grids.
.
.
.
doneCollisions = true;
}
デバッグ中に奇妙な動作に気付きました。私が Thread.SetAffinity を呼び出したとき、実際に衝突のチェックを開始する前に、1 回か 2 回何度も戻ってきました。
そして今、私の衝突は5〜10秒遅れています...
誰かが洞察を持っている場合は、ここに入力してください。