11 Replies Latest reply on Mar 27, 2019 4:03 PM by bRANDON COUNCIL

    Why does Solidworks Visualize bypass the GPU when trying to render a complex assembly?

    Toby Cooper

      I have been having lots of trouble recently trying to render a complex assembly. More complex than I have tried before. I am working on a custom built PC with a NVIDA P2000 graphics card, which has worked amazingly up until now. I understand that I may need a more powerful graphics card to render the more complex models. But if anyone knows of any way to force the renderer to use the graphics card as opposed to bypassing it for the CPU, that would be a great temporary fix.

       

      Thank you in advance to anyone who can help.

       

      Toby x

        • Re: Why does Solidworks Visualize bypass the GPU when trying to render a complex assembly?
          Joel Gilbert

          Check your nVIDIA control panel settings for Visualize. You should be able to add application-specific rules for what graphics card is used when, so if you add Visualize and set the P2000 as the only option then it should use it. I've found that I get better render speeds from my non-certified mid-level nVIDIA card on my home PC than with a Quadro with the same amount of RAM.

          • Re: Why does Solidworks Visualize bypass the GPU when trying to render a complex assembly?
            Steve Lovell

            Hi Toby,

            I have the same card and the same issue, apparently if the complete model can't load on to the cards own memory it will not use the GPU at all !!!!

            I have used GPU-Z to monitor usage, and this looks like to be the case.

             

            See attached screen shot, taken whilst rendering a large model (45,000,000 polygons)

             

            Also I haven't found anyway of telling how much memory is required for a model with a given polygon count, If anyone has some guide lines that would be very informative.

             

            Cheers,

             

            Steve.

              • Re: Why does Solidworks Visualize bypass the GPU when trying to render a complex assembly?
                Richard Earley

                Hi Steve,

                 

                My colleague Alan, did some research into this as Visualize was released.

                He found that 5,000,000 polygons, roughly equated to 1GB of VRAM needed to load it on to the graphics card.

                 

                With the above being said, we have found that this has changed since 2018 SP3 and the introduction of the denoiser and we no longer use it as a guide. The denoiser seems to hold a certain amount of VRAM in reserve in the background, even when not active.

                 

                If any of the developers are reading this then it would be great to have some other guidance for this :-)

                 

                If we used the old method of calculating, you would need 9GB VRAM to load it onto your graphics card.

                Looking online, I think that the P2000s can get as high as 5GBs??

                 

                Also 45,000,000 strikes me as exceptionally high!

                 

                Some defeaturing / removal of unnecessary details and components in SOLIDWORKS first, would dramatically reduce this.

                 

                Hope that the above helps!

                 

                Thanks

                Richard

              • Re: Why does Solidworks Visualize bypass the GPU when trying to render a complex assembly?
                Ron Bates

                @Richard et al....  I really really REALLY don't feel that comfortable trying to put a geometry (polygonal based) number on memory consumption.  GPU memory usage will also be used for everything else in the scene...so polygon count alone is not the only factor.  It's like asking "How long will a tank of gas last me?"  The answer would be a dozen more questions...  Kind of car? driving style? temps? tire pressure? etc. etc.   I could use up 10 GB of GPU RAM by (unintentionally) keeping a handful of massive HDR images and 10-20-30 very high res appearance textures.  All that being said, I'll bashfully give a rough ballpark and say ~5-10 million polygons per GB of VRAM.  This goes down with every other element in the scene.

                 

                I want to mention that we are currently working on improving memory usage in a couple of ways...  In the future, I hope you can expect to see less GPU memory being used for any given scene...ergo expect to not fall back to CPU only (which is likely what is happening to @Toby in this case with his 45 million polygon model and 5GB of VRAM on a P5000).

                 

                At the moment, I would say besides doing everything possible to reduce the size of your project (simplify model/polygon count) and be certain to remove any unused assets in the scene (there is a tool, Project --> Delete All Unused Objects)...then the next best way to preserve GPU resources is to use Queue (Send to Queue) and exit Visualize so only Queue is processing the render job.  Not ideal...I realize.  But it can help keep from running out of GPU memory at the moment.  At the very least, take this message to heart and exit Visualize as soon as your render is processing.

                 

                Again, we're actively working on improvements on this very topic... I promise! 

                • Re: Why does Solidworks Visualize bypass the GPU when trying to render a complex assembly?
                  Greg Belcik

                  I have had this problem also with complex assemblies, using accurate + denoiser uses about 90% of my graphics ram (12gb) and if I start a render, this useage doesnt get released causing the offline renderer to only use CPU.  One annoying workaround is to switch to preview mode, save, close visualize to release the ram.  Then when you restart, visualize wont be using much ram because its in preview mode and you can start your render and it will use GPU.