李毅:提升3D引擎效率

2009-12-20 15:57   出处:www.chinagdc.com.cn   编辑:x.g 我要点评

  3DMMORPG游戏在中国在线游戏市场中占据非常重要的份额,而3D引擎则是关系到游戏效果的一个核心技术,在第二届中国游戏开发者大会上,来自完美时空3D引擎总监李毅阐述了其对于引擎技术的见地。

  在其演讲中着重阐述了如下3点经验:

  1. 设计统计分析函数对自己的渲染进行全方位的观察

  从分析的方法来讲,有计数分析和计时分析。

  从分析的粒度来讲,有宏观分析和微观分析。

  组合起来就有四个分析项目。

  宏观来讲,需要观察的就有

  -渲染的批次

  -shadowmap渲染的批次

  -skinmesh的个数

  -树木植被渲染的批次

  -地形的三角形个数

  -特效渲染的批次

  ……

  微观来讲:

  -渲染的三角形的个数

  -渲染的顶点的个数

  -shader切换的次数

  -渲染切换的次数

  -填充率

  -设置shader常量的个数

  …….

  而对于计时统计,也是对应地把上面的个数变成时间。

  2. 关于场景管理的策略

  完美使用九格方块的方法,也就是永远只加载9格,以限制内存显存的占用率,理论上实现无限大场景加载。

  3. 关于渲染状态的管理

  使用二维表格来管理渲染状态,这张表记录了每种状态之间的互相对应关系,表里每个元素保存着两种渲染状态之间切换所需要做的状态改变。使用这种方法将有利于减少渲染状态切换的个数。

  4. lod方面的经验

  mesh方面lod的管理,总共分5级别。

  下一级的三角形个数大概为上一级的75%,这样出来的视觉效果会比较好,如果太小,突变就比较严重。不过最后一级经常使用公告板。

  由于目前大会的各种资料非常繁多,大会组委会正在对这些资料进行整理和校对,稍后大会组委会将提供更加详细的资料给产业界人士做参考。


用户点评: (共0条)
发表点评