View Single Post
Old April 20th, 2008   #1 (permalink)
crazy homeless guy
Moderator
 
crazy homeless guy's Avatar
 
Join Date: Nov 2002
Location: San Francisco
Posts: 2,891

Name: travis schmiesing


United_States 


Default A lot of RAM to load Mental Ray Proxies?

I have spent my spare time during the last couple of day's setting up a test to determine the feasibility of using Mental Ray proxies in a production environment. I want to be sure that Mental Ray can handle some of the larger projects I am working on. I had planned on posting that test by now, but it became apparent that I needed to hold off on posting the initial results until I figure out exactly how the Mental Ray proxies work. I am running into a few snags. So, her is my basic problem...

I have a proxy tree that I created. The proxy tree has 444,100 polygons. This is more poly's than my trees typically have with the exception of maybe a every green. I placed this proxy into my Mental Ray scene, and created 300 instances of it in the scene. I hit render, and it starts processing, but it doesn't make it to the Final Gather. I am lucky to be working on a robust machine. I let it run up to 6.5 gigs of RAM before I force kill the process.

As I look closer at the problem, it seems like Mental Ray is trying to load the geometry for each proxy into RAM before it starts to render. This is not what I expected to happen. The disk space for this proxy is 67 megs. If Max were to load 67megs into RAM 300 times, I would be looking at around 19.6 gigs of RAM for just that. Didn't someone post a thread the other day about wanting 32 gigs of RAM? ...I think it might be useful in this case.

So... Not knowing if that is exactly what is going on or not, or if I am doing something wrong, I decide to do another test. I took the same proxy, and instanced it 50 times in my scene, and hit render. If my above statement is true, the the RAM should hit about 3.27 gigs plus the whatever amount is needed to load 3dsmax into memory. So, I hit render. The calculation was fairly accurate. The image started rendering when the RAM level was around 3.3 to 3.4 gigs. It may have taken slightly more RAM, the numbers were jumping around, and I wasn't keeping a close enough eye on them.

Quote:
Originally Posted by Zap's Mental Ray Blog

<snip>
"...These bytes can then be read in... but not until a ray actually touches the bounding box!"

<snip>
".... Not until the object is actually needed for render is it even loaded into memory, and when it is no longer needed, it can be unloaded again to make room for other data."
Obviously the proxy is being loaded into RAM, but my scene seems to be loading all of the proxies into RAM before it starts to render. Maybe I don't understand enough about how the final gather works. I assumed it would be loading the proxy for the bucket it was on, and unloading the proxy geometry after it finished the bucket. ...and even then, I would think that if it was an instanced proxy, then the geometry would only need loaded once, instead of 50 times.

The other thing that is really weird. My file is 34 megs with the proxies in it. This is another big flag that says I am not doing something correctly.

I am no Mental Ray professional, but I can't help to think that I am doing something wrong here. I am posting my scene for other to look at. I am not in the office today, so I can't run more tests. At least more tests with the original scene I have set up. I may make a simplified scene and do some more tests.

SCENE : http://www.phase22.com/misc/cgarchit...oxies/base.zip < 49 megs (scene plus proxy file)

.
__________________
travis schmiesing
crazy homeless guy is offline   Reply With Quote