I’m trying to make some renders with Vray GPU. The problem: I’m using assets from KitBash3D and, as you may know, they come in 3ds max with a single big multi/sub material. In this example scene I only use one asset from the kit.
When I render with the CPU engine, I can see in the log window that only the maps used by the assets are loaded. Great!
But when I switch to GPU rendering, all the maps referenced in the multi-sub material are uploaded to GPU memory, even if the maps are not used by any object in the scene.
Now it uploads 345 bitmaps to render just one object (needless to say that my VRAM doesn’t like it ).
Any idea why the GPU engine is loading all the textures referenced by the Multi/sub object material, whereas with the CPU engine all unused textures are efficiently skipped ?
Just tested this on a simple scene and it seems to happen in CPU too. You can see for yourself by looking at the Bitmap section of the VFB Stats. I presume it is expected, but will ask around for more info. Otherwise, I suggest you separate the one shader you need from the multi/sub-object to avoid excessive memory usage or use the “Use System Memory for Textures” option in the Perf. rollout.
Indeed, separating the material from the multi/sub-object will work well. But in the case the scene is a mix of many KB3D kits, it’s complicated to manage. One workaround may be to use the “Clean MultiMaterial” tool of the material editor (as it deletes unused sub-materials in the scene).
In all case, the issue I was pointing out was the inconsistency between CPU / GPU rendering but, as you said, it happens also with GPU. So yes, it’s probably the normal behavior.
In V-Ray GPU V7 beta, the GPU engine should load the textures as fast as the standard V-Ray CPU. There shouldn’t be a big difference in time-to-first-pixel
If your run into GPU memory issues, please use “Use System Memory for Textures” as suggested by Aleksander!
Yes, it happens with VrayBitmaps too, but only when using a multi/sub-object material (and I guess with any material which combines other materials like BlendMtls etc…).
But the problem here is quite specific to KB3D kits: their scenes come with one single multi/sub-object material. So rendering a single object can result in loading 300 4k textures. which may be problematic, even when using the system memory.