|
本帖最后由 375724685 于 2010-4-23 22:30 编辑 . ^. C& q5 e9 D: Q' O2 K! R. a. v* q 在上一篇文章中结合论坛里的暴牙龙、coolmoon、henry0421他们的帖子分析了一下提高vr速度的一些经验和参数,这次我们对照Aparkey 的学习笔记来研究一下。其中他提及的大部分参数都经本人亲自验证过,并总结出了一些经验参数可以供自己以后出图参考。 上次对于抗锯齿对vr速度影响讲得比较多,那么这次我就GI对速度影响来分析一下。主要是针对光照贴图和灯光缓存。 $ Z: C5 G% D. \* P/ t) j 一、Irradiance map(发光贴图) $ K7 `; N, J- M2 ? Q 大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比 渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。 ! v" C% B! D7 { max=-1,min=-10/9.9;-9/9.75s;-8/ ( W0 Q" |6 O* R! R- t 9.73s;-7/10s;-6/10.3s;-5/10.0s,-4/9.8s;-3/9.85s;-2/10.45s;-1/12.55s max=0,min=-10/17.3s;-9/17.3s;-8/ 17.5s;-7/17.8s;-6/18.1s;-5/17.7s,-4/17.3;-3/17.4s;-2/18.3s;-1/22.5s. 虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。 min值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4 ( W9 @: T- D8 O8 M3 o. ? (细节不多时可以用-3),而最终出图可以用0(-1)。 & y3 s0 d U5 ]- V+ ]. u' p P HSph subdivs:值越大速度越慢!测试20,出图用50,不要超过80 Interp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。 Clr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。 7 @. }7 i4 ^. N, Y/ f2 { Nrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢 Dist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大 Options里的选项一般都不勾选,勾上的话都会减慢渲染速度的。 ( W* `, s# a) t8 ]1 Q 二、Light cahe(灯光缓存) , F9 E6 g9 y& G f' g* V 灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。 ; H0 c! I% G* N; ~ Subdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。 Sample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。 + S x7 E" H( |, Q6 X" g: s5 j Pre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-15 Filter下的Interp 2 X C7 a( ?/ O! C6 }; Z( V9 L1 C samples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5 此主题相关图片如下: % H6 M- p f" C& I5 Y+ |; O 6 D, h* d- N! a' a# `/ Y 就打了一个天光,没优化参数,蜗牛机器渲染的,放上来提个醒 N6 r5 d% u% f) P# ] . Z- @- i( M8 T9 f! B2 ? % w" P! Y8 o+ w9 J 0 x: v7 E: J; ^! B) V5 e8 T 提高VR渲染速度的最好方法(经典转载)VR的基本渲染方法掌握起来并不难,但是最迫切需要解决的问题是VR的出图速度问题。动则需要数小时的渲染时间真的是很难以接受,我们从三个影响速度的参数结合网上一些高手的教程来分析一下。 ) t5 u( ?% }4 B: L' K. _& _8 L 一、Irradiance map(发光贴图) 二、Light cahe(灯光缓存) 6 X) e- s* S( X# |3 m 三、图形抗锯齿方面Image sampler (Antialiasing) 5 r6 S7 T% Q# M2 G7 S' i 一、Irradiance map(发光贴图) 大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比 1 u; B w) \$ s5 F" i6 e" e o 渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。 max=-1,min=-10/9.9;-9/9.75s;-8/ 9.73s;-7/10s;-6/10.3s;-5/10.0s,-4/9.8s;-3/9.85s;-2/10.45s;-1/12.55s . `/ U' i) B3 ?6 q1 E9 P1 Z' o, B max=0,min=-10/17.3s;-9/17.3s;-8/ 17.5s;-7/17.8s;-6/18.1s;-5/17.7s,-4/17.3;-3/17.4s;-2/18.3s;-1/22.5s. & d5 h) v0 E$ \( k 虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。 7 O1 A6 _& i" Q " k6 {5 {! J" I min值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4 (细节不多时可以用-3),而最终出图可以用0(-1)。 HSph subdivs:值越大速度越慢!测试20,出图用50,不要超过80 ! C7 j p8 Z; _, k" \ Interp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。 ) G# G1 _& T9 W, n" a Clr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。 5 X. h" C% W) h# R Nrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢 ' D$ J# }. ]; p6 s- [5 f: W2 B 7 C: m! u& i9 K9 I! C4 ^! ~) p7 d Dist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大 7 }' n3 x' H- N6 j. w# R. u G Options里的选项一般都不勾选,勾上的话都会减慢渲染速度的。 : a' D# {, f! Y/ J; l7 P; ]6 d 二、Light cahe(灯光缓存) ! A7 X# @/ _0 X- g7 G8 H0 [ 灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。 & _/ s# ?9 x: m G9 x2 N ; \7 h3 g1 E" ]4 J Subdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。 Sample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。 . _/ a |1 e0 n! y2 B" \4 @ - }+ {1 t: \4 e5 A7 U5 ^, J( I Pre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-15 & p3 b% \: R: D1 d- `0 v# p Filter下的Interp samples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5 $ M' S$ v. J% b' X+ A( C 图形抗锯齿方面Image sampler (Antialiasing) 1、无反射模糊,图像质量相似的情况下,adaptive subdivision最快 比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate-1/2 : E( f7 ?8 _4 p6 |! l X 2、大量粗糙表面多bump贴图,simple two-level 最快 4 U, f) N8 `3 D 7 G$ [4 }3 u% i5 ~ 比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate0/2,threshold=0.05 3、如果场景中有大量模糊效果,包括运动模糊,模糊反射,高光模糊,景深等,Fixed是最快的 1 S l) o A: X; M2 ^0 l 如果场景中有大量凹凸效果,包括bump贴图,置换,noise等,adaptive QMC或者adaptive two-level是最快的。其他情况用adaptive subdivison会比较快。 9 Y. N) E3 M0 j; E 根据不同的情况选择不同的抗锯齿这个很重要!! B7 ]3 b1 k' z9 |: `. I " |+ K# _( b7 p! x/ S2 F% p- y 另外几个关键的参数: 3 c# w/ W4 U E3 y1 U; { % r% e) M2 [1 y) i* z. W- d threshold这个值对速度的影响非常大。 4 x6 a( ~: [3 p 在adaptive subdivison Clr thresh默认为0.1,测试改为1,速度提升很多质量也可以接受 F- q0 n* s. S2 ? " W g- t8 N" Y% ~9 O9 t: O9 S# n9 a 在adaptive QMC ,在rQMC面板的Noise threshold默认为0.005测试改为0.1,速度很快质量还可以。 如果在adaptive rQMC image sampler 里勾选Use QMC sampler thresh的话,那么这里的域值采样直接由rQMC面板的Noise threshold决定。 L- u% N5 d" g3 N0 Z& P! V: X1 V 如果没有勾选则有Clr thresh来决定,默认0.01测试改为0.1,速度快质量也可以接受 Object outline: 3 {: E- V! u, J+ r' W ) y2 p- O1 T3 P0 ^& e! W 当场景有大量细小物体,抗锯齿方式是adaptive subdivison时,如果勾选Object outline,那么渲染会非常慢。这个时候我们不要勾选object outline而用Clr threshold来控制图象质量 6 D4 V) C2 x+ U, ?1 J Nrm thresh:这个是特定的法线区域采样,如果对阴影要求不高的情况把Clr threshold设置一个较大的值5,勾上object outline和Nrm threshold这样速度也有不小的提升。 : L0 O! _+ H/ g! H 与渲染速度有关的还有发光贴图里的二个参数: & s6 w2 C: i2 g3 G Interpolation type插值类型和Sample lookup采样查寻 一般只要将Interpolation type设为Least squares fit(最小平方适配法), 而Sample lookup设置为Precalculated overlapping(预先计算的重叠),就可以满足我们的大多数要,且速度也很快。 % P3 r E: _$ v' J; x3 C) u 如果质量达不到要求就再试一试其它参数设置(记住Nearest只适合用于草图预览) Check sample visibility检查样本可见性,可以减少漏光现象,但速度会减慢 关于coolmoon的帖子: 提高速度的方法:把所有面积较小的物体选中,把它们的全局GI关闭,只让面积比较大的几个物体来计算全局GI . v- Q8 B; j4 `. f9 o& U, c; @& O 他提及的抗锯齿提速前面已经分析过了就不再总结了。 % o$ n- m C7 ?8 r+ d4 K 关于暴牙龙的贴子: 1 ^5 T8 q7 ^3 |2 v, `1 d1 J ) F$ C) c$ h2 N8 h2 J 1。不要用太多的灯光反弹 2。不要用太高的发光贴图设置渲染大分辨率的图 3。经常保存发光贴图 4。弄个大点的内存 5。抗拒齿不要太高 6。不要用太高的反射折射级别 0 y0 Q9 B" C7 I2 p$ U 7。用透明贴图的采样不要太高 8。把不重要的物体的GI采样强制降低 9。不要用凹凸贴图和模糊一起用 ! e4 F* _! b. Y5 ^* U. j8 P 10。不要渲染太高分辨率的图,够用就行 2 E5 F0 R# ?4 Y2 r2 O 11。能用PS的就PS,比你用3天MAX渲染快多了 这是他的原话!! 下面是经验参数: / U' _! H" p$ u; h 1、木地板模糊反射0.85 和3,反射次数调为1 6 C* S4 ]7 N. g 2、最终光子图的 IM参数rate-3/0,Clr threshold=0.2,Nrm threshold=0.2,HS=50,IS=20 * Y' z& i' p& O 3、用vr灯模拟天光是勾上sotre with irradiance map速度会快点 7 z$ h' U7 } b- ]. ~ 4、算好光子图以后再加对场景影响不大的灯 1 u* U6 U8 y, e8 p1 |7 p 5、关了辅助灯计算光子图,要正式渲染时再打开,若想效果更好点可以打个低亮度的vr灯模拟光子反弹效果 |
精华推荐
换一换



meinvwoding