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

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

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

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

x
本帖最后由 375724685 于 2010-4-23 22:30 编辑
0 u/ [9 x! O' ~7 m  V- ~3 g/ ?
9 a5 U; B9 B+ e+ n8 C* Z1 f2 r在上一篇文章中结合论坛里的暴牙龙、coolmoon、henry0421他们的帖子分析了一下提高vr速度的一些经验和参数,这次我们对照Aparkey  0 l2 Y2 n/ [& @8 ~
的学习笔记来研究一下。其中他提及的大部分参数都经本人亲自验证过,并总结出了一些经验参数可以供自己以后出图参考。  
. d$ l8 p+ A3 k6 T$ g1 Y& z8 E上次对于抗锯齿对vr速度影响讲得比较多,那么这次我就GI对速度影响来分析一下。主要是针对光照贴图和灯光缓存。  3 m( v4 S7 O5 V' h+ P- F
一、Irradiance map(发光贴图)  1 @& a' R5 J8 s, H) h; p
大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比  ! |( W( O" ^, q1 r' a
渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。  
2 p! B2 Y/ _7 ^7 _max=-1,min=-10/9.9;-9/9.75s;-8/  
2 P0 `) x' l( z- A8 I- B+ M1 g9.73s;-7/10s;-6/10.3s;-5/10.0s,-4/9.8s;-3/9.85s;-2/10.45s;-1/12.55s  " F5 E! M, a/ M7 D: A- J
max=0,min=-10/17.3s;-9/17.3s;-8/  
2 n$ r& o' w, x- c: _17.5s;-7/17.8s;-6/18.1s;-5/17.7s,-4/17.3;-3/17.4s;-2/18.3s;-1/22.5s.  5 L6 E9 c( J: s7 M. g
虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。  * r! J" s- ~. I- O
min值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4  1 ~- @4 `9 Y3 H  o* E
(细节不多时可以用-3),而最终出图可以用0(-1)。  . m, m( [* q; m& e
HSph subdivs:值越大速度越慢!测试20,出图用50,不要超过80  
6 C8 ~$ t% j" f& }* EInterp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。  ; @- X& v' u, c: I) Z; I8 h- G
Clr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。  
7 n* T, J. I2 O7 bNrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢  
' ^, N9 c# n7 R2 _9 k) ]Dist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大  
+ g* D5 w% T' {3 QOptions里的选项一般都不勾选,勾上的话都会减慢渲染速度的。  
" F2 _  a( ?$ I+ h9 O; L6 v二、Light cahe(灯光缓存)  ! R! W7 B2 m1 C$ H  r6 Q
灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。  " [0 G+ \4 P% D7 B+ |
Subdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。  
( q3 j( u' \  B3 j9 f) }Sample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。  
0 b& j- o/ k! jPre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-15  0 Y/ x" d) Y. I& Z! H! _4 j% P
Filter下的Interp  ) e" Y$ N: E2 Q, }7 Z: X1 f) M
samples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5  
3 S+ r' G: B+ o9 l" }# p7 E3 W此主题相关图片如下:  
, s4 Y- M) @" a% y( o8 w* X7 I# f
$ N. [: B6 C! c1 A
就打了一个天光,没优化参数,蜗牛机器渲染的,放上来提个醒  , P: r/ q/ }& T
6 Z6 W, O4 C7 r/ P3 Z; `2 ~

$ S$ C. ~/ j( ^5 I( b- A( x0 z$ g' o7 m7 ~  ?; g

( \5 Q- G# [0 |$ @3 S
# O# o) |1 r- V& _4 k+ d提高VR渲染速度的最好方法(经典转载)VR的基本渲染方法掌握起来并不难,但是最迫切需要解决的问题是VR的出图速度问题。动则需要数小时的渲染时间真的是很难以接受,我们从三个影响速度的参数结合网上一些高手的教程来分析一下。 9 P6 h+ K9 W: L1 ]: ?% w5 l3 t

1 W9 w& P1 [  k, T) B* m一、Irradiance map(发光贴图) , `" z' D  t9 M4 h! @9 m
二、Light cahe(灯光缓存) ; {) H# y, @. {* J; o# i8 g- o
三、图形抗锯齿方面Image sampler (Antialiasing) + M0 ]3 B2 c8 @5 R

/ j: `; }7 s9 t( M$ [. E7 h一、Irradiance map(发光贴图) # v; g1 v5 g! g3 @% [' N
# i9 I, K! X  Y& p  u
大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比 8 n! [3 A7 @/ N8 U+ ]

! x( P8 m6 v& L8 ~渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。
) m) _; }8 b/ i  C: v8 V* ?4 y2 a. T# a
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 % w6 |/ Y; T& D; q
* ^, M9 M) T( k$ F( O
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. ; ^" I# e" p. t) S" @

) \, s) h, y$ u0 ?  ?虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。 ) [' S9 n7 \, X( e0 ?# r
, Y- x" [( y" o7 c: E% o
min值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4 (细节不多时可以用-3),而最终出图可以用0(-1)。
$ L1 a" M  l; u  M
+ h3 h% D. s8 wHSph subdivs:值越大速度越慢!测试20,出图用50,不要超过80 % Q$ b/ W  H0 ^2 w
3 x8 A5 l) S# X' r  s2 e/ W
Interp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。 ' a! S8 i9 p0 ]- s" h; R6 ~

; L- @. Z1 E4 C) t3 r8 p) KClr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。 8 \7 K2 K. m2 T8 w5 ]# C

$ y* T; F7 l4 q: J$ nNrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢
0 G/ ?0 J5 |$ K, z: {8 h2 O. h7 [# h5 z+ O; M
Dist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大
3 ^- Z5 y5 D8 j7 K1 s% F. K5 a3 w) x5 V: F* [1 ~
Options里的选项一般都不勾选,勾上的话都会减慢渲染速度的。 3 a  V! R; g/ L, }7 n# l

: X. a* ~7 [/ U: \3 l% o) @/ f# ~2 @+ q+ }) A' k1 g. h' q
二、Light cahe(灯光缓存)
. U0 m7 R7 L5 Q0 @1 E; H3 b4 |6 }) J$ L  S
灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。
* ]: r0 s8 o2 n0 P* o' Z% A& H* l* S( `
Subdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。
9 U6 g3 Y1 R  Y" |
) g+ t8 U+ E& F6 w+ U. H' vSample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。
5 y+ G1 ?7 O" H0 \  j: M
+ N& s! X( g" K! p! r- f8 XPre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-15 6 P  A0 u% q6 A6 z9 [% J: L

7 Z8 ~' z- d* |0 rFilter下的Interp samples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5
7 b) o$ G% ^/ E, j, V* X2 A+ y6 o1 l2 j- ?4 N
/ m' n* w8 H$ e, Z/ P( f6 M
图形抗锯齿方面Image sampler (Antialiasing)
; X' g8 ^9 \& {) J$ b
! w: u- g5 b$ A) x0 O1、无反射模糊,图像质量相似的情况下,adaptive subdivision最快 6 b/ R6 d) ?; r  o2 e" J0 s3 k* B; J

( Q8 i& e6 p/ a. |比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate-1/2   b* o* B, G! r
: {. P+ \5 {3 F2 G6 P
2、大量粗糙表面多bump贴图,simple two-level 最快 7 z% r9 I' v+ t% z+ u( h8 O

" _9 p  i% a6 E6 m比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate0/2,threshold=0.05 % q! p$ G( {+ F$ Q5 ?
! W- G- M( D+ r9 J8 R% r
3、如果场景中有大量模糊效果,包括运动模糊,模糊反射,高光模糊,景深等,Fixed是最快的
' ?; o- C, t8 l如果场景中有大量凹凸效果,包括bump贴图,置换,noise等,adaptive  QMC或者adaptive two-level是最快的。其他情况用adaptive subdivison会比较快。 ' s3 n& k. Y9 j
" ]8 ^9 L/ X) A' J6 }, u9 ~4 S
根据不同的情况选择不同的抗锯齿这个很重要!!   t, g7 B0 f0 {2 [$ M0 [
8 T% q: ?' G9 J: G
/ F6 d7 i+ y6 i1 d

# r8 D4 V9 Z# Y, U另外几个关键的参数:
7 ?. t' y. [- d" O* G( o# [
6 q' ~' P  K! s% B) e- b  g1 {threshold这个值对速度的影响非常大。 ; X4 {) \* Y$ |) M4 v8 |8 \

( c9 o) S" G/ N# `3 f! x; G在adaptive subdivison Clr thresh默认为0.1,测试改为1,速度提升很多质量也可以接受 4 f9 l, k" U7 t1 q& E

& G. W  P6 p; x" x# e在adaptive QMC ,在rQMC面板的Noise threshold默认为0.005测试改为0.1,速度很快质量还可以。 1 D) l4 j2 Z- {
8 Z" j! ]" o2 _
如果在adaptive rQMC image sampler 里勾选Use QMC sampler thresh的话,那么这里的域值采样直接由rQMC面板的Noise threshold决定。 % v% J. ^- v3 g1 t8 Y9 Q/ g! m

1 \1 l& [9 e9 `& @/ S7 e如果没有勾选则有Clr thresh来决定,默认0.01测试改为0.1,速度快质量也可以接受 % j( o: ^* v7 ]4 U/ I# k
5 _  H9 h0 C/ n: C  j; }9 _2 a- ~
Object outline:
4 f6 Q6 E( M% R8 s# n. C) C; |3 Q7 b7 U
当场景有大量细小物体,抗锯齿方式是adaptive subdivison时,如果勾选Object outline,那么渲染会非常慢。这个时候我们不要勾选object outline而用Clr threshold来控制图象质量 6 S6 I! [1 @  N2 K- K3 g
. Z' M4 Z# I- A4 k7 y5 v9 u
Nrm thresh:这个是特定的法线区域采样,如果对阴影要求不高的情况把Clr threshold设置一个较大的值5,勾上object outline和Nrm threshold这样速度也有不小的提升。
7 \9 V, w' V  e1 k8 a
" w* i3 f. \; C) T与渲染速度有关的还有发光贴图里的二个参数: % @2 @  O* m. U7 k- l6 L. Q/ g

& @" {; t$ |) _  Q0 {* cInterpolation type插值类型和Sample lookup采样查寻
0 ~- V! `/ _' e4 [9 [6 P% n4 n
: u2 v7 g2 b/ a; P0 T9 o一般只要将Interpolation type设为Least squares fit(最小平方适配法),
6 j/ w1 l9 J* Z& _2 }
1 Y$ T/ c- |7 K2 a- T) K% f而Sample lookup设置为Precalculated overlapping(预先计算的重叠),就可以满足我们的大多数要,且速度也很快。
$ W. V. d: R: l
3 u+ _: Y3 r  M; d8 E: p5 M如果质量达不到要求就再试一试其它参数设置(记住Nearest只适合用于草图预览)  
+ P: i& y* n) a$ t' `  j. ?
8 n9 z; R9 {" w7 C7 I, zCheck sample visibility检查样本可见性,可以减少漏光现象,但速度会减慢
0 g* i" v' s; K4 T' E5 C9 ?* [( K; t& x
关于coolmoon的帖子:
7 H) W, `' t/ Q" B( k- O! X8 M
7 N1 a9 A* B7 g! Y4 m提高速度的方法:把所有面积较小的物体选中,把它们的全局GI关闭,只让面积比较大的几个物体来计算全局GI $ c/ {3 }0 L4 n

4 `/ E: l7 b! g2 M3 p9 N他提及的抗锯齿提速前面已经分析过了就不再总结了。 9 Y+ S& K6 g- c" x! G" V" {# f

9 v# P9 [9 \! E6 B" o; Z关于暴牙龙的贴子: 7 K/ T, U) H4 Y: r, y
/ k! z- m: N5 w6 h( ^
1。不要用太多的灯光反弹  4 \7 y3 U, p7 S1 ?; _3 t
2。不要用太高的发光贴图设置渲染大分辨率的图  4 k1 I) B! _6 C4 q
3。经常保存发光贴图  
$ h  w1 W" Y% d- Q4。弄个大点的内存 ( x0 [( W5 o- ]5 w) R. Q; F
5。抗拒齿不要太高 ; |- b0 d( p  b; a' r0 s* C. U
6。不要用太高的反射折射级别  
& g% P5 x$ D6 N' `0 |- t" ]! u7。用透明贴图的采样不要太高  4 V# K& I/ i( d. n; B% ]
8。把不重要的物体的GI采样强制降低  6 ], s) P& t( c2 |" W5 x
9。不要用凹凸贴图和模糊一起用  - c- g5 [9 f6 B
10。不要渲染太高分辨率的图,够用就行 ( w& V) ^$ v2 O! Q$ [
11。能用PS的就PS,比你用3天MAX渲染快多了
/ E, N2 v* V- \4 g- Z
0 b; `+ G, e* D! {6 N- }7 ~7 }7 J, \) m, v# o
这是他的原话!! 7 Q3 s  r' j" |- b! C2 c

6 I2 Q* Q  Q1 S6 j- ^. M: P* [" @下面是经验参数: 0 \" `* i, g+ z3 X3 f" V2 b& N
. \5 I. r/ I( r* N8 @
1、木地板模糊反射0.85 和3,反射次数调为1
9 D. B, r8 r8 {. B/ k+ \) J2 ~/ [# @- A6 r, [
2、最终光子图的 IM参数rate-3/0,Clr threshold=0.2,Nrm threshold=0.2,HS=50,IS=20
6 w( T+ v8 J$ L7 q0 P' f9 M+ E) z. q1 A6 q) C) e
3、用vr灯模拟天光是勾上sotre with irradiance map速度会快点 & P; {4 K$ [  N$ m+ W6 y

6 K2 G$ Y& n: F/ l4、算好光子图以后再加对场景影响不大的灯 ; M  v( q! O' ?+ C

: \1 Z( T0 D7 D- @' r5 [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 6 J. l7 T, u1 L0 V9 T+ A

    # |6 Z$ D% i% l* R  Z
    3 J- i8 B) v. e& J8 {9 B   学习

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

    回复 1# 375724685
    $ f* e. g* D/ p7 c) n5 b7 i
    - C+ ~7 w, t# b% r6 m+ n+ J2 Q1 t; X, ^
        好

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

    挺  了  挺不错的  、
    3 W7 E4 K) v0 M% Y7 m、感觉学习的 东西太多了啊

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

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

提高VR渲染速度的关键 (高手必看)求+精
拓者推荐
  • CCD--新加坡亚太总部
  • 【孟也 新作】成都麓湖·钰潭
  • 无间&葛亚曦-保利北龙湖
  • 星河颂355户型样板房
  • 金陵越城天地别墅
  • 2025拓者年费+案例Vip会员说明!
  • 【 拓者年费--CAD图纸】
  • 【 拓者年费--户型方案】
  • 【 拓者年费--豪宅视频】
  • 【 拓者年费--灵感图库】