I’ve got a scene that’s been rather troublesome on the memory front, though I’m not really sure why as it’s not that big, though there are a lot of third party assets imported in, etc.
Working with fairly tight deadlines and lots of changes means I rarely get time to optimise scenes (reduce poly counts, texture sizes, etc) and there may even be objects that are duplicated in different files that are referenced separately into the final scene; i’m sure that all of these things affect memory usage negatively.
Are there any things that I should be doing as a matter of course that will help to mitigate these problems in future?
For example I have a high resolution texture that is used in two separate files, that are then referenced in to the scene - presumably max does not know that this is the same/instanced and thus loads it twice? Would using the VRay Bitmap Loader help in this instance? Are instances read the same as proxies in terms of memory usage?
Do any others have any tips and tricks for having things run more smoothly? My colleague swears by using the asset collector/archiver to dump absolutely everything into the project folder; though I don’t see how (aside from server disk seeks) this would speed anything up, plus things are then decentralised from where they originally were.
One thing to try that I have seen suggested many times over the years is if you are running out of RAM due to high resolutions or a machine with less RAM available you can drop down the bucket size from the default 48x48… even down to 12x12 but at some point smaller buckets seem to add to render time I have no idea why but I’ve noticed it all the way back to Brazil R/S and V-Ray 1.5.
This is if you are using bucket rendering on the CPU that is, but I think CPU renderer is more efficient memory wise if I’m remembering this correctly.
Sorry if this does not apply to you if you are using GPU.
I can say this, using V-Ray for so many years, the GPU additions are amazing and wonderful and are only getting better and better, but the CPU development for V-Ray is rock-solid and it never lets me down if things are being weird on GPU.
Also I see by your signature that you prefer Brute force to any sort of Caching but if you take a few seconds to setup a good preset for Irradiance + Light-Cache it can sometimes save you in situations where other more 'contemporary" settings might be slower or more resource intensive of certain machines.
Anyway, I hope some of these old-school suggestions can help you or maybe someone else down the line.
So this scene of mine that’s using exorbitant amounts of RAM simply stopped rendering on Friday and I was up at 3:30am today trying to fix it. I deleted about 4 or 5 renderpeople 3D people (only the 30k ones) that I’d converted to VRay Proxies and suddenly the scene is using 26Gb less RAM than it was, and is now rendering fine!
This is why we need some kind of RAM monitor/debugger, I think. It was purely by chance that I stumbled across that - it could have been any number of things in the scene causing it really.
Mmm…that rings a bell. We purchased some 3D renderpeople a few months back for a project. I converted some of them to VRayProxies and i vaguely recall RAM usage went really high. We managed to get through the job, but I wonder if there is something about the renderpeople that VRay doesn’t like?
Annoyingly I don’t have time to test. Do you think it might be something happening during the export to .vrmesh? Or if it’s all of them, or just a couple? I’d be interested to know if anyone else has had this issue.
Its not only renderpeople, also the ones from humanalloy that send ram usage through the roof. Once I realised that I started furnishing my scenes on a per camera basis and minimising the amount of 3d people.
BTW I just place the original geo into the max file. I think its something in the translation from scene to render that does it, as the files and textures themselves arent huge. I mostly use the basics from HA but I’ve also used the highend humanalloy people (700mb for a single model) but that didnt seem to matter.
Interesting. I wonder why this should be? I even tried swapping out all the .tif images for .jpgs and that didn’t seem to help much. Could it be the way the material is set up?
its the first thing i do when i purchase any of these newer 3d people. make a subfolder called “halfres” and use a batch resizer to reduce all people txtures to 2k, and save them with same name and file type as originals, in that subfolder.
that way i use the asset browser in max, and point the scene to the “halfres” folder.. and any that are really closeup, i can repath to the originals. without editing any materials.
as mentioned, these 3d people often have 4-6 8k textures on each… its completely unnecessary unless you are doing a character study, and absolutely hammers your ram.
I definitely agree with all of you about the overkill of 8k textures - however I had already resized them (manually - which is annoying now that Bruce has posted a link to a plugin!) and it still didn’t make much of a difference; I think there must have been something wrong with one (or some) of the models.
Cracked it! Finally fixed the issue in my scene - several of the imported assets (even though they’re static - not animated) had keyframes. Deleted the keyframes; works perfectly.