Announcement

Collapse
No announcement yet.

Switching between CPU and GPU changes so many things in the beauty shot that you can not do this. Is this just the way VRay works or will it ever reach a point where both engines have matching output?

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

  • Switching between CPU and GPU changes so many things in the beauty shot that you can not do this. Is this just the way VRay works or will it ever reach a point where both engines have matching output?

    If switching between the CPU and GPU, things change so much that you can not do this to get the performance benefits from GPU rendering as things you don't expect to change, do change.

    VRayDisplacment displaces geometry differently on the GPU so you have to redo the displace material.
    Blurry reflections look great on the CPU, worse on the GPU
    lighting is brighter on the GPU
    texture maps lose fine details
    procedural texture maps (noises etc) texture completely differently.


    I guess there are different algorithms for shading but I still hope that I can render animation on either CPU slaves or GPU slaves with the quality of CPU rendering across all frames.
    Last edited by D3Pixel; 01-05-2019, 09:07 AM.

  • #2
    You have two engines V-Ray and V-Ray GPU.
    V-Ray runs on CPUs.
    V-Ray GPU can run on CPUs and GPU.
    They are different engines not meant to give 1:1 the same result, however there is a way to use CPUs+GPUs with consistent results.

    Stick to V-Ray GPU, go in the V-Ray GPU device settings and make sure that the C++/CPU device is checked. Enabling this will make your CPU device effectively being able to run the CUDA code and your CPU will pretend to be a CUDA device during the rendering. This CPU+GPU thing that V-Ray GPU can do is called Hybrid Rendering (check more about it here https://www.chaosgroup.com/blog/unde...brid-rendering)

    Best,
    ​​​​​​​Blago.
    V-Ray fan.
    Looking busy around GPUs ...
    RTX ON

    Comment


    • #3
      Originally posted by savage309 View Post
      They are different engines not meant to give 1:1 the same result
      ​​
      Hi Blago, Thanks. Yeah, I know about Hybrid rendering. Another reason apart from the ones already mentioned is because some clients send me work for VRay CPU and my setup is mostly GPU geared. I have to switch to CPU so that renders match with older work and I wish I could just use whatever engine my system is geared for and the results would match. You answered anyway saying they are not meant to match 1:1 so that's that.

      Thanks

      Comment


      • #4
        Originally posted by D3Pixel View Post
        You answered anyway saying they are not meant to match 1:1 so that's that.
        That's the most honest answer Chaos could give you.
        To this day, i have not seen anyone claiming the contrary to actually have achieved parity, and not through nitpicking either: the differences are glaring, whichever the engine.
        Some choose to come clean with it, others think they can achieve it, or so i like to assume, and so decide to call it done and announce it as a feature.
        But in my experience, no commercially available engine resisted any semi-serious testing about feature parity.
        I stand to be corrected, of course.
        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


        • #5
          I would still be interested in seeing examples of what you are describing. For example what does it mean that blurry reflections look worse? Or that textures lose detail? The lighting ideally should match or should be very close. If you have example scenes to send to vlado@chaosgroup.com, it will be helpul to check if some of these can be resolved.

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

          Comment


          • #6
            If there is a chance you can improve GPU to match CPU closer than I will set some time aside asap to send you examples of issues in my previous project. Thanks Vlado.

            Comment


            • #7
              Originally posted by ^Lele^ View Post
              That's the most honest answer Chaos could give you.
              To this day, i have not seen anyone claiming the contrary to actually have achieved parity, and not through nitpicking either: the differences are glaring, whichever the engine.
              Some choose to come clean with it, others think they can achieve it, or so i like to assume, and so decide to call it done and announce it as a feature.
              But in my experience, no commercially available engine resisted any semi-serious testing about feature parity.
              I stand to be corrected, of course.
              Not that I use it but Arnold GPU is supposed to match 1:1 with CPU. They made that claim some point during a beta announcement in the past but can't find it now. Blender Cycles is another that does it that I have used. I could not spot a difference myself when switching engines other than speed.
              As you say, the differences in VRay are glaring. When I get some time will send in a scene but not for a few weeks.

              Cheers

              Comment


              • #8
                Originally posted by D3Pixel View Post

                Not that I use it but Arnold GPU is supposed to match 1:1 with CPU. They made that claim some point during a beta announcement in the past but can't find it now. Blender Cycles is another that does it that I have used. I could not spot a difference myself when switching engines other than speed.
                As you say, the differences in VRay are glaring. When I get some time will send in a scene but not for a few weeks.

                Cheers
                With V-Ray GPU - you can run V-Ray GPU on GPUs and CPUs, and the result is 1:1.
                Atm, Arnold GPU does not support many of the features Arnold does.

                Best,
                Blago.
                V-Ray fan.
                Looking busy around GPUs ...
                RTX ON

                Comment


                • #9
                  Originally posted by savage309 View Post

                  With V-Ray GPU - you can run V-Ray GPU on GPUs and CPUs, and the result is 1:1.
                  Arnold GPU does not support many of the features Arnold does
                  Best,
                  Blago.
                  Eh?? With Hybrid rendering that 1:1 equates to GPU:Emulated GPU and not GPU:CPU doesn't it?

                  Comment


                  • #10
                    Originally posted by D3Pixel View Post

                    Eh?? With Hybrid rendering that 1:1 equates to GPU:Emulated GPU and not GPU:CPU doesn't it?
                    Not sure what "emulated GPU" is. V-Ray GPU has the Hybrid mode that allows it to run on CPUs, just like V-Ray. This way with V-Ray GPU you can use all your CPUs and GPUs at the same time with consistent results.

                    Best,
                    Blago.
                    V-Ray fan.
                    Looking busy around GPUs ...
                    RTX ON

                    Comment


                    • #11
                      Originally posted by savage309 View Post

                      Not sure what "emulated GPU" is. V-Ray GPU has the Hybrid mode that allows it to run on CPUs, just like V-Ray. This way with V-Ray GPU you can use all your CPUs and GPUs at the same time with consistent results.

                      Best,
                      Blago.
                      Does it emulate CUDA on the CPU?



                      Comment


                      • #12
                        Originally posted by D3Pixel View Post
                        Not that I use it but Arnold GPU is supposed to match 1:1 with CPU.
                        Using Arnold GPU myself I can tell you that many things don't match between CPU and GPU, it is still missing many features and has critical issues
                        It is far from being production ready

                        Originally posted by D3Pixel View Post
                        Blender Cycles is another that does it that I have used. I could not spot a difference myself when switching engines
                        It is not like Cycles was a CPU engine and they ported it to GPU
                        While it can run on CPU, Cycles is very very slow compared to the CPU version of V-ray and extremely limited using Cycles 4D myself.. You are basically comparing a Porsche 911 GT3 to a Fiat Punto

                        Originally posted by D3Pixel View Post
                        Eh?? With Hybrid rendering that 1:1 equates to GPU:Emulated GPU and not GPU:CPU doesn't it?
                        As far as I understand, CPU code cannot magically work on GPU hardware.. GPU hardware has specific limitations, devs will need to write a new code and optimize it to specifically run(fast) on GPUs, and to avoid/go around the limitations of GPU hardware
                        That being said, the GPU version of V-ray is very good and has all features you would need in production, I have been using it for 2 years so far. You will need to adapt to the GPU workflow in V-ray and most importantly start your projects using the GPU engine, you cannot just switch between CPU and GPU engines mid project.

                        Originally posted by D3Pixel View Post
                        because some clients send me work for VRay CPU and my setup is mostly GPU geared
                        er , why would you have a GPU geared machine then?
                        Maybe look into Chaos Cloud?

                        Originally posted by D3Pixel View Post
                        texture maps lose fine details
                        Blurry reflections look great on the CPU, worse on the GPU
                        You are doing something wrong most likely.. I haven't run into these issues on GPU, you need to share your test renders.
                        Last edited by Muhammed_Hamed; 03-05-2019, 05:08 PM.
                        Muhammed Hamed
                        V-Ray GPU product specialist


                        chaos.com

                        Comment


                        • #13
                          Originally posted by Muhammed_Hamed View Post
                          Using Arnold GPU myself I can tell you that many things don't match between CPU and GPU, it is still missing many features and has critical issues
                          It is far from being production ready
                          I was going off this post: https://greyscalegorilla.com/2019/03...-gpu-renderer/ which has a section on 1:1 rendering no matter if you use cpu or gpu on the same project. I know it has missing features. So does VRay GPU compared to Vray CPU.
                          EDIT: Also this video (Fast Forward to 4:40) http://on-demand.gputechconf.com/sig...n-the-gpu.html where they talk about the same thing being able to send the same project to either a GPU farm or CPU farm and the results will be 1:1. Not sure it is possible if VRay haven't managed to do that by now though.

                          Originally posted by Muhammed_Hamed View Post
                          It is not like Cycles was a CPU engine and they ported it to GPU
                          While it can run on CPU, Cycles is very very slow compared to the CPU version of V-ray and extremely limited using Cycles 4D myself.. You are basically comparing a Porsche 911 GT3 to a Fiat Punto
                          So you think cycles emulates GPU on the CPU too which is how they manage it with one engine but either gpu or cpu?
                          Fiat Punto? lol. Big steering wheels. Anyway, I have a different experience to that. I honestly think Cycles in Blender is very good and have been using both Max/Vray and Blender/Cycles for years. I just completed an 8000 frame animation in Max+Vray GPU and ran into all sorts of quirks and a bug that put the handbrake on so it's not all turbo this side either. Although the support here is very active which is good.

                          Originally posted by Muhammed_Hamed View Post
                          As far as I understand, CPU code cannot magically work on GPU hardware.. GPU hardware has specific limitations, devs will need to write a new code and optimize it to specifically run(fast) on GPUs, and to avoid/go around the limitations of GPU hardware
                          That being said, the GPU version of V-ray is very good and has all features you would need in production, I have been using it for 2 years so far. You will need to adapt to the GPU workflow in V-ray and most importantly start your projects using the GPU engine, you cannot just switch between CPU and GPU engines mid project.
                          When we can just render with whatever our hardware is geared for and not worry about different qualities in frame output then we all benefit. Maybe VRay will drop the CPU engine and just have one single Hybrid engine at some point.

                          Originally posted by Muhammed_Hamed View Post
                          er , why would you have a GPU geared machine then?
                          Maybe look into Chaos Cloud?
                          Because I do animations on GPU's but some clients refuse to switch to GPU due to the quality difference that I have been talking about. This is not just me who experiences this. I am now forced to work in VRay CPU so the client renders all match with their existing work It is so slow when I am used to GPU. I would love to be able to work in VRay GPU on their files and just switch it back to CPU when done and return their Max files but you can not do this with VRAY.

                          Originally posted by Muhammed_Hamed View Post
                          You are doing something wrong most likely.. I haven't run into these issues on GPU, you need to share your test renders.
                          [/QUOTE]
                          I definitely need to send a file to demonstrate all this. I will see if I can create one this bank holiday unless the mrs drags me out of the den The project I am on now barfed when I tried to switch to GPU. The VRay log filled up with about 30 unsupported bump map warnings and a few other unsupported materials so it was a non starter.
                          Last edited by D3Pixel; 03-05-2019, 06:30 PM.

                          Comment


                          • #14
                            As I said, if you start with V-Ray GPU and don't switch back and forth the V-Ray, you will have render (V-Ray GPU) that support 100% the same features between CPU and GPU and gives 1:1 the same result. It does not the same feature as V-Ray, Arnold, Cycles, but it has all the things you need to get the job done (if not, this should be fixed).

                            Best,
                            Blago.
                            V-Ray fan.
                            Looking busy around GPUs ...
                            RTX ON

                            Comment

                            Working...
                            X