什么是multithreading游戏或游戏引擎devise和开发的最佳资源? 由于这显然是计算机的领导,我打算研究这个主题,我想知道哪些资源和例子。
一些英特尔资源。
http://software.intel.com/en-us/articles/designing-the-framework-of-a-parallel-game-engine/
http://software.intel.com/en-us/videos/dont-dread-threads-part-1/
英特尔公司的Do not Dread Threads系列相当不错。 它有3个部分,其中的基础是在前1.5。
总结第一个1.5中涵盖的内容:
首先,他们不鼓励使用function分解。 function分解就是“把AI放在一个线程上,把audio放在另一个线程上,把graphics放在第三个线程上”
所以看起来像这样
所以这是不好的 。 相反,你想使用数据分解 。
数据分解意味着你将游戏中的每一件事都分解成小的可实现的任务。 你产生了x个线程,比如说4个,然后对于这4个线程中的每一个线程,他们不断从任务堆中获取一个任务,并在其上完成任务。
这有点像一群吃披萨的人。 每个人都需要一个切片,直到比萨完成。
当然,现在我饿了。
multithreading引擎方法的简要概述。 Gamasutra来救援。
这里有一个博客文章,提供了一个在任务管理中的实际例子 。 它假定您有一些关于并行引擎devise的知识,但是您仍然可以将其用作“高级阅读”。
我认为你应该考虑一个基于任务或工作的方法。
游戏引擎gem有2或3篇文章的主题。
在不同的会议上已经有了一些关于这个主题的介绍。
例如Johan Andersson的“游戏引擎的并行期货”
另外看看GDC Vault有免费部分的主题演示文稿和完整的video。 http://www.gdcvault.com/
PS。 由于是新用户,无法发布更多的直接链接。 DS。
本书的游戏引擎架构也有一些关于如何devise一个multithreading支持游戏引擎的信息。