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

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

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

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

x
本帖最后由 375724685 于 2010-4-23 22:30 编辑
* D- W% V) ]3 |! ], U
1 ~/ y0 c6 G& t) V在上一篇文章中结合论坛里的暴牙龙、coolmoon、henry0421他们的帖子分析了一下提高vr速度的一些经验和参数,这次我们对照Aparkey  4 |: H5 ?% U/ r
的学习笔记来研究一下。其中他提及的大部分参数都经本人亲自验证过,并总结出了一些经验参数可以供自己以后出图参考。  
  @3 I. B8 x+ v7 @* w4 r上次对于抗锯齿对vr速度影响讲得比较多,那么这次我就GI对速度影响来分析一下。主要是针对光照贴图和灯光缓存。  * P' _3 J9 w/ J
一、Irradiance map(发光贴图)  
$ E) t/ b2 J& I0 ?: e# z大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比  6 ^9 u+ N" Q( i
渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。  + e4 `+ U' f: U
max=-1,min=-10/9.9;-9/9.75s;-8/  
- ]& ]7 ~# ^# X! H1 c$ a/ n5 o# K) `9.73s;-7/10s;-6/10.3s;-5/10.0s,-4/9.8s;-3/9.85s;-2/10.45s;-1/12.55s  7 B; j0 a" F  o( a
max=0,min=-10/17.3s;-9/17.3s;-8/  ! g4 V( F0 ]$ |
17.5s;-7/17.8s;-6/18.1s;-5/17.7s,-4/17.3;-3/17.4s;-2/18.3s;-1/22.5s.  + ~& }( V) A2 ^3 d. A
虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。  2 D% }- U: Y, \- b
min值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4  
- ~5 p( @8 _5 [; {, C& g(细节不多时可以用-3),而最终出图可以用0(-1)。  
, @' g5 t) I+ s1 kHSph subdivs:值越大速度越慢!测试20,出图用50,不要超过80  + ~- q6 z0 X, i6 f! s! Y7 ]
Interp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。  
( a! a/ v5 g) bClr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。  
% _  C3 R/ f2 e  ?6 C" X8 H& QNrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢  : g( u' Q! ^* H9 ]% O# M5 n  Q$ @
Dist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大  + }7 ?% a# N; }5 w
Options里的选项一般都不勾选,勾上的话都会减慢渲染速度的。  
4 B. s/ S9 F* N$ _* h; f二、Light cahe(灯光缓存)  4 ]4 L" B4 w! I
灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。  
- d% n# m/ Y0 x; U8 _9 wSubdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。  # O5 |, a! Y0 P3 k( d3 I
Sample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。  + T7 T3 S% |' n8 z: z+ u1 q6 {
Pre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-15  + |% {9 X3 E! h  P/ q% t
Filter下的Interp  
4 K; g. V9 x( F9 B; Osamples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5  7 T" R% f9 j( l! k2 s
此主题相关图片如下:  $ |1 ]* H( b1 [0 i% i- d1 G

0 v0 k+ z$ n* M- W) G! w4 r7 G6 D7 `$ {
就打了一个天光,没优化参数,蜗牛机器渲染的,放上来提个醒  
( l8 w2 o  r: [( j1 v0 U* q4 n% \5 F/ Y1 _/ A( j0 y1 C
/ P  r+ k& {' I4 u6 Z: q
2 Z7 H; Z, f; H6 ^8 L4 S& @* h

; d9 R$ Y4 J6 i3 L; v0 v1 ^: h. L2 e2 ~  I& M4 f
提高VR渲染速度的最好方法(经典转载)VR的基本渲染方法掌握起来并不难,但是最迫切需要解决的问题是VR的出图速度问题。动则需要数小时的渲染时间真的是很难以接受,我们从三个影响速度的参数结合网上一些高手的教程来分析一下。
1 q8 `% t8 a+ N0 @; A, e- [1 ]) d+ Z8 L0 I9 v% f: U& l
一、Irradiance map(发光贴图)
7 g; {/ R# }: s* P0 O二、Light cahe(灯光缓存)
! \' H4 D) U) r- Z) |0 T; @三、图形抗锯齿方面Image sampler (Antialiasing)
( P$ c& W# c9 P4 q
8 U8 q- }. q; ~8 {1 y( W& B一、Irradiance map(发光贴图) 8 D1 N; ]$ E* h- T

; V" Z& v$ G0 y大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比
4 b( W! D/ I) N- J8 x5 c6 j
8 B! ]* M+ f! J% O渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。 9 M, ~# E/ _, l$ A
3 z( |2 p7 U8 H7 P
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
4 W  @& W3 J9 v' ]
. t- t/ Y# @6 p) P( D9 v6 ^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.
3 P' F+ p' |! F! D/ n; R
* A4 r5 f$ T2 T& w) o, v虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。
8 F* N1 c% m; x9 D
3 S- c  d1 w& U2 R2 _, v: u9 o  {min值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4 (细节不多时可以用-3),而最终出图可以用0(-1)。 4 i% x  v) _8 C- c
( c& }" V! k4 |  e7 |- q2 p( U$ G
HSph subdivs:值越大速度越慢!测试20,出图用50,不要超过80 0 Z8 ~. \" m( y& P* ?) y- g* p0 s

0 ], c, l2 l+ m$ kInterp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。 1 z, _* g( u9 ]0 a/ ]
6 E" V# x6 ^1 F
Clr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。 $ L6 |1 V& S5 z9 ^7 e  n

% G3 W2 D# f. l: q' XNrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢 - r6 S8 P- H1 k- X
( Q7 P' y! \. d% |
Dist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大 + I4 \' j7 e5 ^  q3 b1 B

, y6 Q, j) u" _" xOptions里的选项一般都不勾选,勾上的话都会减慢渲染速度的。
- s% e6 q( @# l7 S1 L8 M: h+ B- E; d# V+ \

0 [, c: C: t% A( }二、Light cahe(灯光缓存) " n$ h+ W9 |0 d
/ w9 L" ^9 N$ k
灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。 6 n3 M3 ^$ N; Z0 p
/ h5 D2 B8 ^: k  O* d
Subdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。
; j4 y9 F4 g3 x! J7 Z# q7 P; i, R
9 `- _& `: G! \9 m5 h" NSample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。 # Z% x, x! R% S7 M% s; y

( M( ~: k+ C3 V( X3 X: ]$ j$ T# zPre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-15
$ V5 X- D; H2 _+ Q* I* ]3 K- O5 |; u; z1 B0 \( F
Filter下的Interp samples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5
" t2 W9 A. s9 X1 o. ~- P
$ D' l2 S0 W) q( S0 L. H2 J
) Q& C1 g. Y" E, ?5 q' q图形抗锯齿方面Image sampler (Antialiasing) 5 z; j( K) y" D5 K% U% c+ Q
3 G! R) k/ g7 C# g' F" C4 s
1、无反射模糊,图像质量相似的情况下,adaptive subdivision最快 " |9 V5 Q0 h6 G( L+ h" G  b2 [* z6 d; }

( {# n5 a- v" _1 e' h" \/ C比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate-1/2
) n% T0 [- V* q. t3 x
3 @, R$ e! x6 w) n  T, z2、大量粗糙表面多bump贴图,simple two-level 最快 . _% q5 Y* C- g1 S0 e2 M* ~( ~  E
- o; d# H2 w, L  ~- f
比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate0/2,threshold=0.05 ; j: _( P. e2 \' l/ \. g
+ Z3 e# y7 b4 D- C6 S
3、如果场景中有大量模糊效果,包括运动模糊,模糊反射,高光模糊,景深等,Fixed是最快的 % X# y; o* h/ R! N) }2 O
如果场景中有大量凹凸效果,包括bump贴图,置换,noise等,adaptive  QMC或者adaptive two-level是最快的。其他情况用adaptive subdivison会比较快。 6 \! i, w( a# y! d' e! U9 F

7 @% G5 I! v7 v) \根据不同的情况选择不同的抗锯齿这个很重要!! 0 f0 h0 u! z& Y5 z

5 a- v9 Z/ p. h  b2 d5 m" P/ Z4 f* R0 L& K* |
; S3 x; u* O1 z
另外几个关键的参数:
4 \/ u1 z! c' |: t% B( W% h
: Z$ W  \0 \3 d) nthreshold这个值对速度的影响非常大。 # P$ E& j+ v) |, f) r5 F% d

/ H& X. p, Z/ U& u9 I在adaptive subdivison Clr thresh默认为0.1,测试改为1,速度提升很多质量也可以接受 8 z2 u: k: g3 w1 Z8 U
; J4 p- P8 @4 y6 F2 f- x
在adaptive QMC ,在rQMC面板的Noise threshold默认为0.005测试改为0.1,速度很快质量还可以。
! x  ~% f* Z6 }3 x/ G
$ o0 U) Q0 g+ N4 ?# g如果在adaptive rQMC image sampler 里勾选Use QMC sampler thresh的话,那么这里的域值采样直接由rQMC面板的Noise threshold决定。 5 j: m. `& y5 i4 M# u

9 w5 B4 Z; F! @6 o% f5 A如果没有勾选则有Clr thresh来决定,默认0.01测试改为0.1,速度快质量也可以接受
0 c  N( \  {3 D1 E& z  H- x1 I# T, D- |; t, b8 _* g8 v: S& {: n( m
Object outline:
0 k. G- R0 f4 Q1 c% E" _$ l( k" I5 [' c; a' d4 R
当场景有大量细小物体,抗锯齿方式是adaptive subdivison时,如果勾选Object outline,那么渲染会非常慢。这个时候我们不要勾选object outline而用Clr threshold来控制图象质量 4 I! o. a/ U7 y$ c$ `3 a, q8 v

3 a+ G" I. \7 ^7 R4 }$ MNrm thresh:这个是特定的法线区域采样,如果对阴影要求不高的情况把Clr threshold设置一个较大的值5,勾上object outline和Nrm threshold这样速度也有不小的提升。
3 o' c. R0 W9 Y7 ?4 W1 H' A, H% K- @5 \1 }. t
与渲染速度有关的还有发光贴图里的二个参数:
2 G  k3 c* P8 s  m4 b5 j: S$ l. a  d# Q# P5 X
Interpolation type插值类型和Sample lookup采样查寻 : p. i: r9 J1 Q& y  C! F. u
- Q8 c; H) ]0 f
一般只要将Interpolation type设为Least squares fit(最小平方适配法), 2 B' W% k8 F& f/ i% q2 N4 a, ]0 Q: K
4 n; l7 k& C$ m$ J' I% G
而Sample lookup设置为Precalculated overlapping(预先计算的重叠),就可以满足我们的大多数要,且速度也很快。
; `  ^$ U. u. b, e1 r! e
# W" C/ G; c7 p% R4 G4 k; I7 n/ A如果质量达不到要求就再试一试其它参数设置(记住Nearest只适合用于草图预览)  + f# X& g- b1 F, l$ }* P. z2 [3 S
, }1 g. b. Q" Q& e) S
Check sample visibility检查样本可见性,可以减少漏光现象,但速度会减慢
, ~2 N; M9 m7 o9 E! V- C+ ~& ~/ k4 N  i: o
关于coolmoon的帖子: - `# f" d2 X$ Z. Y5 x
/ @$ ?0 z+ U( r5 M! y. L' o
提高速度的方法:把所有面积较小的物体选中,把它们的全局GI关闭,只让面积比较大的几个物体来计算全局GI
2 j  ]6 d; M0 X" |2 ~3 f# i- G( C7 c
他提及的抗锯齿提速前面已经分析过了就不再总结了。
9 c2 M0 \2 {7 f+ B+ y
- `7 A! v7 |4 w/ E! D' M. x关于暴牙龙的贴子: * K5 ?0 W* t- O$ D2 R  `* L* N

2 E  v( M2 s0 G6 c" b/ r4 D1。不要用太多的灯光反弹  
( ~8 M6 C6 k- @/ U) D( r2。不要用太高的发光贴图设置渲染大分辨率的图  : t3 p7 _9 o5 b6 T, V' d
3。经常保存发光贴图  
) N. T4 {! B2 F* Q# M, n4。弄个大点的内存 % w9 o& e/ s. f2 o7 _7 B2 b. J8 q
5。抗拒齿不要太高
) S7 }4 J7 c2 S9 _3 s$ ~0 y3 y* s2 l6。不要用太高的反射折射级别  7 f7 I7 {2 G# r( O% D: s
7。用透明贴图的采样不要太高  ( Z% Q8 p# k- C9 D
8。把不重要的物体的GI采样强制降低  
" N# A+ B0 K' Z' x; K9。不要用凹凸贴图和模糊一起用  
2 \7 y& x0 n; P0 q" L6 q' C10。不要渲染太高分辨率的图,够用就行 . C  n$ S5 V* d* O& G0 z! ?
11。能用PS的就PS,比你用3天MAX渲染快多了
- O  x2 V; n  T5 z- u. f8 c# G$ K7 q2 a

. G$ J( e3 B% j5 Q这是他的原话!! ' u( u* s  X# ?: }1 @7 P# S, s. N
* _' T4 B" s( N- P" @
下面是经验参数: : w/ B' u" p0 _! n5 B

) K+ J% y! w7 `$ l! v1、木地板模糊反射0.85 和3,反射次数调为1
( d  {8 a. I0 ~3 h5 I/ W8 }% b0 i" M1 ?- C  B+ K% J
2、最终光子图的 IM参数rate-3/0,Clr threshold=0.2,Nrm threshold=0.2,HS=50,IS=20
, n; v: s, |3 A, X/ V
2 M) x$ a0 s" F  O% L+ J; y2 z. C3、用vr灯模拟天光是勾上sotre with irradiance map速度会快点
. W7 l6 @/ U# _) }6 p6 E( Z! }) }
8 f6 E" G5 q& {% h/ B/ c  h4、算好光子图以后再加对场景影响不大的灯
3 h* R, F3 ?, g7 X, O4 u& E' ~( W3 C; H/ `. g# q8 [
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 : a* q+ u; A" Y, _# Z0 x& j6 h
    % K( e: ~7 u+ J% ~( @- V+ H9 R
    / D( t4 g" K+ m* B! A1 U% _6 S
       学习

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

    回复 1# 375724685
    * r0 S- R- Z6 Q1 Y1 f" v4 g; ]# i( A2 ]; i* t  [0 ?

    6 m8 P9 h; a+ \% {5 W  q; H    好

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

    挺  了  挺不错的  、
    . ?- P( P) F' Z" T、感觉学习的 东西太多了啊

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

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

提高VR渲染速度的关键 (高手必看)求+精
拓者推荐
  • WSD世尊新作-南京顶级别墅
  • 苏州绿城越溪合院330样板间方案
  • 召禾邵程设计-上海徐汇绿城潮鸣东方
  • 杭州法式500户型合院别墅方案
  • 比佛利山庄1亿美元的豪宅!
  • 2025拓者年费+案例Vip会员说明!
  • 【 拓者年费--CAD图纸】
  • 【 拓者年费--户型方案】
  • 【 拓者年费--豪宅视频】
  • 【 拓者年费--灵感图库】