マルチスレッドゲームまたはゲームエンジンの設計と開発に関する最良のリソースは何ですか?


44

マルチスレッドゲームまたはゲームエンジンの設計と開発に関する最良のリソースは何ですか?これは明らかにコンピューターが向かう場所であるため、このトピックを研究するつもりであり、どのようなリソースと例があるかを知りたいと思います。


私たちはリソースを求める質問をサポートしていないため、この質問をトピック外として終了することに投票しています。
Gnemlock

@Gnemlock間に合って嬉しいです。トピック外の質問がここに残ることを望まないでしょう。
リケット

回答:



24

Intel のDo n't Dread Threadsシリーズは非常に優れています。3つの部分があり、基本は最初の1.5でカバーされています。

最初の1.5で扱われた内容の要約:

機能的な分解を避ける

ここに画像の説明を入力してください

まず第一に、彼らは機能的分解の使用を思いとどまらせます。機能の分解は、「AIを1つのスレッドに置き、オーディオを別のスレッドに置き、グラフィックを3番目のスレッドに置く」だけです。

こんな感じ

ここに画像の説明を入力してください

だからそれは悪いです ™。代わりに、データ分解を使用します。

データ分解を使用する

データ分解とは、ゲーム内のあらゆるものを小さな達成可能なタスクに分割することを意味します。4つのスレッド、たとえば4つのスレッドを生成し、4つのスレッドのそれぞれについて、タスクの山からタスクを継続的に取得し、完了するまで作業を続けます。

ここに画像の説明を入力してください

ピザを食べている人の集まりのようなものです。ピザが完成するまで誰もがスライスを取ります。

ここに画像の説明を入力してください

もちろん、今はお腹がすいています。




1

タスクベースまたはジョブベースのアプローチを検討する必要があると思います。

Game Engine Gemsには、このテーマに関する2つまたは3つの記事があります。

さまざまな会議などでこのテーマに関するプレゼンテーションがいくつかありました。

たとえば、Johan Anderssonによる「ゲームエンジンの並列先物」

また、GDC Vaultをご覧ください。無料セクションのテーマに関するプレゼンテーションと完全なビデオが多数あります。 http://www.gdcvault.com/

追伸 新しいユーザーであるため、これ以上直接リンクを投稿できませんでした。ds。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.