Answers:
英特尔的“ 不要害怕线程”系列相当不错。它包括3个部分,其中的前1.5个部分介绍了基础知识。
前1.5版内容概述:
首先,他们不鼓励使用功能分解。功能分解只是“将AI放在一个线程上,将音频放在另一个线程上,将图形放在第三个线程上”
这样的样子
因此,这很糟糕。相反,您想使用数据分解。
数据分解意味着您将游戏中的所有内容分解为可完成的小任务。您生成了x个线程(例如4个),然后对于这4个线程中的每个线程,它们不断从任务堆中抓取一个任务并对其进行处理,直到完成。
就像一群人在吃披萨。每个人都吃一片,直到披萨完成。
当然,现在我饿了。
多线程引擎方法的简要概述。加马苏特拉营救。
我认为您应该研究基于任务或工作的方法。
Game Engine Gems对此主题有2或3篇文章。
在不同的会议上有关于该主题的一些演讲。
例如,约翰·安德森(Johan Andersson)的“游戏引擎的平行未来”
还可以查看GDC保险柜,免费版块中有许多关于该主题的演示和完整视频。 http://www.gdcvault.com/
ps。由于是新用户,无法发布更多直接链接。ds。
《Game Engine Architecture》一书中也有一些有关如何设计具有多线程支持的游戏引擎的信息。