1 秒間に約 30 回実行される典型的なゲームループがあるとします。1 つの特定の関数に約 50% の時間がかかり、並列化の最有力候補のように見えます。たとえば、大きなループであるか、4 つの別個の独立した作業ストランドが進行中であるとします。関数自体が2 ~ 4 コアに分離して適切に並列化できることを既に確認したと仮定します。
このような場合、OpenMP は高速化する可能性がありますか? 作業を分割するために各フレームで単純に 1 ~ 3 スレッドを作成するのは良くないと思いますが、スレッドの作成/破棄がもたらすオーバーヘッドが 10ms か 100 かはよくわかりません。 OMPがこの種のことで効率的であるか、またはコードの実行時間の長い部分にのみ実際に適している場合。
考え?