みなさんありがとうございます。WDT質問したものです。
javascriptでハードウェア制御装置しちゃってるんですよね。
webワーカーでワーカースレッド立ててみてもdom操作できないし制約が大きいんですよね。ワーカースレッドとして使いたい所もhtmlタグを追加していて遅くなっている箇所なので詰んでいます。

CPUバウンドなのはわかるのですが処理の途中で止めたいのでsetTimeoutでは区切りにくいです。やっぱり関数抜けないと別の処理が動かないのがネックです。スレッド毎にラウンドロビン(時間でスレッド処理を切替える)はできないですか?