提高VR渲染速度的关键 (高手必看)求+精

2010-4-23/ 图像资料下载/ 设计软件/ 只看大图 阅读模式
仅供分享不做任何商业用途,版权归原作者所有,谢谢配合。

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 375724685 于 2010-4-23 22:30 编辑 1 c) d# K$ ]+ B% N; V5 V- J) h
  r  {) l* K) V5 R/ }! m
在上一篇文章中结合论坛里的暴牙龙、coolmoon、henry0421他们的帖子分析了一下提高vr速度的一些经验和参数,这次我们对照Aparkey  ; v0 p2 [6 [) n$ c5 o! u% b
的学习笔记来研究一下。其中他提及的大部分参数都经本人亲自验证过,并总结出了一些经验参数可以供自己以后出图参考。  # r3 k! i( w) Y
上次对于抗锯齿对vr速度影响讲得比较多,那么这次我就GI对速度影响来分析一下。主要是针对光照贴图和灯光缓存。  
" n! @  f1 x8 M# T; }4 X5 J一、Irradiance map(发光贴图)  7 e1 t- F! _% ]2 O$ k* t( [# d
大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比  : D+ `2 \0 A% h) X6 T1 z( k/ }
渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。  3 A- c) A& D3 s; C6 }5 J- n
max=-1,min=-10/9.9;-9/9.75s;-8/  % w: U9 o% N, Z4 l6 T4 c
9.73s;-7/10s;-6/10.3s;-5/10.0s,-4/9.8s;-3/9.85s;-2/10.45s;-1/12.55s  
, s; d/ e0 P5 j1 x: qmax=0,min=-10/17.3s;-9/17.3s;-8/  
* x# R0 W6 I2 O. w' |. f6 o  f; s17.5s;-7/17.8s;-6/18.1s;-5/17.7s,-4/17.3;-3/17.4s;-2/18.3s;-1/22.5s.  3 ~- r/ Q0 Z7 O5 ?3 H& w" Z
虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。  
" n4 Y6 U: E2 N+ \9 cmin值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4  " T8 I* I/ N. ]5 A9 k: j9 p
(细节不多时可以用-3),而最终出图可以用0(-1)。  : X% v) c" e0 Q
HSph subdivs:值越大速度越慢!测试20,出图用50,不要超过80  0 k1 x. k0 h0 z& p- m" k/ ?. p8 L. P
Interp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。  ( U) Q7 a8 `; n8 @8 X( ]- [
Clr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。  
% Q- Z1 I+ p3 Q3 g- F# cNrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢  * {8 @0 U; K+ m9 ]! g# y4 q
Dist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大  
+ W/ ]9 @5 V, l* ROptions里的选项一般都不勾选,勾上的话都会减慢渲染速度的。  
& ^; k' `; e* i2 t" K- ]二、Light cahe(灯光缓存)  * q9 w. I- v4 U3 m' Y( v1 g
灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。  
. W; ^+ c- \1 Z0 M6 k( e0 E' nSubdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。  2 k' P& n2 ~/ D- g& @
Sample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。  
' r9 Y  X2 `9 ~+ ]' X1 FPre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-15  , M, T( V5 W7 o, k
Filter下的Interp  
# p3 v& k( N4 D8 P# j. Z1 }% Z0 N) g% esamples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5  
' F" Q$ |7 M2 ?# ^, }+ E2 l2 V此主题相关图片如下:  ! H, S, m. V& T, q

% T8 B* e" ?3 E/ K: G: L! m) N; K2 u; K5 O0 N6 x
就打了一个天光,没优化参数,蜗牛机器渲染的,放上来提个醒  7 k8 b) t; g" I) C; o
( y, r) Z& }; |
7 F4 A2 S+ f3 o# X" y
6 g0 I# U  B+ V: X

( h. u/ {: m  \& G' n9 b2 \2 O) ?0 O3 {, T' t
提高VR渲染速度的最好方法(经典转载)VR的基本渲染方法掌握起来并不难,但是最迫切需要解决的问题是VR的出图速度问题。动则需要数小时的渲染时间真的是很难以接受,我们从三个影响速度的参数结合网上一些高手的教程来分析一下。 1 x6 [* z( Y" M" u! Y9 ^( N4 X1 m

' [, ?$ ~1 v' d$ _5 o一、Irradiance map(发光贴图)
' O- N( E+ D0 {二、Light cahe(灯光缓存)
4 t0 G9 Y* A. H# Y% N4 r6 l7 [三、图形抗锯齿方面Image sampler (Antialiasing) 8 E" l2 z+ F' g" C

6 [/ Q, c7 M% J1 n9 h) ?一、Irradiance map(发光贴图) 6 I; }0 w5 I' v
5 B0 I* ]. A5 L6 l* p6 @9 N9 x
大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比
' Q$ E' j" T" G' b) q* G: F. |: }$ ?" j2 B# ]
渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。
9 G0 j* v$ ]1 ]& @! Z
* b2 H8 v2 i9 T, `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 / J: |: Q+ q% x6 E5 \

6 C5 H( r5 J4 t8 \0 k& E* Wmax=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.
5 ]( a" m! ?1 W9 Y. S& {: _# E* ?, h4 O0 M
虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。 % q; m/ t0 N( X4 }) r( {1 I
* v, R+ m( w' n: ^+ ]
min值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4 (细节不多时可以用-3),而最终出图可以用0(-1)。
9 i/ e) _- x7 E& B0 o, {1 O0 S! j+ `/ q; w& a; ^
HSph subdivs:值越大速度越慢!测试20,出图用50,不要超过80 0 h1 n9 J+ U, n' U
( C4 m2 ~4 u5 K4 |: k
Interp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。
% e2 J) ]* E" D; O  y, `
# H# V. {3 _7 ]9 u1 S9 xClr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。
' F- u' t% C; q
; }7 K, C9 k- ONrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢 6 m6 H5 a" ~0 z6 H  L

* a; A5 u$ z: E+ ]Dist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大 9 H0 Z3 c8 ~8 a& m4 S

