Announcement

Collapse
No announcement yet.

QND Tree?

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

  • QND Tree?

    I'm trying to figure out why a scene I'm working on is incredibly slow when I turn on motion blur. While looking at the log I notice two lines

    with motion blur on
    QND tree contains 6965711 primatives
    QND tree takes 797.82MB


    with motion blur off
    QND tree contains 3 primatives
    QND tree takes 0.88MB


    Can someone explain what the QND tree is?

    For some background on my scene....I am on Max2014, Vray 3.20.03 and Forest pro 4.4.1. I have a very large landscape covered with bushes using Forest Pro. I've broken my landscape into a bunch of smaller pieces which Forest Pro seems to prefer. My max density in FP is 550k items in area. I have tried turning Embree on and off but there is little difference between the two.

    Thanks,

    Tim J
    Last edited by Seraph135; 16-09-2015, 06:38 PM.
    www.seraph3d.com
    Senior Generalist
    Industrial Light & Magic

    Environment Creation Tutorial
    Environment Lighting Tutorial

  • #2
    The QND tree stores things like instanced objects and proxies. Can you check if this is because of ForestPro? It looks like enabling motion blur breaks the instancing of ForestPro. It may be something to report to Itoo.

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

    Comment


    • #3
      It does appear to be linked to Forest Pro. This issue only shows up if I have Forest Pro and Motion blur together. If I hide Forest Pro and render both with and without motion blur then the QND tree contains 3 primatives. If Forest Pro is visible and motion blur is off then I also only have 3 primatives....But Forest Pro AND motion blur and I suddenly have 6965711 primatives.

      I've already been in contact with Itoo about this problem and they've looked at my scene, but neither of us noticed this QND issue before. I will get back in contact with them about this. I'll post here again if I find out more.

      Thanks,

      Tim J
      www.seraph3d.com
      Senior Generalist
      Industrial Light & Magic

      Environment Creation Tutorial
      Environment Lighting Tutorial

      Comment


      • #4
        Hi, i'm doing some tests here, but cannot see any logic about what is happenning.
        I've attached a sample scene which includes 50k teapots scattered with Forest and VRayInstancer:

        - QND tree is not always shown in the log. In this case, i only could get it rendering from a VRayDomeCamera (the scene which Tim sent us uses it).
        - Forest 4.4.1 with Motion blur generates a QND of 50k primitives.
        - Forest 4.4.1 without MB doesn't show anything about QND (may be value is lower than 2 ?)
        - VRayInstancer always generates a QND of 50K primitives, regardless of using MB or not.

        In this particular scene render time is better turning on motion blur, although that happens both using Forest or VRayInstancer.

        I tried also with a version of Forest VRay shader compiled with V-Ray 3.20.03, and renders a bit faster (as expected, because the improvements included on this version)... but in this case QND tree always shown 50k primitives.

        I assume the problem may be caused by the QND tree size, because the original scene is huge (several millions of items), but no idea how to keep it low. At least in Forest the code is exactly the same when using MB or not, i don't know what happens internally in the V-Ray libraries. I hope Vlado can enlighten us.

        Many thanks,

        BlurTest2014-02.zip
        (if you want to repeat the tests, just make visible or hide the VRayInstancer and Forest objects included in the scene)
        Carlos Quintero
        iToo Software
        www.itoosoft.com

        Comment


        • #5
          I just remembered that it's due to ForestPro being compiled against the older V-Ray SDK - in that case, the QND tree only handled motion-blurred instances out of ForestPro, whereas the static ones ended up being handled in the older and slower method. If ForestPro is compiled against V-Ray 3.20, it will produce the same amount of QND primitives regardless of whether moblur is on or off, which is the correct result.

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

          Comment


          • #6
            So correct me if I understood that wrong, but it sounds like your saying that the QND tree should show a large number of primatives with the latest SDK and that the code should be faster. Vlado, are thinking its normal behavior to take much longer to start rendering using motion blur? Or do you think there is likely some other issue causing the slow down? I can send you the scene file if you would like to check it out.

            Thanks for looking into this guys. I have a bunch more even larger scenes coming down the pipe, so your help solving what is going on here is very much appreciated.

            Tim J
            www.seraph3d.com
            Senior Generalist
            Industrial Light & Magic

            Environment Creation Tutorial
            Environment Lighting Tutorial

            Comment


            • #7
              Thanks for the explanation, Vlado. I have sent to Tim a Forest version compiled with the latest SDK. I hope that helps.
              Carlos Quintero
              iToo Software
              www.itoosoft.com

              Comment


              • #8
                Hey guys,

                We tried the updated build that was sent to me by Carlos on the 18th. I'm not sure if there was supposed to be a newer version than that, but the problem actually got worse. The QND tree now reports the total number of instances in the scene when motion blur is on or off. So they are consistent now. However, now its slow to prepare the scene to render with and without motion blur on. So it seems the situation got worse.

                You need to have about 1 million to start noticing the slow down, and as you go up from there it gets worse. Below is a quick example of what is happening.

                New Build w/o motion blur = 3:24 (3918238 primatives)
                New Build w/ motion blur = 3:50 (3918238 primatives)

                Old Build w/o motion blur = 1:58 (3918238 primatives)
                Old Build w/ motion blur = 3:46 (3918238 primatives)




                Then I did another test only increasing the density of the forest

                New Build w/o motion blur = 12:12 (6965723 primatives)
                New Build w/ motion blur = 13:16 (6965723 primatives)

                Old Build w/o motion blur = 4:14 (6965723 primatives)
                Old Build w/ motion blur = 13:13 (6965723 primatives)


                These times represent the time it takes from pressing render until the render finishes. In all cases once the buckets start rendering the render is equally fast. The rendering itself takes only about 1 minute in all cases. The slow part is while transforming vertices and compiling geometry for the forest prior to the buckets actually starting to render.

                So it looks like the older build was much faster when doing renders without motion blur. What do you guys think is the issue here?

                Thanks,

                Tim J
                Last edited by Seraph135; 22-09-2015, 02:26 PM.
                www.seraph3d.com
                Senior Generalist
                Industrial Light & Magic

                Environment Creation Tutorial
                Environment Lighting Tutorial

                Comment


                • #9
                  The slow down on preparation is fixed already in the nightly builds and for the next update.

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

                  Comment


                  • #10
                    Hi, i tried with the latest nightly build (3.25.01) and certaintly there is a great improvement. These are my results with 4 mill. primitives (scene is attached below):

                    VRay 3.20.03, Forest DLL for 3.20.03, MB off: 134.7 sec
                    VRay 3.20.03, Forest DLL for 3.20.03, MB on: 190.4 sec

                    VRay 3.25.01, Forest DLL for 3.20.03, MB off: 52.0 sec
                    VRay 3.25.01, Forest DLL for 3.20.03, MB on: 84.9 sec

                    VRay 3.25.01, Forest DLL for 3.25.01, MB off: 51.9 sec
                    VRay 3.25.01, Forest DLL for 3.25.01, MB on: 89.8 sec


                    There are not significative differences compiling Forest with 3.25.01. Anyway i will send the updated DLL to Tim.

                    MBlur_Test02.zip
                    Carlos Quintero
                    iToo Software
                    www.itoosoft.com

                    Comment

                    Working...
                    X