gerrycg
01-09-2009, 11:06 PM
hi,
i waited a long time, before i decided to write this post and tried a lot to solve my problem. now it's time for the cgsociety! i hope somebody can help me out.
my problem:
i can render every frame of my animation (well, i didn't try EVERY frame of 700, since i then won't need to batch render) inside my render view without a problem. in every renderlayer i set up.
as soon as i try to batch render the scene, either through maya, or through the console, mental ray renders 1 frame. and after that, it scoops my ram full with some data, continuously, until windows cries. (the ram of mayabatch-prozess grows and grows).
rendering messages of mental ray in the renderlog at the point where it gets very slow:
first frame (fast calculation), imagine those lines for every object in the scene (about 500):
...
API 0.0 debug: begin object murmel1|loftedSurface3|loftedSurfaceShape3
API 0.0 debug: begin instance murmel1|loftedSurface3
Debg: (Mayatomr.Scene) : DAG path: murmel1|nurbsSphere3
Debg: (Mayatomr.Scene) : ... transform
Debg: (Mayatomr.Scene) : DAG path: murmel1|nurbsSphere3|nurbsSphereShape3
Debg: (Mayatomr.Scene) : ... nurbs surface
Prog: (Mayatomr.Scene) : DAG node: murmel1|nurbsSphere3
Debg: (Mayatomr.Scene) : shading group: initialShadingGroup
API 0.0 debug: begin object murmel1|nurbsSphere3|nurbsSphereShape3
API 0.0 debug: begin instance murmel1|nurbsSphere3
...
same part in second frame (slow calculation, a few seconds per object):
...
API 0.0 debug: begin instance murmel1|loftedSurface3
Debg: (Mayatomr.Scene) : DAG path: murmel1|nurbsSphere3
Debg: (Mayatomr.Scene) : ... transform
Debg: (Mayatomr.Scene) : DAG path: murmel1|nurbsSphere3|nurbsSphereShape3
Debg: (Mayatomr.Scene) : ... nurbs surface
Prog: (Mayatomr.Scene) : DAG node: murmel1|nurbsSphere3
Debg: (Mayatomr.Scene) : shading group: initialShadingGroup
API 0.0 debug: begin instance murmel1|nurbsSphere3
...
you see, the line "API 0.0 debug: begin object ........." is missing. any suggestions?
the first frame it runs through those steps (done for every object) in a very short time (maybe one second for all). the second frame it takes about 10 seconds for every single object! and fills the ram and virtual memory (together about 8gig, then... *crying*).
i'm rendering with:
maya 2009 unlimited x64
on a
windows xp pro sp2 x64
core 2 quad q9450 (2,6 ghz)
4 gig of ram
enough hard disk space
mental ray, regular bsp, raytracing with depth of 5, no fg, no gi.
if you now know the answere, you probably won't need to read on and just write it down. now, here comes a more detailed and more confusing description of the circumstances.
description of my scenes:
scene1:
simple geometry (room without furniture), just a few polygons, as passive rigid body. mip_rayswitch assigned with mip_mirrorball, mip_matteshadow, some blinn and some mia_material. no lights and no shadows, no fg. mr's ibl in the scene but not used. i think the reflections do the "lighting"?
about 400 nurbsspheres (with spheres and some simple geometry in it, like a marble, parented under the biggest sphere), all surrounding spheres are active rigid bodies with the sphere as stand-in, falling down into the room.
cached out the animation (one solver).
all in all about 2 million polygons.
render layers for marbles, reflection on the floor, alpha for marbles (white surface shader) and alpha for reflections.
mip_rayswitch_advanced used for layersetup. all manually.
renderlayers in detail:
i ordered everything by making groups. so i have room_grp marbles_grp etc. i added only the groupnode to the render layers.
the groups are also connected to displaylayers, which visibility is switched on. so no objects are connected directly to layers.
scene 2:
simple room with simple geometry (mainly cubes without subdivisions), all passive rigid bodies. mip_rayswitch_advanced assigned. a few hundred polys.
about 450 nurbs marbles as described above, animated and colliding with all room elements.
renderlayers as above.
shaders as above.
troubleshooting:
in my first scene i figured out, that it works if i delete all my render layers except for one (the one i wanted to render this time). rendered them one after another. not nice but not bad also.
in my second scene, a completely new scene, with the setup described above, the same problem occurred. but wasn't to resolve by deleting some render layers. deleting my marbles helped me out, but i obviously need them! i tried using the initial shading group for the marbles, didn't help. rendering with the software renderpal also didn't help. baking the animation didn't help.
because of a very long time to save the scene (about 4 minutes), i replaced the nurbsspheres with polygonspheres and combined alle polygon objects of one marble, didn't help with my rendering but helped to save faster with bigger scene size.
so now polys in scene 2!
then i tried it with the 32bit version of maya2009 under vista 32bit and i was able to render at least about 50 frames, until the memory error occurred. now it renders under winxp x64 with maya2009 32bit with 1,6gig ram used. IT RENDERS and i am a little bit happy. but: it takes about 2 minutes per frame (in vista, too). (in the render view in maya it takes about 20 seconds per frame.) and just 25% of my quadcore-power is used for the most of the time and there is a 2 second boost up to 100%, right before the frame is written into my output folder.
renderlog says:
winxp x64 with maya2009 32bit:
...
RC 0.2 progr: rendering finished
RC 0.2 info : wallclock 0:00:03.57 for rendering
RC 0.2 info : allocated 223 MB, max resident 240 MB
GAPM 0.2 info : triangle count (including retessellation) : 19048
PHEN 0.2 info : Reflection rays skipped by threshold: 195
PHEN 0.2 info : Refraction rays skipped by threshold: 26
*************************************
little less then 2 minutes inbetween. See below what happens with verbosity set to detailed
*************************************
SCEN 0.2 progr: begin scene preprocessing for frame 205
SCEN 0.2 info : 425 geometry leaf instances (0 scheduled, 425 cached, 0 shared)
SCEN 0.2 info : 0 light leaf instances
SCEN 0.2 info : wallclock 0:00:00.00 for scene preprocessing
...
writing correct file within e few seconds.
detailed verbosity gives me the part below, where it slows down. takes one second for about 10 objects. still to long! (2 minutes in the whole). first frame also takes 2 minutes.
...
Debg: (Mayatomr.Scene) : DAG path: rigidBody490
Debg: (Mayatomr.Scene) : DAG path: murmel80
Debg: (Mayatomr.Scene) : ... transform
Debg: (Mayatomr.Scene) : DAG path: murmel80Shape
Debg: (Mayatomr.Scene) : ... polygon mesh
Prog: (Mayatomr.Scene) : DAG node: murmel80:murmel80Shape
Debg: (Mayatomr.Scene) : shading group: mip_rs_murmelReflSG
"pause for a part of a second"
Debg: (Mayatomr.Scene) : DAG path: rigidBody491
Debg: (Mayatomr.Scene) : DAG path: murmel81
Debg: (Mayatomr.Scene) : ... transform
Debg: (Mayatomr.Scene) : DAG path: murmel81Shape
Debg: (Mayatomr.Scene) : ... polygon mesh
Prog: (Mayatomr.Scene) : DAG node: murmel81:murmel81Shape
Debg: (Mayatomr.Scene) : shading group: mip_rs_murmelReflSG
...and so on with every object.
those slowdowns just occur at the moment the marble-objects are rendered.
it has to be the fact, that the marbles are animated. can it?
or/and/because mayatomr has problems with it. converting it? transforming it?
you read it until here? thank you for doing that! and now spill the beans :)
if some information is missing, i will be able to post it. the scenefile or better the whole project weights a lot but i would be able to upload it, if necessary.
thank you and i hope, no one have had this problem before, because it really... makes windows cry. and me.
btw: deadline for this project is in ten days.
i waited a long time, before i decided to write this post and tried a lot to solve my problem. now it's time for the cgsociety! i hope somebody can help me out.
my problem:
i can render every frame of my animation (well, i didn't try EVERY frame of 700, since i then won't need to batch render) inside my render view without a problem. in every renderlayer i set up.
as soon as i try to batch render the scene, either through maya, or through the console, mental ray renders 1 frame. and after that, it scoops my ram full with some data, continuously, until windows cries. (the ram of mayabatch-prozess grows and grows).
rendering messages of mental ray in the renderlog at the point where it gets very slow:
first frame (fast calculation), imagine those lines for every object in the scene (about 500):
...
API 0.0 debug: begin object murmel1|loftedSurface3|loftedSurfaceShape3
API 0.0 debug: begin instance murmel1|loftedSurface3
Debg: (Mayatomr.Scene) : DAG path: murmel1|nurbsSphere3
Debg: (Mayatomr.Scene) : ... transform
Debg: (Mayatomr.Scene) : DAG path: murmel1|nurbsSphere3|nurbsSphereShape3
Debg: (Mayatomr.Scene) : ... nurbs surface
Prog: (Mayatomr.Scene) : DAG node: murmel1|nurbsSphere3
Debg: (Mayatomr.Scene) : shading group: initialShadingGroup
API 0.0 debug: begin object murmel1|nurbsSphere3|nurbsSphereShape3
API 0.0 debug: begin instance murmel1|nurbsSphere3
...
same part in second frame (slow calculation, a few seconds per object):
...
API 0.0 debug: begin instance murmel1|loftedSurface3
Debg: (Mayatomr.Scene) : DAG path: murmel1|nurbsSphere3
Debg: (Mayatomr.Scene) : ... transform
Debg: (Mayatomr.Scene) : DAG path: murmel1|nurbsSphere3|nurbsSphereShape3
Debg: (Mayatomr.Scene) : ... nurbs surface
Prog: (Mayatomr.Scene) : DAG node: murmel1|nurbsSphere3
Debg: (Mayatomr.Scene) : shading group: initialShadingGroup
API 0.0 debug: begin instance murmel1|nurbsSphere3
...
you see, the line "API 0.0 debug: begin object ........." is missing. any suggestions?
the first frame it runs through those steps (done for every object) in a very short time (maybe one second for all). the second frame it takes about 10 seconds for every single object! and fills the ram and virtual memory (together about 8gig, then... *crying*).
i'm rendering with:
maya 2009 unlimited x64
on a
windows xp pro sp2 x64
core 2 quad q9450 (2,6 ghz)
4 gig of ram
enough hard disk space
mental ray, regular bsp, raytracing with depth of 5, no fg, no gi.
if you now know the answere, you probably won't need to read on and just write it down. now, here comes a more detailed and more confusing description of the circumstances.
description of my scenes:
scene1:
simple geometry (room without furniture), just a few polygons, as passive rigid body. mip_rayswitch assigned with mip_mirrorball, mip_matteshadow, some blinn and some mia_material. no lights and no shadows, no fg. mr's ibl in the scene but not used. i think the reflections do the "lighting"?
about 400 nurbsspheres (with spheres and some simple geometry in it, like a marble, parented under the biggest sphere), all surrounding spheres are active rigid bodies with the sphere as stand-in, falling down into the room.
cached out the animation (one solver).
all in all about 2 million polygons.
render layers for marbles, reflection on the floor, alpha for marbles (white surface shader) and alpha for reflections.
mip_rayswitch_advanced used for layersetup. all manually.
renderlayers in detail:
i ordered everything by making groups. so i have room_grp marbles_grp etc. i added only the groupnode to the render layers.
the groups are also connected to displaylayers, which visibility is switched on. so no objects are connected directly to layers.
scene 2:
simple room with simple geometry (mainly cubes without subdivisions), all passive rigid bodies. mip_rayswitch_advanced assigned. a few hundred polys.
about 450 nurbs marbles as described above, animated and colliding with all room elements.
renderlayers as above.
shaders as above.
troubleshooting:
in my first scene i figured out, that it works if i delete all my render layers except for one (the one i wanted to render this time). rendered them one after another. not nice but not bad also.
in my second scene, a completely new scene, with the setup described above, the same problem occurred. but wasn't to resolve by deleting some render layers. deleting my marbles helped me out, but i obviously need them! i tried using the initial shading group for the marbles, didn't help. rendering with the software renderpal also didn't help. baking the animation didn't help.
because of a very long time to save the scene (about 4 minutes), i replaced the nurbsspheres with polygonspheres and combined alle polygon objects of one marble, didn't help with my rendering but helped to save faster with bigger scene size.
so now polys in scene 2!
then i tried it with the 32bit version of maya2009 under vista 32bit and i was able to render at least about 50 frames, until the memory error occurred. now it renders under winxp x64 with maya2009 32bit with 1,6gig ram used. IT RENDERS and i am a little bit happy. but: it takes about 2 minutes per frame (in vista, too). (in the render view in maya it takes about 20 seconds per frame.) and just 25% of my quadcore-power is used for the most of the time and there is a 2 second boost up to 100%, right before the frame is written into my output folder.
renderlog says:
winxp x64 with maya2009 32bit:
...
RC 0.2 progr: rendering finished
RC 0.2 info : wallclock 0:00:03.57 for rendering
RC 0.2 info : allocated 223 MB, max resident 240 MB
GAPM 0.2 info : triangle count (including retessellation) : 19048
PHEN 0.2 info : Reflection rays skipped by threshold: 195
PHEN 0.2 info : Refraction rays skipped by threshold: 26
*************************************
little less then 2 minutes inbetween. See below what happens with verbosity set to detailed
*************************************
SCEN 0.2 progr: begin scene preprocessing for frame 205
SCEN 0.2 info : 425 geometry leaf instances (0 scheduled, 425 cached, 0 shared)
SCEN 0.2 info : 0 light leaf instances
SCEN 0.2 info : wallclock 0:00:00.00 for scene preprocessing
...
writing correct file within e few seconds.
detailed verbosity gives me the part below, where it slows down. takes one second for about 10 objects. still to long! (2 minutes in the whole). first frame also takes 2 minutes.
...
Debg: (Mayatomr.Scene) : DAG path: rigidBody490
Debg: (Mayatomr.Scene) : DAG path: murmel80
Debg: (Mayatomr.Scene) : ... transform
Debg: (Mayatomr.Scene) : DAG path: murmel80Shape
Debg: (Mayatomr.Scene) : ... polygon mesh
Prog: (Mayatomr.Scene) : DAG node: murmel80:murmel80Shape
Debg: (Mayatomr.Scene) : shading group: mip_rs_murmelReflSG
"pause for a part of a second"
Debg: (Mayatomr.Scene) : DAG path: rigidBody491
Debg: (Mayatomr.Scene) : DAG path: murmel81
Debg: (Mayatomr.Scene) : ... transform
Debg: (Mayatomr.Scene) : DAG path: murmel81Shape
Debg: (Mayatomr.Scene) : ... polygon mesh
Prog: (Mayatomr.Scene) : DAG node: murmel81:murmel81Shape
Debg: (Mayatomr.Scene) : shading group: mip_rs_murmelReflSG
...and so on with every object.
those slowdowns just occur at the moment the marble-objects are rendered.
it has to be the fact, that the marbles are animated. can it?
or/and/because mayatomr has problems with it. converting it? transforming it?
you read it until here? thank you for doing that! and now spill the beans :)
if some information is missing, i will be able to post it. the scenefile or better the whole project weights a lot but i would be able to upload it, if necessary.
thank you and i hope, no one have had this problem before, because it really... makes windows cry. and me.
btw: deadline for this project is in ten days.
