Gamebryo2.5引擎评估报告

1.       Gamebryo 2.5 引擎新增特性

1.1.       开发工具方面
1.1.1.      
场景编辑器
场景编辑器(Scene Designer)新增地形系统,新增特性如下:

1)新增地形编辑功能,被整合到了Gamebryo的场景编辑器中;

2)支持动态LOD

3)可选择的整合IDV SpeedTree®

4)支持贴图,贴花,碰撞检测,meta-data,基本的变形能力,基本的水的创建。

5)提供跨平台的支持:PC (DirectX®9), Xbox 360 and PLAYSTATION®3

6)提供了TerrainDemo 帮助开发者快速使用。

测试结果:

在测试环境8600GT core6600 2.4MHz双核 内存2G下,测试工具PIX,其

FPS 135,DP 117

小节:该地形性能和效率还可以,整体框架已经搭建好,但工具的易用性和完整性均有所欠缺,期待下一版本能够完善。

1.1.2.       动画编辑器
动画编辑器(Animation Tool)最主要的更改是对依赖物理的动画提供了一些简单操作。主要是对简单刚体物理:

1.1.3.       模型查看器
模型查看器(AssetViewer)已经不能对2.2版本的NIF文件做支持了,因为NIF文件格式发生了变化。

1.1.4.       导出插件
3DMax
导出插件支持3DMax 8.0及以上版本的插件,低版本不支持了,Maya插件没装,没有相关信息。

1.2       图形引擎渲染技术方面
1.2.1.      
软粒子
支持软粒子 (soft particles)

粒子系统可以支持Shader了(定制的效果能够被加到粒子上)。

1.2.2.       阴影系统
Gamebryo 2.5
支持深度图阴影技术(Depth maps)、百分比渐进过滤(percentage closer filtering, PCF) 算法, 和方差阴影贴图技术(variance shadow Mapping )。

阴影系统已经作为一个模块集成到引擎中如(NiShadowMap , NiShadowManager),

在此版本之前,shadow map 只是引擎提供的一个例子,并没有集成化。

1.3.       通用技术方面
1.3.1.       Floodgate
FloodGate
是一个跨平台的流数据处理的解决方案,它能发挥多核平台下多线程之间数据流交互的性能。它能在不同的游戏平台快速简单的开发多处理器程序,发挥处理器与内存的之间数据交换的最大性能。不过需要程序员对FloodGate开发模式有个了解。

FloodGate Gamebryo2.5版本的运用主要有以下几个方面的特性:

1)线程调度所需要的资源占用大幅度降低

2)更多弹性以满足运行时资源配置

3)显著减少总的内存占用

4Mesh修改器在Gamebryo运行时和Floodgate被重新整合。

5Gamebryo使用Mesh修改器做变形,骨骼动作,粒子等效果能在Gamebryo2.5自动的通过Floodgate运行。

具体表现请看下面的例子测试

小丑鱼例子:这个例子主要演示了在FloodGate技术和新增加的mesh修改器的作用下下角色顶点动画的效率提升(210条鱼,140多万面在 的模型顶点实时修改的情况下FPS40桢,调整动画速度对效率影响不大,总体看来性能表现上已经让人比较满意,游戏中的数量级很难达到这个量。如在粒子系统中也很少能达到这个量的修改。)

MeshCreation这个例子展示的东西比较多,主要是地型,软粒子和多面片水,虽然都不是多高深的技术,但之前没有Mesh修改器,就2.2版提供的接口在效率上消耗太大。

MeshInstancing Instance技术在目前游戏中的应用是非常广泛的可以大大提高性能,2.5版本里提供了GPU Instance还是很不错的,就例子测试看来,这个例子的性能提升情况如下:

2500Instance基于GPU 平均FPS 30

1.3.2.       几何系统
GameBryo 2.5
版本的几何系统做了如下的变化:

1)满足Console游戏的需求, 提供系统优化.

2GameBryo地形类中不再使用固定数据格式

3)支持任意的数据语义来提高材质弹性

4)为性能和弹性支持更多最优化数据流安排

5)提供向后兼容路径以减少开发工作量

6NiDataStream对象可以直接装载数据到renderer资源从而减少碎片

7)弹性的顶点数据格式允许针对Console项目优化带宽和内存占用

8DCC工具或命令行控制的数据打包通过XML网格 profiles

9NiDataStream对象能够包含GPU实例化的实例数据

10)几何数据能被指派为任意的语义(不仅在于当前的好处,而且还为次世代准备)

11)语义通过一些易读的shaders被映射至渲染语义

12)为了方便灵活的共享,数据能被打包成多个数据流

13)索引能使用1632bit两种模式。

2.       Gamebryo 2.5 引擎与Gamebryo 2.2性能对比
2.1.      
渲染效率方面
同样一个模型,在Gamebryo 2.2下的渲染FPS100 ,在Gamebryo 2.5下为120

2.2.       射线选取效方面
2
5版本中对NiPick进行了修改,估计是针对之前射线选取效率低下进行的,经过测试(测试环境同上,在调试Release版本下做100次的射线检测平均时间为0.06秒),

之前2.2版本Release版本下做100次射线检测的平均时间为0.3秒,考虑到某些因素的差异,保守测试2.5版本的射线检测比原来快5倍左右。

2.3.       FloodGate对性能提升的方面
FloodGate
的技术是Gamebryo 2.5版本最新的技术,FloodGate对性能提升的效果以CharacterPerformanceDemo例子。

同样是演示FloodGate在单线程与多线程在多核下的效率提升(在60桢以下时,2个线程比一个线程能平均提高桢数4桢左右,60桢以上时平均提升10桢左右,另外这个数据与模型和骨骼数量有关,可以切换模型比较,另外可以换4核进行尝试)

2.4.       多角色场景整体性能方面
在同样一个230个角色的场景中,同样是两个线程下,测试工具为PIX ,测试环境为8600GT core6600 2.4MHz双核 内存2G下:

Gambryo 2.5 下的场景的FPS92.8Gambryo 2.2 36,性能提高非常明显。

3.Gamebryo 2.5 引擎整体评价
Gamebryo 2.5 之前,用Gamebryo 开发大型MMO比较困难,主要表现在以下几个方面:

1    没有大型MMO必须的地形编辑器;

2    没有Mesh修改器,很多渲染效果实现起来困难;

3    整体性能很难达到大型MMO的标准。

通过评估发现,Gamebryo 2.5 针对以上几个问题做了比较好的处理,特别是第二,第三基本符合要求。对于第一点,Gamebryo 2.5 还需要改进,因为地形编辑工具的功能和易用性尚未满足要求。

总体来说,对于一直运用Gamebryo引擎的游戏开发者来说,把Gamebryo引擎升级到2.5版本的利大于弊。

你可能感兴趣的:(game)