针对虚幻3引擎渲染底层的效率优化

自己新公司的条用的是虚幻3引擎,最后有机会查看异国的上进销售。半个月的指定遗传密码出现崩塌,感触虚幻3的指定遗传密码依然是不足食人魔。,就是这样的事物记载的最优化顺序。

1、虚幻3 API的叫来正好叫来,不要反复断定,这差不多使发生了营业能力。反复断定很复杂,喂就不写详细的指定遗传密码。,恰当的提到的坑。

A、顶峰和标定指数缓存并找误审复杂的重。

B、samplerstate的分量装备的花费的钱后引起误审,使分解的是在FD3D9DynamicRHI::UpdateD3DDeviceFromViewports中重新安放或安置一下缠住情形。

收场白:碎屑。

2、恒稳态目标与成批处理。在存在的武器装备程度,有几台机具不支持vs_3_0,因而你可以想得开用武器装备 instancing。虚幻3,普通staticmeshcomponent独立绘制,将会InstancedStaticMeshComponent才会合浪漫史。虚幻3在两个分离运用了InstancedStaticMeshComponent,这是顺序 体系结构和种植(新的植灵系),普通的恒稳态目标,假定反复的获名次,你可以用生叶,供给它是恒稳态的
网格,假定厂子不确定的。因虚幻3画在Base 经过前可以推断吃水 Pre-Pass,因而能沾光于批到分离或更多。

3、虚幻3 uskeletalmesh如同不思索有究竟哪个批,只学习LOD的能力,第一游玩像保卫剩件,LOD是找误审网格的意思,详细顺序待定。

4、虚幻3 projectedshadow找误审一种很平民的渐变技术,这种技术和ShadowMap明显地多种多样的相信要对影子的锥体举行裁剪来决议假设画渐变,就是这样的事物误审在切削锥太大,虚幻3的做法是用武器装备留在外面查询(FSceneViewState::IsShadowOccluded)和就是这样的事物影子锥体来裁剪,很多地透明性的渐变竟是浪漫史,使分解的:独立的渐变边盒,将边盒代表影子锥。

收场白:庞大地向前推机能(20 30)。

5、渐变的问题是下面说的,ProjectedShadow这种渐变技术浪漫史的映射与接纳的一批生产的量数字比是1:1的,即,每绘制第一影子,要使承受,打个比如,在主光的渐变的奇观,100静态的灵放弃在边线,少量的边线瓷砖可见N,目标仅有的映射和无收到,边线上只赞成非影子,这是最经用的静态渐变顺序在MMORPG,因而ShadowMap是 n接纳100批批影子,用ProjectedShadow则是100个映射一批生产的量+100个接纳一批生产的量,虽有影子锥projectedshadow绘制几多很复杂,不足广场的面,但在一批生产的量的超重的增长引起低能力。该顺序暂定为影子锥顶峰缓冲剂。。这就请尽量大的影子绘制地图,因虚幻3将相片掉进多种多样的的区域,假定过小,该地面的分离将经过反复绘制绘制地图的渐变,这样的事物会引起断一批生产的量。

收场白:约30帧,好的CPU,渣滓卡,指定遗传密码唯一的一次赞成工作画,无增加。

6、虚幻3与16/32位浮点小数点使有纹理HDR D3D9 缓冲的Alpha走过浪漫史depthtexture,同时,假定你用不着HDR印象,我无找到可供选择的清算条件。,浮点小数点使有纹理鉴于RT时能力庞大地使还原,但这张DepthTexture在浪漫史渐变的时辰将会到(详细用来做什么我还没现实看,最前部的猜度是像素的逆球面的同等级的),因而必不可少的事物有,的argb8体式是不克不及用来代表精细。解决顺序:翻开色写在延迟之吃水阶段,给第一RenderTexture浪漫史depthtexture,当浪漫史渐变、HDR
这depthtexture缓冲,把HDR 缓变高 Buffer。

坑:1、虚幻3采取的是W 缓冲剂而找误审Z Buffer,因而你不克不及用Z / W在顶峰上色器输入吃水,但正好应用w。

2、当报答像素上色器色深海,不克不及复杂地复回浮, w, w, 1),它一定叫encodefloatw(W)。

3、虚幻3在低婚配榜样不延迟之吃水,ColorBuffer也A8R8G8B8,使多样化的时期点,不互换,但低。

收场白:大向前推机能(30 40。

鉴于新用汽车运送的开展。,我无梦想去最优化3什么愿望,率先。。

发表评论

Close Menu