多线程游戏或游戏引擎设计和开发的最佳资源是什么?


44

多线程游戏或游戏引擎设计和开发的最佳资源是什么?因为这显然是计算机的发展方向,所以我打算研究此主题,我想知道那里有哪些资源和示例。


我投票结束这个问题为离题,因为我们不支持询问资源的问题。
Gnemlock

@Gnemlock很高兴您及时发现了它。不想在这里徘徊题外话的问题。
里克(Rick)

Answers:



24

英特尔的“ 不要害怕线程”系列相当不错。它包括3个部分,其中的前1.5个部分介绍了基础知识。

前1.5版内容概述:

避免功能分解

在此处输入图片说明

首先,他们不鼓励使用功能分解。功能分解只是“将AI放在一个线程上,将音频放在另一个线程上,将图形放在第三个线程上”

这样的样子

在此处输入图片说明

因此,这很糟糕。相反,您想使用数据分解

使用数据分解

数据分解意味着您将游戏中的所有内容分解为可完成的小任务。您生成了x个线程(例如4个),然后对于这4个线程中的每个线程,它们不断从任务堆中抓取一个任务并对其进行处理,直到完成。

在此处输入图片说明

就像一群人在吃披萨。每个人都吃一片,直到披萨完成。

在此处输入图片说明

当然,现在我饿了。



5

这是一篇博客文章,提供了任务管理实际示例。它假定您对并行引擎设计有所了解,但是您可能仍然觉得它作为“高级阅读”很有用。


1

我认为您应该研究基于任务或工作的方法。

Game Engine Gems对此主题有2或3篇文章。

在不同的会议上有关于该主题的一些演讲。

例如,约翰·安德森(Johan Andersson)的“游戏引擎的平行未来”

还可以查看GDC保险柜,免费版块中有许多关于该主题的演示和完整视频。 http://www.gdcvault.com/

ps。由于是新用户,无法发布更多直接链接。ds。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.