UE4实时渲染需要注意的点——RTR(Real Time Rendering)

1、性能与质量

这是一幅关于性能与质量的表达图示
需要指出的是,只要有渲染,性能是必定会受影响的。
而好的渲染和糟糕的渲染之区别在于,取舍的平衡。
一般的TargetFramerate,假设为30FPS,在我们的渲染已经无限接近30FPS的情况时,我们应该在保持这个帧率的前提下,尽可能的将渲染质量提高;
或者换种说法,在我们追求高品质渲染的同时,将帧率维持在我们需要的目标帧率。
同时,如果渲染到一定阶段的时候,帧率确实已经达到目标帧率,如30FPS了,那么此时就没有必要花费精力在,把帧率提升到60FPS这样了,这样没有必要,不如花费精力在维持这个关系平衡点。
在这里插入图片描述
RTR是不可能完美的,要学会在实际渲染时,有所取舍,达到一个使Performance、Quality、Features三者达到平衡的点即可。(除非未来有强大的硬件支持,我觉得)

虽然称之为实时渲染,但并非所有内容都是及时渲染的,仍有许多内容会在预渲染阶段完成。所以实际上,很多功能的渲染采取的都是混合渲染。
当然这除了是为质量考虑,也是为了尽可能的高效。
另外,对资源和内容严格把控使用,也是为了高效。

2、硬件的协同

这是渲染时,硬件的协同图示,数据从硬盘,通过带宽读取到内存,由CPU或GPU与内存交换数据达到数据传输效果。
大家比较清楚的是CPU和GPU的计算与渲染功能不可或缺,实际上,渲染的高效性也特别依赖带宽,这也是我们常常忽略的一点。
有时CPU计算数据太多,我们可能会把计算放在GPU一部分,以平衡性能。由于多数情况下,GPU和CPU数据是需要同步的,所以这两者慢的那一个将成为另一个的拖油瓶,成为性能的制约因素。
在这里插入图片描述

3、实时渲染的两种方式

两种方式为Deferred延迟渲染和Forward前向渲染

  • Deferred延迟渲染特点:(UE4的默认渲染状态)
    1.Shading happens in deferred passes
    着色发生在延迟环节中(称之为延迟渲染的原因)
    2.Works compositing based using the GBuffer
    工作合成基于G缓存(GBuffer),G缓存是一组图像,引擎不会把所有的图像渲染出来,而是将信息存储到G缓存中,并且将其中信息延迟到稍后渲染,例如着色光照不会和几何体渲染同时完成,UE4会先渲染几何体,再延迟渲染光照,然后再与之前的几何体进行混合
    3.Good at rendering dynamic lighting
    善于动态照明渲染
    4.Good at stable predictable high end performance
    善于稳定可预测的高端性能
    5.More flexible when it comes to disabling features,less flexible when it comes to surface attributes
    在禁用特性时更灵活,在表面属性时则不那么灵活,
    在涉及即时开启或关闭功能时更加灵活
    6.No MSAA possible,relies on TAA
    不能用多重采样抗锯齿(MSAA),完全依赖临时抗锯齿(TAA)

  • Forward前向渲染特点:
    1.Computes shading in the same pass as geometry/materials
    着色和几何体以及材质在同一个环节计算,无论什么功能都会在同时渲染。
    2.More flexible in how lighting/materials are computed but less flexible when many features are mixed
    使如何计算光照和材质拥有更多的自由度,计算材质和阴影时可以获得更多信息,因为他们在同一个环节完成,但此渲染方式,不善于混合各种不同功能,因为其在屏幕后会变得非常复杂。所以前向渲染,比较适合更简单的App
    3.Good at translucent surface renderinng
    擅长渲染半透明表面(延迟渲染不擅长半透明渲染)
    4.Faster for simpler uses
    对于简单的App,更快,使用更简单
    5.Dynamic lighting has a big performance impact
    动态照明有很大的性能影响
    6.MSAA possible
    能用多重采样抗锯齿(MSAA)

由于对于简单的App,前向渲染更高效,所以一般一些移动端的App、VRApp倾向于始于前向渲染。

下一节:UE4实时渲染——渲染前和遮挡

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值