0 S/ l8 ^1 U% @/ c3 L% r/ FOptions里的选项一般都不勾选,勾上的话都会减慢渲染速度的。 2 A* U9 M6 E, d% M

. C# o" r" k4 Q. ], l, w: u8 `& e; ^7 {9 L3 |# F. e" d( y
二、Light cahe(灯光缓存) & v3 ]) O4 Y, C! s
: B3 D+ {3 w$ L8 _5 y
灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。
" S& n" s$ J& c6 F; }
+ M# i5 s2 I( j  HSubdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。 * a& l% M( H' h9 A: S# d4 I, _0 [
0 }6 ~* f8 v+ F1 N$ s5 M. E  {
Sample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。 " G5 o# p5 K( N$ s9 b8 x
0 D5 X$ S, h$ e$ s
Pre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-15 ; K' z/ U' g' H2 A$ A: u! T
# {" H9 Q; j# D, V# g
Filter下的Interp samples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5 $ H5 \6 i2 M% a$ T: Q( b
+ W4 t* G2 Z) L5 C- c
7 ^6 P5 f7 o2 a, u2 w& I
图形抗锯齿方面Image sampler (Antialiasing)
5 r! T6 b1 q: v+ Y5 b, H5 J; W6 Z5 p) b* H0 y7 L
1、无反射模糊,图像质量相似的情况下,adaptive subdivision最快
; [" v, X- ~6 j5 F1 k8 X* z
& c" R% [& O/ l  ^, P比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate-1/2 5 G% H5 Z4 w! D  q4 T6 g

% Q9 L, ?% ?! a" r' f2、大量粗糙表面多bump贴图,simple two-level 最快
$ v* X/ n& p+ W9 `& t( _9 ]; J; E% Y' h+ D/ m
比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate0/2,threshold=0.05
$ I% Y  n+ K6 q8 A! A4 C
( i( O; s1 j! Y7 p) B3 p! O' s3、如果场景中有大量模糊效果,包括运动模糊,模糊反射,高光模糊,景深等,Fixed是最快的
8 Y9 X9 g/ {/ x$ x4 l% [1 y" S如果场景中有大量凹凸效果,包括bump贴图,置换,noise等,adaptive  QMC或者adaptive two-level是最快的。其他情况用adaptive subdivison会比较快。
9 Y; Q9 c# m! M( p# y: {) g) ?7 @3 r2 j' S9 G8 O0 @" v
根据不同的情况选择不同的抗锯齿这个很重要!!
# ^! J0 L, |) h: g: N6 C6 N; x  o6 S  ^- ^3 O/ ~. h* X% F$ ^

8 S. F8 w/ y; _: e
/ |, M2 [8 ?6 k5 l- Z# {另外几个关键的参数: ( a  H3 k5 e/ x6 K+ p  p9 ]0 i! x8 U
% w. B+ d! s, F9 ]
threshold这个值对速度的影响非常大。
( f0 B  {  V) W6 @8 H& X$ H) L! p9 R0 a
在adaptive subdivison Clr thresh默认为0.1,测试改为1,速度提升很多质量也可以接受 & P# L: m2 c. g& Y
2 z& X9 M, V, C4 |
在adaptive QMC ,在rQMC面板的Noise threshold默认为0.005测试改为0.1,速度很快质量还可以。
3 L3 a0 x% c: S  E
2 N% _/ j, l/ P% o' \/ X9 z如果在adaptive rQMC image sampler 里勾选Use QMC sampler thresh的话,那么这里的域值采样直接由rQMC面板的Noise threshold决定。
9 j% r3 {. w" ^; S5 b7 _$ n
8 b& C9 X$ {  ~7 M如果没有勾选则有Clr thresh来决定,默认0.01测试改为0.1,速度快质量也可以接受 3 Z1 a: H, \* z5 i' y4 L
: ?, _+ H3 t! t8 Z8 \8 w
Object outline:
2 ^5 E* F. B9 s8 Y+ r; |
  F$ t# w3 g; }- z* h3 v当场景有大量细小物体,抗锯齿方式是adaptive subdivison时,如果勾选Object outline,那么渲染会非常慢。这个时候我们不要勾选object outline而用Clr threshold来控制图象质量
. T0 Q: Z/ b4 T/ l5 X- ^2 s2 J8 V' K6 W
Nrm thresh:这个是特定的法线区域采样,如果对阴影要求不高的情况把Clr threshold设置一个较大的值5,勾上object outline和Nrm threshold这样速度也有不小的提升。
5 s; @, l$ u( p
! \% A. I# K/ c( ^0 h, R4 B与渲染速度有关的还有发光贴图里的二个参数: 2 X, f- h9 m2 {( d5 s- D1 y
9 X" A' c  Q2 n3 }  l# d
Interpolation type插值类型和Sample lookup采样查寻 . o$ s' |0 }, ^- q/ r# ^6 |( c/ K. H
6 F+ w: b  T: n0 I) t
一般只要将Interpolation type设为Least squares fit(最小平方适配法),
* s# ^9 v1 J  C* D+ C# I( s# z7 ~" ?9 I3 p$ i/ |5 L6 n: Y
而Sample lookup设置为Precalculated overlapping(预先计算的重叠),就可以满足我们的大多数要,且速度也很快。   d5 j' L: u5 h( v! W" o

2 L1 [1 Q7 |" M8 F+ @6 d7 ?7 [如果质量达不到要求就再试一试其它参数设置(记住Nearest只适合用于草图预览)  
6 D1 B" l& l$ b* F+ G; `' I% D" p
Check sample visibility检查样本可见性,可以减少漏光现象,但速度会减慢
; w  |/ F8 V5 ~8 O/ y& Z  n- f% \/ a3 Y: E+ X- }
关于coolmoon的帖子:
# X4 }, j' ^) ^9 w
+ s$ O& t/ Q+ Q1 H7 a. _6 V; h提高速度的方法:把所有面积较小的物体选中,把它们的全局GI关闭,只让面积比较大的几个物体来计算全局GI
# I% z$ Z, |; a7 @1 }( T  O  ~/ M* N8 q- G& m" p. k( k
他提及的抗锯齿提速前面已经分析过了就不再总结了。
9 w; l$ u! r. a" @
% r7 u9 K& b2 G' ?+ I( }" ]* w关于暴牙龙的贴子: ( H- k- B+ E: N" E. l. O
& S; a( [) R1 M0 O) n, R
1。不要用太多的灯光反弹  
. H: ]) x2 Z# }% Y# y2。不要用太高的发光贴图设置渲染大分辨率的图  " i' j$ b+ p# f& F- o1 S; N9 e
3。经常保存发光贴图  
$ H- t3 L: s- n5 }# S0 W3 ^4。弄个大点的内存 1 p) ^9 ~$ l$ Y4 D/ ~, w
5。抗拒齿不要太高
! a. Y2 g* _6 S2 I$ R9 Z# `! z6。不要用太高的反射折射级别  - ^4 A2 N( ]; n4 m
7。用透明贴图的采样不要太高  8 X5 n% G. N6 V7 U5 {0 e& h& }
8。把不重要的物体的GI采样强制降低  
: `1 }* B% \6 G4 G9。不要用凹凸贴图和模糊一起用  
2 f: X% B3 _) N* ^1 O. T10。不要渲染太高分辨率的图,够用就行
" R( X! L+ A6 Q- k) p$ p# `11。能用PS的就PS,比你用3天MAX渲染快多了 # }; V8 \: e" j  k( J
1 g: i1 H% p: |

