Scene has literally hundreds of 4k+ textures in use, so we’ve converted all textures to tiled exrs using the provided tool from CG.
Here’s what happens:
Scene renders nice and fast as it should, loading tiles on demand (watching the mem usage slowly build up), but on the last bucket it takes about 4 minutes to unload all the textures before saving (watching the mem usage slowly drop back down).
This means even though the frame takes half a minute to render it takes 4 minutes to get onto the next frame, meaning a 5 minute total render time.
Not acceptable for what we’re doing so we’ll just use TGA’s or TIFFs - but I was wondering if this is how maya/vray is supposed to work, or if you can specify to keep those EXR tiles in memory instead of unloading before saving?
VRAY_TEXTURE_CACHE - specifies the size, in megabytes, of a separate texture cache to be used for tiled OpenEXR files. If this is not present, or the value is 0, the same same cache is shared between dynamic geometry and tiled textures. One of the advantages of a separate texture cache is that it is persistent across the frames when rendering an animation.
So this isn’t something we’d want to turn on for our render nodes? we split our nodes in two… how would the cache work with two vray jobs running on it? so you set it for the global machine or for the node?
Why not, if it reduces render times… there is a texture cache either way, only if you don’t specify the VRAY_TEXTURE_CACHE variable then the same cache is used for tiled textures and dynamic geometry.> we split our nodes in two… how would the cache work with two vray jobs running on it? so you set it for the global machine or for the node?Each job will use the specified size of the cache.
i guess the same applies to rendering standalone? does vray-standalone unload all textures after a frame has finished?
EDIT: What would be a good setting for the texture cache? Is it enough to just sum up the total filesize of all textures on disk, or do i have to set the uncompressed size in memory?
does vray-standalone unload all textures after a frame has finished?No, only tiled textures. If you use the VRAY_TEXTURE_CACHE, then tiled textures will be persistent between frames too.
EDIT: What would be a good setting for the texture cache? Is it enough to just sum up the total filesize of all textures on disk, or do i have to set the uncompressed size in memory?You’ll have to play with this value a bit. For tiled textures, V-Ray will only load the portions of the texture that are needed, which may have little to do with the texture’s size on disk, or its uncompressed size. I believe V-Ray outputs a debug message for the actual size of the cache that was reached, it may be a good guide.