|
VR的基本渲染方法已经掌握,虽然材质和灯光方面还有许多不足,但是当前最迫切需要解决的问题是VR的出图速度问题。动则需要数小时的渲染时间真的是很难以接受,不管是练习还是真正的做方案都是漫长的等待,这样修改起来也不方便。因此当务之急是要弄清楚影响VR速度的根本原因,优化参数。* i G. Y+ O: o2 n
最近的几个例子来看,GI的时间都不长,就是抗锯齿出图的时间太长了。可能我做的都小场景,等大场景灯光比较多的时候跑光子图也是很慢的。 我们来总结一下:
. G( J4 O: U6 O& e B图形抗锯齿方面Image sampler (Antialiasing)' L* Q$ N1 G: e* F
1、无反射模糊,图像质量相似的情况下,adaptive subdivision最快
- _! q( B+ o1 ?! e- e% G比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate-1/2
6 a& ]4 ?( [) i; ~3 i2、大量粗糙表面多bump贴图,simple two-level 最快
5 M$ s# _" r+ B比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision # Y u# f1 R2 u
rate0/2,threshold=0.05$ Q3 I& s! v% f& b, B5 d% R: s
3、如果场景中有大量模糊效果,包括运动模糊,模糊反射,高光模糊,景深等,Fixed是最快的
9 T; A4 R# i4 p4 c如果场景中有大量凹凸效果,包括bump贴图,置换,noise等,adaptive + F( I, i! E2 n1 U2 C7 g. j
QMC或者adaptive two-level是最快的。其他情况用adaptive subdivison会比较快。1 l* I$ T& W6 s: B8 U& y* b; x1 O
根据不同的情况选择不同的抗锯齿这个很重要!!
8 W$ N: h4 v9 r5 ~
$ x. P: u J. R V, _& W7 P0 Y另外几个关键的参数:' h2 {3 S+ j: [0 [9 s& n7 g. a
threshold这个值对速度的影响非常大。
0 M0 e2 `# h) m( F在adaptive subdivison Clr thresh默认为0.1,测试改为1,速度提升很多质量也可以接受0 W" K4 C" J/ \# N r7 Q
在adaptive QMC ,在rQMC面板的Noise
9 `* n9 ~" M$ R* _3 L- ]3 S) {threshold默认为0.005测试改为0.1,速度很快质量还可以。
0 h3 U6 n) _ z# p3 o2 s7 J$ Y如果在adaptive rQMC image sampler 里勾选Use QMC sampler 1 v- T* ?% Y4 p) ?: W6 z
thresh的话,那么这里的域值采样直接由rQMC面板的Noise threshold决定。
# W: A* j* n7 F4 O8 z. q) l如果没有勾选则有Clr thresh来决定,默认0.01测试改为0.1,速度快质量也可以接受
2 @1 V1 P/ v! o& X* a( OObject outline:
) S# ?! a! y% a. |' D当场景有大量细小物体,抗锯齿方式是adaptive subdivison时,如果勾选Object # l; B" O7 s. ]8 p4 B
outline,那么渲染会非常慢。这个时候我们不要勾选object outline而用Clr threshold来控制图象质量
, f1 ~4 x& h9 J4 p9 k+ ^- ?Nrm thresh:这个是特定的法线区域采样,如果对阴影要求不高的情况把Clr
0 u$ I( I" y% qthreshold设置一个较大的值5,勾上object outline和Nrm threshold这样速度也有不小的提升。
# E; K9 D0 ?6 O与渲染速度有关的还有发光贴图里的二个参数:# V$ ? v) {" W9 t
Interpolation type插值类型和Sample lookup采样查寻2 ^1 b: T; I( G* T" ] }7 v) P
一般只要将Interpolation type设为Least squares fit(最小平方适配法),
) K3 K+ W* O7 q7 U而Sample lookup设置为Precalculated
$ D' v+ \; s7 m# b9 Soverlapping(预先计算的重叠),就可以满足我们的大多数要,且速度也很快。( M4 ?6 N$ U! ^- _5 i7 n& A+ N
如果质量达不到要求就再试一试其它参数设置(记住Nearest只适合用于草图预览) # I3 F6 ^5 e+ @$ E" n" [3 u* T
Check sample visibility检查样本可见性,可以减少漏光现象,但速度会减慢/ Q: p3 ^/ T. Y2 `$ E
关于coolmoon的帖子:
5 J8 J7 l8 w9 y5 h提高速度的方法:把所有面积较小的物体选中,把它们的全局GI关闭,只让面积比较大的几个物体来计算全局GI) n5 P, K+ h! e4 e5 @' z
他提及的抗锯齿提速前面已经分析过了就不再总结了。
: _. u; m6 H+ ?关于暴牙龙的贴子:
4 f) I% T- d4 U* C0 n( `1。不要用太多的灯光反弹 2 F3 }0 C2 h1 m
2。不要用太高的发光贴图设置渲染大分辨率的图 # O V: g! X3 W( J
3。经常保存发光贴图
4 `* ]: O5 ~ \! a B' y5 E4。弄个大点的内存
# v* }; G! t4 c# {! M% @2 ^5。抗拒齿不要太高
7 K% `; M& A; M* M9 U0 G' g3 M6。不要用太高的反射折射级别
4 X2 X7 B4 ]4 w* i8 d! t0 \4 U7。用透明贴图的采样不要太高
9 a# d# o2 T& q' U) `8。把不重要的物体的GI采样强制降低
& m: y3 n4 |$ \. c2 h6 ~6 s( E/ U9。不要用凹凸贴图和模糊一起用 . f N- x, j5 i1 r+ T3 b4 o
10。不要渲染太高分辨率的图,够用就行
! L: Y8 N* }/ \5 P4 M% _4 o E/ H11。能用PS的就PS,比你用3天MAX渲染快多了4 N3 F: K5 b# m# e+ W3 W, [) B
这是他的原话!!/ H: i* M- @# Q6 U! S
下面是经验参数:+ R! T" x7 a6 x1 s3 |
1、木地板模糊反射0.85 和3,反射次数调为1
# B) y) T( ~& u7 k2、最终光子图的 IM参数rate-3/0,Clr threshold=0.2,Nrm ) @4 B {' x( G' c5 o- u$ B
threshold=0.2,HS=50,IS=20
; l1 q% Z) }' H" t( [3、用vr灯模拟天光是勾上sotre with irradiance
3 ^. \' r$ ]* l2 C/ ?* {# cmap速度会快点" j# w0 V% I! |, D
4、算好光子图以后再加对场景影响不大的灯
& T0 o6 V8 w" o9 \7 W$ z5、关了辅助灯计算光子图,要正式渲染时再打开,若想效果更好点可以打个低亮度的vr灯模拟光子反弹效果 [/url] 这个图跑光子36分钟,渲染24分钟,机器配制Atholn 2200+/1024Ram,图大小600x366。* v% Q9 E% }$ R- ^
场景没有打一个灯,由天光和color map 提的亮度。
# K2 U1 C$ t; B5 m: O7 a参数:AA(Fixed=3);IM(rate=-3/0,Ct=0.2,Nt=0.2,DT=0.3,Hs=50,Is=20) 提高VR渲染速度的关键(二) 在上一篇文章中结合论坛里的暴牙龙、coolmoon、henry0421他们的帖子分析了一下提高vr速度的一些经验和参数,这次我们对照Aparkey ' Y' L! t5 D, ^7 A1 H8 P! B# y
的学习笔记来研究一下。其中他提及的大部分参数都经本人亲自验证过,并总结出了一些经验参数可以供自己以后出图参考。
3 A: d8 n# f- k# b/ ?( w上次对于抗锯齿对vr速度影响讲得比较多,那么这次我就GI对速度影响来分析一下。主要是针对光照贴图和灯光缓存。
9 B9 L! v* |- P8 H( N5 U一、Irradiance map(发光贴图)
6 W+ a; w7 b- K4 A+ v' Y0 ~# t, M+ i1 M大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比4 I( T9 N7 d/ L( z5 B. T
渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。! U' t1 X5 i; h/ G7 O8 S
max=-1,min=-10/9.9;-9/9.75s;-8/ ' M. T9 J# O8 u9 _- |0 u. f! y
9.73s;-7/10s;-6/10.3s;-5/10.0s,-4/9.8s;-3/9.85s;-2/10.45s;-1/12.55s, H7 N7 j a/ y6 U7 j4 X
max=0,min=-10/17.3s;-9/17.3s;-8/
6 |1 A- P' C3 ]. B# b17.5s;-7/17.8s;-6/18.1s;-5/17.7s,-4/17.3;-3/17.4s;-2/18.3s;-1/22.5s.. k9 G% q8 ]1 ]
虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。* q6 }# s7 e# E9 u- a, T
min值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4 ) q& J" k$ H; Q2 q9 ]/ v
(细节不多时可以用-3),而最终出图可以用0(-1)。
8 t; u5 p* b+ Q" Q8 K0 {6 FHSph subdivs:值越大速度越慢!测试20,出图用50,不要超过808 u, b. _' ?0 G$ Z
Interp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。
! h; ^. k' w8 |1 l% oClr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。
# X* u4 F, e- b) NNrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢
; g0 T; n0 _. n8 z+ p+ f" z6 I; nDist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大% K) F, i6 d9 J8 ~/ Y
Options里的选项一般都不勾选,勾上的话都会减慢渲染速度的。
6 j$ C' a) D7 s9 @' [. }二、Light cahe(灯光缓存)1 `0 Q8 d! s. n" _3 p
灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。
) Q* W/ P$ f8 f* X3 q0 fSubdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。
. W( p, `9 C9 b! v. CSample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。' y0 a5 P; G6 E& F, e- }5 Y
Pre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-15/ k0 ]7 |/ x: ]; Y( \* g$ b
Filter下的Interp , G5 H1 b0 [1 A; {* `$ P. W
samples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5 [url=http://img.snren.com/upload/up4/200742511284468276.jpg] 就打了一个天光,没优化参数,蜗牛机器渲染的,放上来提个醒 2 \2 p( w* b) ~& k
3 G& A* A6 u& U. d5 O- e6 K9 B/ N, k |
学习学习songhua