サードパーティのプラグインを使用せずに、純粋な JavaScript と html5 でゲームを開発することを考えています。私が直面している問題は、レンダリング ジョブ、ゲーム ロジック、アセットの読み込みなど、ゲームのさまざまな「モジュール」を個別のスレッドに分離する方法が見つからないことです。
Web Workers はコードを異なるスレッドに分割できるように見えますが、問題はそれらの間で渡せる情報が限られていることです。たとえば、レンダリング ジョブの場合、ワーカー スレッドはメモリを共有できないため、ゲームの更新ごとにすべてのエンティティ、メッシュ、テクスチャなどを含む「世界」全体を渡す必要があります。初期化(メッシュ、テクスチャ)でのみ静的オブジェクトを送信し、更新時にオブジェクトの状態のみを送信する(ワールドトランスフォーム)など、最適化できますが、それでもそうではありません。
それらの間で大きなデータを送信したり、いくつかのオブジェクトを共有したりする方法はありますか? または、真のマルチスレッドを実現するためのまったく別の方法はありますか? プラグイン/ギアを使用してこれを達成する簡単な方法があることは知っていますが、オープン Web で利用可能な方法のみを使用する必要があります。