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

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

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

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

x
本帖最后由 375724685 于 2010-4-23 22:30 编辑 ( r0 w# V, R" j& W8 ]2 t  ]
8 J, Y" L( _- M! a- |6 P) ^
在上一篇文章中结合论坛里的暴牙龙、coolmoon、henry0421他们的帖子分析了一下提高vr速度的一些经验和参数,这次我们对照Aparkey  
0 v* A9 [( ^" D9 \  q的学习笔记来研究一下。其中他提及的大部分参数都经本人亲自验证过,并总结出了一些经验参数可以供自己以后出图参考。  ) T2 N% l- ]2 W( I# \3 s8 |2 D8 ]
上次对于抗锯齿对vr速度影响讲得比较多,那么这次我就GI对速度影响来分析一下。主要是针对光照贴图和灯光缓存。  , w& u2 q; a7 v" b) L+ T# \
一、Irradiance map(发光贴图)  
! f: u9 i4 K8 P, y. p- j$ t大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比  + H$ K) y5 o1 x4 \4 A
渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。  
" M$ g' ?. t! j: P" m1 n& Smax=-1,min=-10/9.9;-9/9.75s;-8/  
" G1 O0 O+ i6 s: W9.73s;-7/10s;-6/10.3s;-5/10.0s,-4/9.8s;-3/9.85s;-2/10.45s;-1/12.55s  
2 l* z( w7 h& ^( G% }! ~max=0,min=-10/17.3s;-9/17.3s;-8/  
+ X% N3 s3 K3 z- x17.5s;-7/17.8s;-6/18.1s;-5/17.7s,-4/17.3;-3/17.4s;-2/18.3s;-1/22.5s.  7 [  F# P$ D* F$ h
虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。  0 f9 j+ y2 B' X8 H; o( H
min值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4  
( o& U2 s8 o' ]( h/ A. s(细节不多时可以用-3),而最终出图可以用0(-1)。  5 i  y8 K( Q, f( }
HSph subdivs:值越大速度越慢!测试20,出图用50,不要超过80  1 T2 A8 l$ y7 ]- Y1 `5 N/ q& e4 v
Interp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。  * ^. l* k. y4 ~
Clr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。  
" q$ ?# B- T4 N  v2 \1 SNrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢  
/ W: ^$ T! Q: h8 M) a: wDist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大  
6 g, C  _3 t7 l" FOptions里的选项一般都不勾选,勾上的话都会减慢渲染速度的。  2 m. ^' E% ^  q4 p& B$ w
二、Light cahe(灯光缓存)  
; b2 H( \5 j2 ^0 O灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。  
% r4 z. y+ U" u8 F+ zSubdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。  ! Q* Y% `2 s) h9 R7 }
Sample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。  
5 h8 l# S7 k, L/ JPre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-15  
7 A3 J3 P* W2 `4 RFilter下的Interp  
- x6 e4 S' K# Wsamples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5  
3 g# o3 @1 A5 ~( y, q此主题相关图片如下:  
* r3 g" Q- v+ Q% \1 e: N# O! G  [1 s* R& z8 s* u
# O! A$ H; W( b, A
就打了一个天光,没优化参数,蜗牛机器渲染的,放上来提个醒  
2 G2 i7 P9 X8 y+ d0 E9 u$ L, j' D; {# v3 a! h
/ A" B: M5 k* I* t8 X

! {- O6 ?: `3 R; Y1 p1 O' ]" e0 b8 V9 H, E) a/ T$ K
% Y5 w! _7 |) e- |8 m
提高VR渲染速度的最好方法(经典转载)VR的基本渲染方法掌握起来并不难,但是最迫切需要解决的问题是VR的出图速度问题。动则需要数小时的渲染时间真的是很难以接受,我们从三个影响速度的参数结合网上一些高手的教程来分析一下。
- m' b+ h, R" ^* Z8 Y" U
& q- Y8 s# ^- q, f% }一、Irradiance map(发光贴图) # G! p2 E% p! c3 B
二、Light cahe(灯光缓存) 1 W, @' k' r6 K9 L5 l0 ~$ Y9 X
三、图形抗锯齿方面Image sampler (Antialiasing) 2 Y: c7 D  L) S* ?' ?
! ~- f0 J: X  `/ f4 A$ `! j7 \
一、Irradiance map(发光贴图) ( Q. l; @* D* m- U

+ o! i% e3 {3 J7 K8 E0 w大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比
2 ]/ L/ }# L# }6 l" f& `; a& O; q
* f5 J% I; R8 n. [$ ~渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。
% ?% Z9 l  K$ q* u" U, J4 R
- A; p: e; }7 G$ E/ K0 vmax=-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   @# Y% N* ~; h  N! i

