Three D Posted October 3, 2008 Share Posted October 3, 2008 hi, my system is this: OS: windows xp 32bit - 3gb switch enabled with 4gb ram installed 3ds max design 2009 with vray 1.50 sp2. i have a simple enough model with a number of detailed trees/hedges inserted and instanced as vray proxies. to keep ram useage down i'm rendering with basic brute force GI and i've set the dynamic memory limit to 2400mb and default geometry to dynamic. i've also set my buckets to 12 pixels. when i'm rendering i check the task manager and the memory useage always goes over the 2400mb limit i've specified and then crashes. if i use a smaller value like 2100mb the task manager shows 2560mb used and then crashes. it always seems to be using more memory than i specify in the dynamic memory limit. how do i make vray/max use only the amount of memory i specify in the dynamic memory limit? is this even possible? i don't mind slow render times so long as it actaully renders. any help would be very much appreciated. thanks. Link to comment Share on other sites More sharing options...
SandmanNinja Posted October 3, 2008 Share Posted October 3, 2008 That script that splits the renders up into smaller sections works great for this. I did a render 8000x6000 and split it into 9 sections, and the Task Manager (with the added field of Peak Memory Usage turned on) showed it used no more than 2.5 gigs of ram. Obviously, this will vary depending upon the scene, but I thought it was pretty cool. Unix can do this, I know. As far as I know, you cannot simply limit how much RAM an application use. You can throttle CPU utilization but not RAM. The amount of RAM on the machine is irrelevant. Your application uses virtual memory which is paged from disk to RAM by the OS. On 32-bit windows you have a 4gig virtual address space which divided into 2gigs for user-mode code, and 2gigs for kernel-mode code. So your application (which runs in user-mode) can only access the bottom 2gigs of the address space. On 64bit windows, native 64-bit apps have a very large address space. 32-bit apps running on 64bit windows in the Windows On Windows64 environment still have a 4gig address space, but since all no kernel-mode code can run in 32-bit mode, you can use the whole 4gig address space. Link to comment Share on other sites More sharing options...
Three D Posted October 3, 2008 Author Share Posted October 3, 2008 Thanks Sandmanninja. Can you remember where you got that script? Also, what is the point of the dynamic limit setting if it is not to limit, in some capacity at least, the amount of memory used? Link to comment Share on other sites More sharing options...
Brian Smith Posted October 3, 2008 Share Posted October 3, 2008 Thanks Sandmanninja. Can you remember where you got that script? Also, what is the point of the dynamic limit setting if it is not to limit, in some capacity at least, the amount of memory used? as soon as you set your memory usage to dynamic, the dynamic memory limit means absolutely nothing, because the entire scene is being rendered with dynamic memory. in setting it to dynamic, it's essentially the same thing as making all of your objects proxies, and as far as memory is concerned, making proxies anyway would be a waste of time if the whole scene rendered as dynamic anyway. if you want to limit the memory, set it to static and specify the amount. if you really want to avoid this problem altogether, switch to 64bit max and vray. you'll never want to go back to 32 bit again. you might want to check out the 1 hour video on vray proxies here...it discusses this issue http://www.cgarchitect.com/upclose/VI/default.asp (week 25) Link to comment Share on other sites More sharing options...
SandmanNinja Posted October 4, 2008 Share Posted October 4, 2008 I concur - 64-bit is the way to go. Mental Ray has proxies now as well... Link to comment Share on other sites More sharing options...
tayrona Posted October 5, 2008 Share Posted October 5, 2008 Since we are using max/vray 64 bits and 8GB ram...... we forgot about crashes, including very very large scenes... Link to comment Share on other sites More sharing options...
Dave Oliver Posted October 5, 2008 Share Posted October 5, 2008 since were on the topic let me see if i am getting this right: 1) the size of your scene + the size of your exported meshes (proxies) = the amount of RAM max will want to use 2) your dynamic memory limit should be set above that size (to prevent dramatic slowdown due to paging or something) 3) proxies must be instanced 4) displacement increases the RAM consumption a lot in addition 5) the easiest rendering process will be irr. map for primary bounce and light cache for secondary (light cache is good at bouncing many rays very quickly) 6) if you HAVE to, increase the min. leaf size to 1/2" or 1" to shave memory off tiny details note: the dynamic memory limit is the amount of RAM max will assign to dynamic geometery (proxies) before starting to go back and forth from the disk loading and unloading them, which takes forever, so basically keep the size (in MB of disk space) of your base dynamic geometery (not all the instances just the original exported mesh) below the amount of RAM you have available for the fastest renders, and add a GB or two depending on how much displacement you have is this all correct? Link to comment Share on other sites More sharing options...
JonasEm Posted October 6, 2008 Share Posted October 6, 2008 Three D, are you tried render to V-Ray raw image file and turn of Vray frame buffer? It's save a lot of memory. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now