3D引擎渲染效率如何提升

 

gametp

之前参加游戏开发交流会时做的一些笔录以及本人的一些愚见,贴出来与大家分享,请莫见笑。

这个演讲是完美技术总监?忘记了,好像是,做的一个演讲,分享3D渲染效率优化方面的经验,以下是部分演讲内容:

今天非常荣幸能和大家一起分享一下引擎优化方面的技术。说到引擎优化,其实它涵盖的范围非常广泛,今天只有一个小时时间,所以只能给大家简单介绍一些比较实用的方法和分析方法。引擎优化涉及到内存分配、多线程加载、Shider的优化、LOD,说到LOD,里面一般涉及到地形的LOD、人物模型的LOD等等很多方面。首先对游戏引擎进行优化,必须先有一些分析的方法,找出它实际的引擎的瓶颈所在。一般的分析方法有两种,一种是使用这些现成的分析工作,比如说NV的PerfHUD和英特尔的vTune,这些工具都非常强大,但是由于种种原因,它们都有一些限制,毕竟这些工具都是为自己的厂商服务的,所以在分析程序的时候会有一些限制。今天我们主要介绍程序内建统计分析函数的方法来分析程序的瓶颈。

编者:以前只是听说完美的研发中心比较强大,现在是切身的感受到了。

下面介绍一下如何设计统计分析函数,从应用上可以分为两种,宏观统计和微观统计,宏观统计就是根据自己需求统计一些现在游戏渲染的东西,比如地形、人物模型这些渲染的统计。微观统计就是比较贴近于硬件,如统计一些D3D的渲染状态的更新次数,这些是属于微观统计。从功能上分,又分为时耗统计和技术统计,时耗例如如渲染地形需要多长时间,技术统计是指渲染一个地形有多少个三角形面这些方面。下面我具体来介绍一下宏观统计里面的时耗统计是什么样的。

下面简单介绍一下渲染状态的管理,D3D里面的SetRenderState函数设置渲染状态是一个非常耗时的操作,但是它每种渲染状态设置的时候,消耗的时间并不是相同的,具体的也可以通过前面所讲的统计方法,分析出到底哪个状态消耗的时间最多,我们就尽可能减少那个状态的设置。

下面介绍一下游戏当中的LOD。LOD技术主要是指对不同复杂度的模型,对同一对象采用不同复杂度的模型来渲染的一种技术,主要是根据视点与对象的远近来调整不同复杂度的模型。

编者:感谢演讲者的分享,稀饭的同学抱走吧。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值