>>497サンありがとうございます。

ゲームプログラムなんですが、いままでonIdleを使って画面描画していたものを、
スレッド仕様に書き換えてみました。
メインスレッドは数値を計算し続け、サブスレッドはそれを元に画面を描画し続けるという感じです。

が、onIdleだと、描画が忙しくなってくる→onIdleが発生しなくなる→描画を間引く→負荷が減る→(゚д゚)ウマー
といった構図で、メインが圧迫されることはなかったのですが、
スレッドにしたら、サブスレッドが全力をあげて描画しようと頑張るもので、描画に負荷がかかると
メインスレッドにあるタイマが遅延してしまい、ガタガタになってしまいました。・゚・(ノД`)・゚・。

while(true) do begin
  start := timegettime;
  Synchronize(゚д゚); // ここでメインスレッド経由でVCLに描画
  stop := timegettime;
  if (stop - start < 33) then sleep(33 - stop - start);
end; // 描画が33ms以下なら、30FPSになるようにwaitを入れる

サブスレッド内はこんな感じなんですが、
これだと、33ms以上になると描画処理だけで全部持って行かれてしまうか・・・。