Page 1 of 1

Instances VS clones (Pay now or Pay later)

Posted: Fri Mar 06, 2009 10:42 pm
by Leonardo
I made 8 test... with different combination of instances and clones...

http://img6.imageshack.us/gal.php?g=68633401.jpg

you can download the images and the notes (word document) here:
http://www.leonardoschubert.com/extra/r ... s_test.zip

My reserach concluded that:

1- instances can't intersect with other objects in the scene or the benchmark will suffer considerable" (even if the instance doesn't have clipmaps)

2- It's okay if instances intersect with other instances

3- clones can intersect other objects in the scene and the benchmark will not suffer. Unfortunatelly as we all know using clones in the scene will increase the file size (.mxs)

So, iether you pay now (clones) or you pay later (instances)

Posted: Sat Mar 07, 2009 11:53 am
by Mattia Sullini
Thanks a lot for the time you spent on testing this.
Very useful information :D

Posted: Sat Mar 07, 2009 5:28 pm
by DrMerman
Agreed. Thanks Leo. Certainly explains alot...

Posted: Sat Mar 07, 2009 9:32 pm
by Leonardo
sorry guys... further testing disproved my previous findings!! :lol:

I figured if "it's okay for instances to intersect with other instances " then, If I instance the entire model (house) the plants will only be intersecting instances. :shock:

Let me tell you, for a second I though I came up with a super bright idea! :lol:

I tried up another test (test #9) and I got a benchmark of 14.5 (instanced house)

test #5 had a benchmark of 3.35 (instances intersecting each other / and intersecting the model) so it was a big improvement. Not as good as test #6 = 21.85 (clones intersecting each other / and intersecting model)

So, I tried one final test... I took the scene that was already setup for the final render which I had previously gotten a 3.something benchmark and rendered again. This time, I instanced the house too.... I was expecting a higher bechnmark, but instead I got a 0.44
:shock: it took 30min to reach SL= 0.5 :?

Posted: Sun Mar 08, 2009 4:30 am
by Mattia Sullini
I can absolutely confirm your conclusions.
Everytime i had scenes crowded with several instances (trees) i always got a very low benchmark...for the last project i am working on, having read your topic, i've chosen not to use instances at all.
I came up with a huge .mxs (600MB) but the benchmark is something around 140.
I believe you helped me a lot to respect my deadline. Thanks again!

Posted: Sun Mar 08, 2009 4:41 am
by Bubbaloo
Never use instancing unless you need to for lack of RAM. Also, if you're going to use lots of instanced trees, make sure you use tree models that have leaf shaped polygons instead of leaf "plates" and clipped leaf textures. That's what I have learned by trial and error, anyway.

Posted: Sun Mar 08, 2009 6:57 pm
by Mattia Sullini
1-you shall not intersect the emitters
2-you shall keep emitter's polycount and vertices as low as possible
3-dielectrics behind ags is a big no-no-no
4-you shall not try to get real caustics on a pool's bottom
5-don't trust the quadrant
6-interiors will not be lit by physical sky through a window
7-you shall not let a dielectric and an SSS mat intersect each other
8-you shall not use jpegs for clipmaps
9-you shall not let an emitter cast light directly on a reflective surface...

...and now we have the 10th:
10-you shall not let an instance intersect other instances

Posted: Mon Mar 09, 2009 2:19 pm
by oz42
Mattia, nice summary :D - this should be sticky (and on page one of the manual!)

Posted: Mon Mar 09, 2009 3:04 pm
by brodie_geers
I just did a similar round of tests a few days ago. One additional thing I think I found which maybe can be confirmed by my fellow scientists - I noticed that if my original object (from which the instances were taken from) intersected with geometry, I got a similar benchmark hit just as if my original were an instance.

-Brodie

Posted: Mon Mar 09, 2009 3:50 pm
by grupo4
Mattia Sullini wrote: 8-you shall not use jpegs for clipmaps
I did not knoe a bout this one.... Why?

Posted: Mon Mar 09, 2009 6:39 pm
by kami
Mattia Sullini wrote:1-you shall not intersect the emitters
2-you shall keep emitter's polycount and vertices as low as possible
3-dielectrics behind ags is a big no-no-no
4-you shall not try to get real caustics on a pool's bottom
5-don't trust the quadrant
6-interiors will not be lit by physical sky through a window
7-you shall not let a dielectric and an SSS mat intersect each other
8-you shall not use jpegs for clipmaps
9-you shall not let an emitter cast light directly on a reflective surface...

...and now we have the 10th:
10-you shall not let an instance intersect other instances
that list seems very short. you must have missed a lot :)

Posted: Mon Mar 09, 2009 7:14 pm
by Mattia Sullini
Well Kami, you know, is the decalogue appeal... 8)...but we all know that even THE ten rules are not enough :lol:
grupo4 wrote:
Mattia Sullini wrote: 8-you shall not use jpegs for clipmaps
I did not knoe a bout this one.... Why?
Because jpegs artifacts may cause some pixels not to be perfectly white and in this case the clipping will not render fine. Maxwell needs 255,255,255 white to work correctly with clipmaps. :)

Posted: Thu Mar 12, 2009 10:36 pm
by 3dtrialpractice
Mattia Sullini wrote:...
9-you shall not let an emitter cast light directly on a reflective surface...
...
can you please specify this? or point to a post that covers this. .i missed out on this one..

and by reflecting material you mean one that is very shiny.. like roughness 0

-luke

Posted: Thu Mar 12, 2009 10:49 pm
by Bubbaloo
Maybe because of the caustics it produces? You can do it, you just have to be careful with your scene.