Rendering of 376,000+ Objects with MR - slow as hell, i need help :(


#1

Hey guys,

i slowly become desperate with a scene that im currently working on. I created an asteroid field with polygon reduced asteroids in several groups as shape instances with PFlow and - together with other objects in the scene - i have a total of 376,500 Objects that need to be rendered with Mental Ray and Final Gather. 6357 Objects of them are MR Proxies though and those also do not make real problems when it comes to rendering. The rest of them (a big modeled asteroid in the middle of the field and two Rayfire caches) also dont really add to render preparation times and the generation of the final gather map as well as the actual rendering of them starts pretty quickly.

So im left with round about 370,000 Objects created from Particle Flow that slow down my render preparation times so drastically, that it is basically impossible to render the way it is right now. I tried several things already:

  1. Cache the PFlow with Cache Disk Operator and use Geo Cache with Mental ray. Resolves recalculation of PFlow each frame and makes translation times faster, but Final Gather Map creation still takes forever and after it is created Rendering still starts with a delay of more than 1 Minute per frame.
  2. Cache Pflow with a Cache Plugin (i used SuperMesher here, thanks to a tipp from JohnnyRandom in my latter post). Although caching works, Rendering is still the same problem. Final Gather Map Creation takes forever and Rendering starts with a delay of more than 1 Minute per Frame when using the created Final Gather Map. Additionally activating the Geo Cache of Mental Ray does not have any effect here as well - apart from some savings in translation times but those times are not the problems that i have.

I’ve uploaded a copy of that scene with just Particle Flow inside so that you can have a look at it:
http://www63.zippyshare.com/v/DdrnLIY1/file.html

Both PF Sources are inactive at the moment. Just activate them (they are set to a 100% for both in the viewports though, so reduce that first if you dont want to wait). Pflow is in its own layer, the instances are in an extra layer within it. Camera001 is inside the field and this is the camera that needs to be rendered. I also removed the Materials as they reference local files on my harddrive. Only the mat for the particles is left. HDR is also removed, Skylight is plain white atm. Beginning at frame 150 at last the rendering prep times start to increase drastically. I really think that all the Meshes of PFlow are the problem here, but i have no idea how to fix this. I mean, it must be possible to render them, mustnt it? :-/

Do you have any tipps on what i can do to speed up rendering again? What may i possibly have done wrong here? Is there any chance to optimize that? I need to render 600 Frames … and even in the lowest possible qualities, those problems already occur.

I really hope you can help me with that. Im depending on it, because without help i may probably not be able to complete this scene and this would in turn throw me back a lot. I finally have to get my intro ready somehow :-/

Thanks in advance to all of you!
And a happy new year :slight_smile:

Subb


#2

ok, since this forum seems to be a bit “dead” lately and i wasnt able to find a solution for the problem, i switched the renderer to vRay. i already wanted to one day spend the 100 bucks for the academic version to try this renderer out. now i had a real “reason” to finally do so :slight_smile: and now i am also finally able to render my scene - within a reasonable amount of time.

although it is a bit of a shame that i have run into a situation where mental ray seems to fail for me (i so damn love mr :slight_smile: ), the reason why mental ray cant handle it on my machine seems to be related to its translation. Im just guessing here, but looking at some tech-details on how mental ray works and how it is implemented in 3ds max, you can clearly see that mr is usually creating quite a bit of overhead thanks to its scene translation. while 3ds max puts the scene into memory and is therefore already filling the RAM, mental ray seems to additionally do this as well as its not able to directly render whats coming from max. it has to convert it into its own format first and has to put this into RAM as well, before it can start to render. so if everything goes wrong, the whole scene with its 370,000+ objects has to be put into RAM twice and therefore this might be the reason why it is so drastically slow in my case. it may simply not have enough RAM, but im not sure.

if pflow would be able to use mr proxy’s as shape instances, it might have never come to this problem. but pflow cant distribute mr proxys and so the only chance i had was to switch the renderer. vray doesnt seem to translate anything; it looks like it takes what max is putting into memory directly and therefore it can handle the 370,000 objects with ease. it is amazing how fast it starts to render, although i already miss final gather. FG is just so … simple and it works :slight_smile: i have to learn a bit now but by the looks of it, the 100 bucks for a year were not too much. im excited what i will come up with in the end.

happy new year to all of you :slight_smile:
cheers subb


#3

Did you end up using vray instancer? It can instance objects around taking almost no extra memory, quite useful for when you have as many objects as you do.

https://www.youtube.com/watch?v=KcMgPMD3SnY


#4

no, i switched back to mental ray and reworked everything from scratch - consequently using mr proxy’s from the beginning now. i made some fragments with fracture voronoi script, gave them some motion with massfx and wrote portions of this (slowed down) into an mr proxy. and then, i manually scattered thousands of those proxys with different rotations on the x-axis and different positions and got my asteroid field back :slight_smile: and no problems with MR anymore now, rendering just starts immediately - as one would expect.

i had trouble with the self illumination in vray; thats why i switched back for now. no matter how high i put the GI multipliers i just did not get enough light for my large scene from the objects i use. i have FumeFX in action as well - i had to crank up the GI multiplier for both the fire and the smoke to the maximum of 999 - to at least get a little bit of light distribution through the field ^^ and it honestly still wasnt enough. if i would do this with mental ray, well … the scene would prolly be completely overshoot :slight_smile: i have to dig deeper into vray; seems as if in vray everthing is a light and it looks like self illumination is bound to an inverse square falloff and cant exceed a certain maximum light amount based on an objects size. i found no way to at least deactivate the falloff. and i also had no exposure control active. only solution was to use mesh lights, where you can tick “no decay” which will then solve the problem. but those are waaaay too slow on the render as they are actual area lights in the form of the mesh. and since i need to get the job done it was faster to rework the stuff in mr.


#5

Hey guys, sorry in advance for piggy-backing on this thread but I’m starting to use Mental Ray in 3dsMax for the first time and wondering what the most current/best MR for 3dsMax resources are?

There are a lot of websites out there but a lot of them are quite old and I wouldn’t mind knowing the best place to go?

I actually got really good with Mental Ray for Maya back around 2008/2009 so I have a decent idea of what MR shaders and lights are available, just that they’re accessed completely differently in Max.

Bonus question - despite going to the NVidia website, I’m confused as to what IRay actually is, whether I should use that instead of mental ray, whether it’s part of mental ray etc.
I think the people at NVidia assume that end users never have a gap of a few years where they don’t use NVidia products. (well last time I used mental ray it wasn’t owned by NVidia but hey ho!)


#6

https://elementalray.wordpress.com/

seems to be a rather recent ressource for MR, but its mostly Maya oriented. Still principles apply most to Max as well.

iRay is a progressive Renderer, but its implementation in Max is … well. Technically its actually a render module of mental ray although some might not agree with that :wink: But it is, you can read about that quite clearly in the MR Docs. Has the advantage that it works with almost everything that MR handles too. So you build you scene in MR, switch to iRay and check, and switch back - and you dont loose anything. I sometimes do this when i need to get a quicker preview of how my renders will look in mental ray. Works - for the most part at least.

iRay Manager is a script that allows you to tweak iRay a little bit better in Max:
http://www.infinity-vision.de/iray-manager-v3/

Apart from that it seems that it became a bit quieter about MR in the past few years. Mainly because Nvidia hasnt put a lot of effort into development (although they do some things here and there, look for “GI Next” for example) and surely also because a lot of people switched over to Vray or other renderers as they get more love from their developers - so one can expect more features and improvements.

I still love MR and continue to use it - has to do with my low budget but also becaues i came to grips with it and when i want to achieve something i usually know how to get it done without further thinking :slight_smile: Rendering thousands of objects however is a pain in MR (hence my thread here); this is its major drawback: If you have no proxys you simply cannot render thousands of objects in reasonable amount of time - thanks to its translation process.