ゲームを HTML5 に移植することを検討していますが、いくつか問題が発生しています。
このゲームではマルチスレッドがかなり使用されており、レンダリングはメイン スレッドで実行され、スクリプトはワーカー スレッドで実行されます。複数のスクリプトを同時に実行できます (頻繁に実行します)。どのスクリプトでもアクセスできるかなりの量のグローバル データがあり、ほとんどは読み取り用ですが、場合によっては書き込み用にも使用されます。スレッドの安全性が問題にならないようにするためのメカニズムが用意されています。
HTML 5 Web ワーカーを使用してマルチスレッドを設定できるようですが、ワーカー間でデータを共有する簡単な方法がないように見えるため、グローバル データを機能させることは大きな問題になるでしょう。理論的には、すべてのグローバル データを共有ワーカーに配置し、各スクリプト ワーカーにメッセージを送信してデータを取得および設定することもできますが、アクセスが一般的であるため、特に単純な読み取りが遠く離れているため、メッセージを渡すオーバーヘッドによってパフォーマンスが完全に損なわれます。書き込みよりも費用がかかり、機能させるためだけに何らかの CPS 実装が必要になる可能性があります。
このようなアーキテクチャを HTML5 や JavaScript に移植する良い方法はありますか?