7 T* @  O( Y, a4 x! R3 s/ Vmax=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.
! p: P3 k9 a7 B* R% N! X9 n$ F3 x
虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。
% V- B' }+ T9 U) _( ^$ q. @7 [/ A' G, ]8 ]3 `
min值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4 (细节不多时可以用-3),而最终出图可以用0(-1)。 - B  W* `" n& j6 c* X- s2 g/ t
& {# w; ~1 _  f: O
HSph subdivs:值越大速度越慢!测试20,出图用50,不要超过80 , e1 ]" L3 j- Y1 l2 t  `# s, e% e
/ t+ C3 p4 ~) w
Interp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。
& f! s5 T& I" H
" W0 @3 Y: U  p# u5 l  O$ GClr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。
5 y2 H2 c2 {& Y3 t3 t" Y0 \8 M+ U; b& p  G( t0 d$ m
Nrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢 . o2 l1 w- s5 P, w( ~( j- w

' U2 O! [: }- J7 }) TDist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大 ' [/ c/ ]! g+ Q5 e* g7 c

* x7 M  Q8 h3 gOptions里的选项一般都不勾选,勾上的话都会减慢渲染速度的。 - V* P  Q% a0 A/ |& G8 Z
) h3 O7 u# p3 s5 G& o* a1 A

3 i) s5 Q" T" U# t3 i! F二、Light cahe(灯光缓存) / X$ m3 x# N( i* z9 t7 A6 w
  m6 _9 A  _+ H( R
灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。
6 O( W" B* O( \1 L3 v
. F$ i5 c+ C* e" M# PSubdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。
- Y( ]* q6 k2 s9 H3 ~; \
- a! ~0 d' o2 s0 P4 M3 P3 \Sample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。
! {; T0 S$ _9 L3 G5 e
/ Q! u% s1 G6 u( s  d0 pPre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-15 ' [. h' W7 r) M; `( z1 y

9 J: p$ N: g/ |! iFilter下的Interp samples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5 8 E% ?4 m3 k; k: U5 ~* X/ q* z
( g0 A0 J7 `3 [

; u  X. D/ l: V: Q) z图形抗锯齿方面Image sampler (Antialiasing) ) o8 v( i0 L4 p7 s1 w" d
: ?+ @$ j6 D: Q+ J7 R! i0 D: @$ H
1、无反射模糊,图像质量相似的情况下,adaptive subdivision最快 ! G& }! Y( Q6 N% T& K; y' `

9 t8 a) r: ]8 Z6 b" P' G比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate-1/2
& W; A! A1 r% a" ~6 J+ i
. h6 @  U# k  y" W6 l2、大量粗糙表面多bump贴图,simple two-level 最快 " d: r% v! O/ U' ^. o5 E
! @: t) K4 x. }+ z& l! k
比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate0/2,threshold=0.05   `# w4 ^# y5 V& E
9 I' c& }) [* `1 e4 L0 C
3、如果场景中有大量模糊效果,包括运动模糊,模糊反射,高光模糊,景深等,Fixed是最快的
! x/ h' I9 C; T/ l$ J如果场景中有大量凹凸效果,包括bump贴图,置换,noise等,adaptive  QMC或者adaptive two-level是最快的。其他情况用adaptive subdivison会比较快。
' M5 Y6 i8 p$ J! ?- t" Z  \2 S2 C! Z, Q
根据不同的情况选择不同的抗锯齿这个很重要!!
, L& w% R$ V' G6 d! q7 J- k+ B* P3 m
9 @  p7 x$ y" w, k

4 A$ r% s1 d3 S6 x# H( @+ l另外几个关键的参数:
) [  |% W, ^6 K1 a4 X; ?# T2 F& B- D4 F" S0 U. S9 C5 {$ {
threshold这个值对速度的影响非常大。 ! h) t2 T6 Y% |

4 I& y1 H5 a5 d& k  j% \在adaptive subdivison Clr thresh默认为0.1,测试改为1,速度提升很多质量也可以接受 , O& `: n: S, K9 D9 z
) g: y4 f+ w# i
在adaptive QMC ,在rQMC面板的Noise threshold默认为0.005测试改为0.1,速度很快质量还可以。
  s/ j) h1 p4 e" ]% W$ _0 H$ c  i  d* H/ c$ b  Z
如果在adaptive rQMC image sampler 里勾选Use QMC sampler thresh的话,那么这里的域值采样直接由rQMC面板的Noise threshold决定。 8 a( y+ I( E' ~  C) ^$ L' i, \
# h2 r/ H$ q+ ]; r
如果没有勾选则有Clr thresh来决定,默认0.01测试改为0.1,速度快质量也可以接受
2 N0 e: o$ ~+ ^  U4 U5 ^+ }& Z( r/ Z8 ?3 Z/ K1 X! a8 X8 o
Object outline:
9 W/ o8 g# a  O0 S: \1 C1 l: c8 N5 v, Q; Z/ ^1 c
当场景有大量细小物体,抗锯齿方式是adaptive subdivison时,如果勾选Object outline,那么渲染会非常慢。这个时候我们不要勾选object outline而用Clr threshold来控制图象质量
; L+ D8 h, M) @+ N/ ^+ s4 a( q! a2 A! J; W6 \
Nrm thresh:这个是特定的法线区域采样,如果对阴影要求不高的情况把Clr threshold设置一个较大的值5,勾上object outline和Nrm threshold这样速度也有不小的提升。
( v7 l/ T+ r% t% A( J) w' I0 ^) x" }; c1 L' t* a' [2 G, H
与渲染速度有关的还有发光贴图里的二个参数: $ O& Z- d# |' _& F. f: o  P
$ ~2 }  e* A+ Z6 n* g4 R
Interpolation type插值类型和Sample lookup采样查寻
$ S2 M0 V# J" @. ^( ^% K
6 ]  ?! y, p5 P5 a; z, f" ~一般只要将Interpolation type设为Least squares fit(最小平方适配法), & \9 v1 d* N; l  ^- E+ |' {
* r/ g) i6 t% ]* J+ B& v+ a$ U6 Z9 B
而Sample lookup设置为Precalculated overlapping(预先计算的重叠),就可以满足我们的大多数要,且速度也很快。
* ~) z1 d* Q1 F  Z& B9 y, P  @. p2 D5 m
如果质量达不到要求就再试一试其它参数设置(记住Nearest只适合用于草图预览)    K6 Q7 c$ `- r! Q

