陈飞舟
剑网3的DX11的3D引擎故事29:我们冷静下来讨论最多的就是到底我们能做到哪一个程度,这个时候想起一句计算机界的名言,我们只能用自己一半的能力来设计编写程序,另外一半能力要用在调试和解决问题;也看了不少其他团队开发引擎的事情,发现只要同事做的事情太多,复杂度急剧上升,特别容易烂尾。
剑网3的DX11的3D引擎故事30:放弃原有伟大的目标是一个痛苦的事情,从旁观者会觉得很容易,但是参与其中才明白其中的痛苦;每一个人都喜欢重复自己成功的事情,同时不愿意对自己努力过很长时间的事情进行自我否定;因此发现问题,到重新解决问题,最难的是自我否定,突破这一关,后面就是海阔天空!
剑网3的DX11的3D引擎故事31:经过几轮的煎熬的讨论,我们决定砍功能,重新树立目标,集中精力专注到DirectX11上,因为我们判断DX10是微软的一个过渡版本,DX11的改进让我们眼前一亮,是微软厚积薄发的一个版本,唯一的遗憾就是不支持Win XP,这也是我们下决心最难的地方,因为中国WinXP占有率超过50%
剑网3的DX11的3D引擎故事32:我们当时的考虑就是因为我们本身有DX9c的引擎版本,只要DX11的接口兼容老的版本,那就可以实现在WinXP上运行DX9c的版本,在Win7上运行DX11的版本。
剑网3的DX11的3D引擎故事33:同时我们还决定DX11引擎的32位和64位引擎同时开发,也就是同时编译生成32位和64位的版本,因为DX11的很多效果需要更多的内存和显存的支持,为了后期优化,64位是最佳的选择。
剑网3的DX11的3D引擎故事34:有人在问为什么没有选择OpenGL这样兼容性好的API,Win各个版本,Linux都可以使用;其实最关键是因为OpenGL的标准发展比DX的慢,很多功能DX出现很多年了才会出现在OpenGL的标准中,而等驱动完善又要等几年,主要原因就是OpenGL是一个多公司组织,要开会才能决定,效率低。
剑网3的DX11的3D引擎故事35:另外OpenGL的配套的调试工具,优化工具很少,而DirectX这方面微软和Nvidia,特别是Nvidia的工具的功能特别强大,甚至可以在运行过程中暂停,像切片一样,暂停一帧,分析每一个画的步骤的开销,包括看看是否有浪费的行为。非常强大,强大,大家懂得。
剑网3的DX11的3D引擎故事36:顺便八卦一下,其实我们内部是有一个团队在最OpenGL的渲染引擎,而且已经开发完成了,大家在iPhone和Android上,如果安装过“爱萝莉”,就是用这个引擎的早期版本做的,内部有更好更强大的版本,不过那是另外一个故事了。我们后面还是回归正题,DX11的3D引擎。