Announcement

Collapse
No announcement yet.

Brute Force Optimization questions... GI is so noisey but RGB looks fine?

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

  • #16
    Others can probably explain it better than me, but my understanding is that the Min Shading Rate controls whether samples go to antialiasing (lower values) or shading/noise (higher values). Far fewer samples are needed for antialiasing than shading, and moving this value up shifts the samples accordingly. It basically makes better use of the samples, reducing the need to drop the threshold so low, which is a much costlier way to achieve the same visual result.

    This may be completely wrong, hopefully someone can clarify if it is.

    Comment


    • #17
      Yep - minimum shading rate is forcing that number of shading samples to be cast every time an anti aliasing ray is shot. The logic is that the anti aliaser only sees the final 2d image pixels when it's doing it's quality testing and it's looking for differences in colour or brightness to smooth out - these differences or just "contrast" can be anything. It can be areas of detail in a texture, it can be the geometric edges of an object lying against each other, or the important on in the case of speed, it can be noise / grain in your shading. If you've got a totally flat plane in your scene (such as a floor or wall in an interior) there's no geometric detail to worry about since it's large single polygon areas, but if the light or material hitting that wall is noisy, the anti aliasing sampler sees that as noise and it'll keep going through cycles of anti aliasing trying to clean it up. Say for example you have vray set so it's only taking one light, gi and material secondary sample per anti aliasing ray, and it'll take 50 of those secondary samples to clean up our wall. That means that vray has to shoot an aa ray to get one secondary sample for each, test it and see if it meets your chosen quality level. It won't, so it shoots another aa ray to get another set of secondary samples, tests them, again fails our quality test and goes again all the way up to the 50 samples it needs. Now we have the option of using min shading rate and if we set it to 10 for example, every time vray shoots an aa ray, it's forced to take 10 light, material and GI samples. If we do this, it's only going to take 5 rounds of our sampling loop to get up to our 50 samples needed for a clean result. All of the overheads of the loop of sampling and quality testing take a little bit of time so you can get faster results by trying to kill off the loop of sampling earlier on.

      There's lots of stuff being looked at in this area right now to make it easier, it'll be an interesting few months

      Comment


      • #18
        Originally posted by joconnell View Post
        There's lots of stuff being looked at in this area right now to make it easier, it'll be an interesting few months
        Thanks again for sharing, John. I have to say I love the above part the most....
        always curious...

        Comment


        • #19
          Originally posted by jasonhuang1115 View Post
          Thanks again for sharing, John. I have to say I love the above part the most....
          I don't think vlado is going to stop improving these things until people don't have to think about any of the numbers at all

          Comment


          • #20
            Originally posted by beenyweenies View Post
            Just wanted to add my own personal experience to this thread. BF/BF can actually be quite competitive in terms of speed, while producing much more reliable and consistent results (especially for animation work). But it all depends on your subject matter, format, and definition of "fast." I'm mostly involved in HD product work, with the products typically placed in interior settings, and my target render time per frame is around 25 minutes.

            For me, BF/BF speed is totally acceptable when setting Subdivs Mult to 0.000 (letting Vray control subdivs), cranking the Min Shading Rate (higher values gradually improve shading/texture/noise quality vs. antialiasing quality) to something like 20-30, and then gradually working the Adaptive Threshold from .020 down until the time/quality balance is acceptable, usually around .015. I'm also doing a slight amount of grain management in post.

            wow, this is impressive "universal mode" alternative. Rather than letting materials do the subdivs and lights, this way has made a recent scene render so much quicker. Thanks for sharing it.
            Maya 2020/2022
            Win 10x64
            Vray 5

            Comment


            • #21
              Originally posted by snivlem View Post
              wow, this is impressive "universal mode" alternative. Rather than letting materials do the subdivs and lights, this way has made a recent scene render so much quicker. Thanks for sharing it.
              No problem! Not only do many things render quicker, but you save a TON of time not having to mess around with settings.

              Comment


              • #22
                Originally posted by beenyweenies View Post
                No problem! Not only do many things render quicker, but you save a TON of time not having to mess around with settings.
                Interestingly enough we came across a scene where this method caused some headaches.

                Basically in an arch vis styled scene (LC + BF) indoor scene with white walls lit by a HDRI we were getting some decent render times but there was an issue with some glossy materials having superbright pixels. It was very difficult to see what was causing them but to get rid of them we had to increase the AA samples to some pretty high numbers and the render times went from 4-5 hours to over 24.

                The interesting part is that we went back to a universal settings and the scene not only became a lot brighter but also very smooth and render times went to 2.5 hours. The glossy materials that were having issues all of a sudden became very smooth and looked very different to the previous method.

                Having said that this method works really well for outdoor scenes as it is very fast and is better than universal.

                For us we find three different universal settings.

                1) 1-100 and control everything with the noise threshold
                2) 2-32 (subdivs multiplier 0, min shading rate 6) and also control with the noise threshold
                3) 1-x (subdivs multiplier 0, min shading rate 20-30)

                We find that 2 is best for interiors with lots of glossies and flat shaded walls, 3 is best for exteriors and 1 is the last resort for either instances of the previous ones not working out too well.
                Maya 2020/2022
                Win 10x64
                Vray 5

                Comment


                • #23
                  Does anyone adjust the DMC Sampler Adaptive Threshold? Or only the Adaptive Threshold? Almost made a new thread for this but as this thread is still going I thought I would add here.

                  Thank you everyone for your posts in this thread btw very informative!

                  Comment


                  • #24
                    Originally posted by emartin8907 View Post
                    Does anyone adjust the DMC Sampler Adaptive Threshold? Or only the Adaptive Threshold?
                    From what I've seen, the DMC Sampler settings are almost irrelevant using the settings I outlined above. In every project I've done with these settings, I spend some time tweaking Adaptive DMC to see if there's some special case wherein the settings improve the visual result or impact render times. But aside from a small uptick in render time I've yet to see any real positive or negative impact on the final image. I'm sure there's a good technical explanation for this, or maybe I'm just doing something wrong, but there you have it.

                    I'm happy for this to be the case, because that's just one less block of settings to worry about. Using the settings above, I've been able to use the same render preset on ALL of my projects, only tweaking the Adaptive Threshold to dial in noise vs. render time. It's a true single-setting render preset. Vray FTW!
                    Last edited by beenyweenies; 09-09-2015, 10:41 AM.

                    Comment


                    • #25
                      Originally posted by beenyweenies View Post
                      Just wanted to add my own personal experience to this thread. BF/BF can actually be quite competitive in terms of speed, while producing much more reliable and consistent results (especially for animation work). But it all depends on your subject matter, format, and definition of "fast." I'm mostly involved in HD product work, with the products typically placed in interior settings, and my target render time per frame is around 25 minutes.

                      For me, BF/BF speed is totally acceptable when setting Subdivs Mult to 0.000 (letting Vray control subdivs), cranking the Min Shading Rate (higher values gradually improve shading/texture/noise quality vs. antialiasing quality) to something like 20-30, and then gradually working the Adaptive Threshold from .020 down until the time/quality balance is acceptable, usually around .015. I'm also doing a slight amount of grain management in post.
                      So what kind of adaptive sampler settings would you use? min/max subdivs? and do you leave your color threshold on 0.01?

                      Comment


                      • #26
                        Originally posted by thomaskc View Post
                        So what kind of adaptive sampler settings would you use? min/max subdivs? and do you leave your color threshold on 0.01?
                        I think some experimentation is in order here, but here's my own personal thinking.

                        I always leave Min Subdivs at 1, because.

                        As for Max Subdivs, some people say you can get faster render times by cranking this value to like 80+. I found that it literally just moves all the work of noise reduction and reflections from the DMC Sampler onto the Image Sampler. Cranking the Adaptive Max Subdivs to something like 80 seems to effectively shut down the DMC sampler - those controls no longer have much affect on the render outcome. For scenes with large, flat areas and few reflections this method works ok, but if you have reflections (and especially depth of field), the noise in those areas can become intolerable. If you've cranked Max Subdivs (and basically shut off DMC), the only way to clean those areas up is to lower the Adaptive Color Threshold, which is the single most expensive way to reduce noise. I usually set Threshold to .014 - .02 and do a slight amount of grain management in post.

                        Given all of this, For the Max Subdivs setting I worked my way up from the default of 8, and arrived at 15 as a catch-all that I use on all of my scenes. It allows everything to work the way it's meant to IMO.

                        it's important to note that, using my render settings in my post above, the DMC controls don't affect the render much either. Instead, you raise the Min Shading Rate, which tells Vray more work should be put into reflections/DOF versus antialiasing. The higher that number, the more Vray allocates subdivs to reflections and DOF rather than geometry antialiasing.

                        Now, I'm still learning myself. I'm happy to have someone more knowledgeable than me step in if I'm wrong about some of this stuff!
                        Last edited by beenyweenies; 09-09-2015, 06:08 PM.

                        Comment


                        • #27
                          So the process of rendering a character animation using BF+LC require a pre baked vrlmap with "use camera path" ON. with "mode" set to fly through or single frame?

                          Comment


                          • #28
                            Originally posted by stezza View Post
                            So the process of rendering a character animation using BF+LC require a pre baked vrlmap with "use camera path" ON. with "mode" set to fly through or single frame?
                            I do a lot of animation work and exclusively use BF/LC. I never do any pre-baking/passes or mess with fly through etc. When set up correctly, BF/LC should just work as a universal GI setup for every scenario, with no need to do any pre-passes - you can set it up once and forget the GI panel for the rest of your days. Literally.

                            When Brute Force is the primary GI bounce, you shouldn't ever have issues with flicker, artifacts etc OR need to do pre-passes. Those problems are a consequence of using Light Cache as the Primary Bounce. However, when Light Cache is used as the secondary bounce, it's basically just cleaning up the noise of the Brute Force result, so it smooths the result without introducing problems. I set the Light Cache settings to Single Frame Mode, uncheck Camera Path, crank its subdivs to something like 1500, and literally haven't ever had to deviate from that. Also, I would strongly recommend to uncheck Local Subdivs in the DMC Sampler - this will gray out ALL subdiv boxes in render settings and materials, and empower Vray to intelligently decide when, where and how to allocate those Subdivs, a job it does quite well.

                            I made a preset that I use on every single project, animated or not, and the only control I ever have to adjust is the Sampler Threshold - set it higher to get more grain but faster render (previews), or lower to get less grain and slower render (final output).

                            Comment


                            • #29
                              This thread should prove to be a good read (it also touched on the LC, ofc.):
                              https://forums.chaosgroup.com/forum/...tion-rendering
                              Lele
                              Trouble Stirrer in RnD @ Chaos
                              ----------------------
                              emanuele.lecchi@chaos.com

                              Disclaimer:
                              The views and opinions expressed here are my own and do not represent those of Chaos Group, unless otherwise stated.

                              Comment

                              Working...
                              X