" J/ U* n* j0 ^8 r+ }: i9 F: wCheck sample visibility检查样本可见性,可以减少漏光现象,但速度会减慢
& g2 J8 k5 ?5 ]! F$ k1 s, s  @! n6 B4 a4 X4 @' I! z# G0 m& [! W' T
关于coolmoon的帖子:
. @5 k3 K: B& d& ]  ~8 N" q& x# z. X, w# C6 i6 f# m8 \6 V  e0 |
提高速度的方法:把所有面积较小的物体选中,把它们的全局GI关闭,只让面积比较大的几个物体来计算全局GI , N/ E* W! J+ D0 P" {& L4 O2 d- D/ B
- o1 Z- p( O1 U
他提及的抗锯齿提速前面已经分析过了就不再总结了。 5 `( {; g, O0 \9 E
" F- S: }& q8 ~3 r1 D1 M, E6 ~, ^
关于暴牙龙的贴子: 5 y7 D6 C: B0 [, U; A# d, ?

9 B' n& |, D6 C* t+ }/ f& I1。不要用太多的灯光反弹  - z3 w0 h2 D" [5 r" T
2。不要用太高的发光贴图设置渲染大分辨率的图  
! }/ @$ y! }, `! y$ V9 X3。经常保存发光贴图  
+ ~" v' [3 R6 _5 r/ _& y4。弄个大点的内存
. A6 _0 ^+ Y9 g, h5。抗拒齿不要太高
& S- a; Y0 Z" ^6。不要用太高的反射折射级别  - d' T3 M7 K0 r( F; V! G9 b9 t
7。用透明贴图的采样不要太高  
4 Y& q0 a" D. l% {8 V# I! `8。把不重要的物体的GI采样强制降低  $ D2 [: ^) E' s. U- a
9。不要用凹凸贴图和模糊一起用  
  B* t0 ]7 L/ e( }10。不要渲染太高分辨率的图,够用就行 ; r5 Z6 e, O6 p$ i
11。能用PS的就PS,比你用3天MAX渲染快多了 ; w1 k" a% a5 K. p/ G, G

$ e8 y# ~* ^( N* b8 J1 m! Y! S; A+ u; p; u+ Q  b7 O
这是他的原话!! 5 \& i3 L6 y5 V7 u% G# o' X

4 @1 W0 \1 r( P7 X' x1 z; c! y下面是经验参数: ! R' v$ f: ?! V
$ n' G# K9 l" v' R: W9 w" ]* E
1、木地板模糊反射0.85 和3,反射次数调为1
: A8 N8 g( ~1 H. O
) X3 B2 d- P0 O$ @( L2、最终光子图的 IM参数rate-3/0,Clr threshold=0.2,Nrm threshold=0.2,HS=50,IS=20
3 r# T2 V8 S* L" s2 }3 A. M! @3 K/ L1 y9 g
3、用vr灯模拟天光是勾上sotre with irradiance map速度会快点
( f6 J. }, l% S! T+ N5 F* {
( U+ K  v7 v1 [5 s7 ?4、算好光子图以后再加对场景影响不大的灯 8 I4 U9 o7 B/ n
2 ^+ r: K8 x/ w1 b* F& P; e
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
    9 g2 G  X% n; V7 y; Z- }4 r& j  ]/ h! e" f

    * v- V6 f' O* G# c2 O. a% T! q   学习

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

    回复 1# 375724685 1 n8 H) m& |" M1 y3 j" I

    # G9 K' a, }$ r$ d" d3 C  S. g) h, E# i
        好

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

    挺  了  挺不错的  、6 X+ x" V, M8 Z+ X% _
    、感觉学习的 东西太多了啊

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

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

提高VR渲染速度的关键 (高手必看)求+精
拓者推荐
  • 【广州站】设计师创业课
  • 【广州站】收纳设计思维训练营
  • 【广州站】户型优化总监内训课
  • 【广州站】 风水丨设计与签单课
  • 【广州站】获客实操训练营
  • 2025拓者年费+案例Vip会员说明!
  • 【 拓者年费--CAD图纸】
  • 【 拓者年费--户型方案】
  • 【 拓者年费--豪宅视频】
  • 【 拓者年费--灵感图库】