设计并行化游戏引擎的框架
游戏设计策划资料策划文档策划案文案文档策划
显示全部 8
628 7
实名

通过了实名认证的内容创造者

发布于 2016-9-21 20:46:41

您需要 登录 才可以下载或查看,没有账号?注册

x
价格:5元素币(或1余额) 百度网盘 销售总额:0元素币 购买人数:0

尊敬的游客 ,本内容需要支付 5元素币十分之一的[余额] 来购买.
您可以[充值][发帖] [悬赏] [任务]来赚取积分。
设计一个功能可分解的、数据可分解的系统可以提供大规模的并行化执行,同时保证发挥多核处理器的性能。

随着多核心处理器的降临,对可并行计算游戏引擎的需求已经变得越来越重要了。尽管仅仅依靠GPU和单线程游戏引擎依然是可行的,但是在一个系统上使用多核处理器所具有的优势会给用户带来更深刻的体验。譬如,使用多核CPU一个游戏可以增加更多的物理刚体对象来提升效果,或者开发出更加智慧的类人化的AI。

并行化游戏引擎框架,或者称为多线程引擎,目的是在开发平台上利用所有的处理器来提升性能。(引擎)通过并行化处理,各个功能模块可以利用所有可用的处理器。当然,说比做要容易,毕竟在游戏引擎中很多东西是互相交叉的,这通常会引起线程错误。因此,需要设计一套系统来合适地处理数据同步问题,同时避免被同步锁所限制。此外,也需要一套方法来保证在并行方式下处理数据同步时使串行处理消耗尽可能小。本文要求读者需要对现代计算机游戏发展以及游戏引擎线程编程有很好的理解和工作经验。
2.并行处理态

并行处理态的概念对于一个高效的具有多线程运行时态的引擎来说是非常重要的。引擎如果要实现真正意义上的并行处理——即尽可能少的同步损耗,则需要引擎内部各个系统在运行时坐到尽量少的交互。尽管数据需要共享,但是现在每个系统都应该有自己的一份数据拷贝,而不是通过一个公共的方式来访问数据。这样各个系统之间将不再有数据依赖关系。任何一个共享数据的变化都会被送到一个状态管理器那里,并且被加入一个变化队列,不妨称作消息提示队列。一旦各个系统完成处理任务,他们将会被提示改变自己的状态,同时更新各自内部的数据结构(作为消息队列的一部分)。使用这一机制将会大大减少同步损耗,使得各个系统能更加独立地工作。

3.引擎
设计引擎时应关注结构的弹性,以使得在扩展功能时更加简便。基于此,引擎在各种受到限制(譬如内存)的平台上应用时可以很好地做出调整。
引擎由两部分组成,一部分是框架,另一部分是管理器。框架(章节3.1)包含了游戏中会重复出现的拥有多个实例的那些部分,同时也包含那些出现在主循环的东西。管理器(章节3.2)作为单件存在并且独立于游戏逻辑。


1.jpg
2.jpg
3.jpg
4.jpg

评分

参与人数 1活跃度 +5 展开 理由
小月儿 + 5 回礼

查看全部评分

牺牲你的享受,享受你的牺牲!
使用道具 <
ygdualjy  发表于 2016-9-21 20:55:32  
2#
从业不识微元素,做遍项目也枉然
使用道具
yaksa0926  发表于 2016-9-22 01:15:58  
3#
元素那么大,我想来看看!
使用道具
星爷万岁  发表于 2016-9-22 07:03:52  
4#
从业不识微元素,做遍项目也枉然
使用道具
gameoverhan1  发表于 2016-9-30 09:51:29  
6#
元素帖子强,满满正能量!
使用道具
fy5765495  发表于 2016-10-18 20:12:33  
7#
元素那么大,我想去看看
使用道具
蛋壳zZzz  发表于 2016-10-26 09:27:22  
8#
带你赚币带你飞,元素里面有正妹!
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表