View Full Version : User Framebuffer in 7000x3500px using more than 8GB RAM...how to optimize?
Ultrasonic 04-08-2008, 08:40 AM Hey Dudes,
i am currently experiencing a physical RAM Problem, which i cannont solve by just buying more RAM...
I have setup my mia_material and MR to put out 11 different framebuffer on an 7000x3500 panoramic image. While rendering my ram-usage goes up to ~6GB (it's a highres car)...but when the render is finished, and output shaders are called, MR starts to fill up the RAM until windows starts swapping. After that the CPU runs idle for hours and nothing happens.
Is there a way to force MR to write FRAMEBUFFERs directly from its disk-based buffers, or are there other workarounds?
Help will be greatly appreciated!
OLi
| |
asche
04-08-2008, 09:02 AM
6 gb for a highres car ?
i cant help you with the framebuffer problem ( but we could have a chat about it, i am trying to solve some issues with that myself)
but have you tried adjusting your bsp settings ? often tweaked bsp settings help with ram problems .... maybe try the bsp2 ?
Ultrasonic
04-08-2008, 09:44 AM
Hey,
i have already tried different BSP settings including BSP2, but nothing decreased RAMusage significantly. I am rendering 12Million Polys...so i think 6GB is ok...
It would be cool to tell MR that it should unload all geometry after the frame has finished to free up memory. I am rendering one MI file per frame so it is no problem to unload the geometry. Anyone know how to do that? I could also implement it into a output shader...so MR-API tips would also be helpful....
thx guys...
OLi
HellstormDe
04-08-2008, 01:11 PM
Hehe, one of my favourite adivces:
Tile your image with the command line render utility:
render -r mr -reg x1 y1 x2 y2
where x1 y1 represent the upper left boundary of the image and x2 y2 the lower right boundary.
For example to make 4 tiles of your image:
render -r mr -reg 0 0 3499 1749 -im upper_left
render -r mr -reg 3500 0 7499 1749 -im upper_right
render -r mr -reg 0 1750 3499 3499 -im lower_left
render -r mr -reg 3500 1750 3499 7499 -im lower_right
And then stitch the images together using a graphics app.
This should decrease the memory usage a lot.
If you use final gather/global illum: Build the final gather/GI maps at a lower resolution (i.e. 2000x1000) then turn off "rebuild photon map" and set final gather rebuild to "freeze".
THEN do the tiled render or you will have Final Gather artifacts at the stiching borders.
Of course you can use even more tiles.
Ultrasonic
04-08-2008, 03:53 PM
Hi David,
seems like only germans are watching this thread ;)
I know this option and in my case when using MR-Standalone i have the -window Flag...works the same way, but didn't suceed.
After some tests i can be a little more specific:
The frame renders and outputs fine as long as i do not use output shaders - even in 7000x3500.
It also works with output shaders, but only till a limit near 4500x2250 pixels....no matter how many userFramebuffers i want to write. I tried the standard mentalRayOutput nodes and puppets p_openExr_saver...both only work till 4500px.
I fear that there is a bug in mentalray that no one has seen before, cause i can imagine there are only a few people out there that use framebuffers in combination with high resolutions...
Anyone an idea what else i could test? (besides frame slicing)
THX in advance
OLi
Ultrasonic
04-09-2008, 09:52 AM
GOT IT!
My problem was that i had prepared a total 15user framebuffers in MR, from which i have only written out 5-10 at one time....
I deleted all unused buffers to reduce the total number to 5...and it works...
FYI: Bart from lamrug.org also suggested to turn off fb_virtual on the MR command line...i tested it and can encourage everyone to use this option...in my case framebuffers get written 1000times faster...default for this option is ON, but u should turn it OFF!
If anyone knows where to setup this option in Maya plese tell us!
cheers dudes and happy rendering ;)
OLi
Puppet|
04-09-2008, 10:49 AM
Do you have disabled 'Export Post Effects' in Render Settings?
It may be cause of crash on large resolutions.
Ultrasonic
04-09-2008, 11:10 AM
Do you have disabled 'Export Post Effects' in Render Settings?
It may be cause of crash on large resolutions.
Yes...i have disabled it in all tests but it didn't help...fb_virtual off does the job ;)
Eshta
04-09-2008, 03:13 PM
is this the command that u used
ray -fb_virtual off file.mi ?
Ultrasonic
04-09-2008, 05:01 PM
is this the command that u used
ray -fb_virtual off file.mi ?
Exactly! Are you experiencing problems by using it?
Eshta
04-09-2008, 06:50 PM
I’m having a hard time making my file render
The mi file is 1.5 Gig, I’m using WIN 64
5 framebuffers
The command is simple > ray filename.mi
Then I tried > ray –fb_virtual off filename.mi
I’m thinking cause it might have to output the main image beside the framebuffer ( I could be wrong)
is it possible to render JUST the framebuffers (sorry if its basic Q)
Ultrasonic
04-10-2008, 05:41 PM
How many RAM have u installed in your system? waht resolution are u rendering? are u using many big filetextures? tell us some more about your scene....does it render without buffers?
cheers
OLi
Bitter
04-12-2008, 03:10 AM
Framebuffers (even if empty) will hang out in your RAM unless you have them written to disk, that's apparently a new feature in 3.6 that I'm loving right now.
To my knowledge the primary framebuffer must exist, especially for adaptive rendering since that is where your sample pattern comes from.
Memory map your textures and check other settings like raylength for reflections/refractions,final gather, etc. You might be pulling in geometry that isn't relevent. And also approximations, maybe over tessellated?
CGTalk Moderation
04-12-2008, 03:10 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
vBulletin v3.0.5, Copyright ©2000-2009, Jelsoft Enterprises Ltd.