Announcement

Collapse
No announcement yet.

Tiled EXR's and excessive render times

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Tiled EXR's and excessive render times

    Hi guys,

    Here's the scenario:

    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?

    Cheers,
    Greg.

  • #2
    You can make the texture cache persistent across frames by specifying the VRAY_TEXTURE_CACHE environment variable, as described here: http://www.spot3d.com/vray/help/maya...ars.htm#assets

    Best regards,
    Vlado
    I only act like I know everything, Rogers.

    Comment


    • #3
      Vlado there is a typo there:

      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.
      Dmitry Vinnik
      Silhouette Images Inc.
      ShowReel:
      https://www.youtube.com/watch?v=qxSJlvSwAhA
      https://www.linkedin.com/in/dmitry-v...-identity-name

      Comment


      • #4
        Is this a ram cache or cache on disk?

        Comment


        • #5
          It's a RAM cache. We haven't implemented local disc cache for network textures yet.

          Best regards,
          Vlado
          I only act like I know everything, Rogers.

          Comment


          • #6
            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?

            Comment


            • #7
              Originally posted by mr furious View Post
              So this isn't something we'd want to turn on for our render nodes?
              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.

              Best regards,
              Vlado
              I only act like I know everything, Rogers.

              Comment


              • #8
                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?
                OLIVER MARKOWSKI - Head of 3D at RISE | Visual Effects Studios

                Comment


                • #9
                  Originally posted by ultrasonic View Post
                  i guess the same applies to rendering standalone?
                  Yep.

                  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.

                  Best regards,
                  Vlado
                  I only act like I know everything, Rogers.

                  Comment

                  Working...
                  X