2 @5 w/ L& }( y' t1 p* e这是他的原话!!
9 X3 k  N8 ?( S6 b
, F6 L5 x# ?1 n4 P4 f下面是经验参数:
3 r" [* u: y5 {* \. o* h9 @. D" E9 @  W
1、木地板模糊反射0.85 和3,反射次数调为1 . w3 X9 [; g; [2 O

8 A3 N  t" F! z2、最终光子图的 IM参数rate-3/0,Clr threshold=0.2,Nrm threshold=0.2,HS=50,IS=20 % G# l2 `" }( C- a( f6 m
! t* w& c! P7 ?% q3 @- p, g* W9 z
3、用vr灯模拟天光是勾上sotre with irradiance map速度会快点
! f8 l  l% M' ?# f+ o+ G8 R# K! q" r0 L' W* N
4、算好光子图以后再加对场景影响不大的灯
1 ^  V7 N6 S3 K' A2 U' l8 W0 B. K
& s* c* K( D# u  p4 `! Q. @5、关了辅助灯计算光子图,要正式渲染时再打开,若想效果更好点可以打个低亮度的vr灯模拟光子反弹效果
精华推荐
换一换

发表评论26

  • 375724685 2010-4-23 22:31:05

    .gif" smilieid="74" border="0" alt="" />.gif" smilieid="74" border="0" alt="" />

  • niexiaoxia 2010-4-24 20:33:43

    回复 1# 375724685
    * G; c7 A, T8 H9 W+ G0 Z3 D# j; o$ T

    + I5 g$ X- Z  Q( q% ~& d5 a) Q) w  A; }   学习

  • 潇宇 2010-5-22 12:17:02

    回复 1# 375724685 / [6 |9 F5 w; |: J% N( i+ t3 F2 d
    2 _2 G+ y, F5 z( H5 ?! K
      M0 {& O* E, c) F. f- Y, M2 b3 a
        好

  • 老A~~ 2010-8-17 11:53:54

    挺  了  挺不错的  、0 S9 z& I3 Y- z
    、感觉学习的 东西太多了啊

  • 波文 2012-3-30 12:16:28

    诺是中文 该有多好啊。 我还得对照你的去看。

提高VR渲染速度的关键 (高手必看)求+精
拓者推荐
  • 福州阳光城象屿登云湖
  • 上海绿城弘安里新海派别墅
  • 郑州美景东望五层别墅
  • 李益中-科大硅谷样板间
  • 【豪宅设计】铁建越秀樽樾
  • CCD-蓝城·七星潮鸣800户型
  • 唐忠汉--重庆阳光城·别墅
  • 拓者年费 季度会员,十大福利!
  • 恒信龙泉映山谷·春秋府别墅
  • 一三装饰 | 西溪半岛别墅