9 Replies Latest reply on Sep 19, 2017 9:29 AM by Rich Fagioli

    Screwed by High Resolution...

    Rich Fagioli

      In product photography for the web, one works with two resolutions: 1) Camera Resolution, which is fixed, generally around 20Mp for a DSLR and 2) Screen Resolution which is generally around 100dpi for a desktop LCD monitor.

       

      Whether you are photographing a blank sheet of copy paper or a roomful of paisley woolen scarves, the image size from the camera is always the same: around 20Mp(1). Visualize renders, however, are a different story, and my problem is that my "image size" increases linearly with image complexity. In the example below I've had to create a reasonable good looking stainless steel M6x1 Socket Cap Screw:

       

      M6X1 Socket Head Screw.jpg

      It's an improvement on the threadless socket cap "plugs" that you often see.

       

      M6X1 Socket Head Screw 2.jpg

       

      When I first imported this "model", I had to "Retain Structure" so that I could treat different "Parts" of the screw with different appearances, of which there are only three. As a result, this screw has no less than 361,538 polygons and takes a few minutes to hybrid render 1500 passes with my GTX1080ti card. The problem is that my final image is a repair kit that includes about 100 of these screws, detailed below:

       

      M6X1 Socket Head Screw 100 2.jpg

      If my polygons weren't out of control with only one screw, they are now. With nearly 43.4 million polygons, my rendering has seized up to less than a single pass per second and takes a couple of hours to render something useful. I understand that 43.4 million is somewhere near 100 screws X 361,538 polygons per screw....but much of this is useless information to my final image; it's cool to have the detail there for when I zoom in but the web graphic is static and neither rotates or zooms. Is there a way to control "complexity" prior to a render so that I don't waste time rendering "useless", sub-millimeter detail? Can I force a lower polygon count?

       

      Final image, actual size, 600px x 600px, 159kb.....can barely even see those threads!

       

      VC-01-914_12x12_VacCube_HrdwrKit_A.jpg

       

       

      (1) About 20Mp for a crop sensor, or APSC, camera shooting RAW

        • Re: Screwed by High Resolution...
          Ron Bates

          Where is the file coming from?  Ie what file format are you importing?

           

          "I had to "Retain Structure" so that I could treat different "Parts" of the screw with different appearances"  .. 

           

          I'd still try to avoid this and get the data set up BEFORE import so you can apply the appearances you need in Visualize.  If the head and thread are modeled, the number of "parts" that Visualize will break out for every face will be unnecessarily large for even just 1 screw...let alone 100's that you might pattern.  From the looks of it, it could be simplified to just 4 or 5 parts in the model tree...retain structure is probably giving you many 100's...

            • Re: Screwed by High Resolution...
              Ron Bates

              None of this will affect your polygon count though...  (Just reducing part count by many 1000's will always help performance and file size)

               

              I might consider importing 1 detailed model (without all the patterning) and 1 non-detailed model (no threads or bumpy head) into a second model set.  Only use the detailed model set with fewer patterned parts, when you need to do the close up...  Don't have Pro/Model-Sets, then just keep 1 copy of the detailed model hidden until you need it for some close ups...

            • Re: Screwed by High Resolution...
              Jason Stevens

              I know this might be a pain but it could be a work around. Only use one part and create an animation that moves the part to each desired location in one frame. Render 100 frames and composite in photoshop

              • Re: Screwed by High Resolution...
                Scott Ellery

                HI RIch ,

                 

                is the screw a SOLIDWORKS Part? if so I would check the image quality of the part prior to import into Visualize and bring it down a bit, this should limit the high amount of polygons you are seeing without necessarily dropping image quality (depending on how low you go)

                 

                if it is not a SOLIDWORKS part I would import it into SOLIDWORKS and lower the quality before utilizing it in Visualize.

                 

                also instead of importing as retain structure could you know have colour coded the different sections of the screw and bring it in as appearance based grouping? not sure if it would work for your process but if so would save a ton of time.

                  • Re: Screwed by High Resolution...
                    Rich Fagioli

                    I'll have to test how how changing these settings will affect a distant view of a small circle. I know that changing tessellation settings does awful things to curved surfaces.

                     

                    So after fooling around with import settings, I've noticed the following relationship between tessellation value (bottom) and numbers of polygons generated for a single socket head screw. (.step file, 311kb):

                     

                    At the lowest tessellation value (set at import), the render is useless:

                    1466polygons-autoImport-loTess.jpg

                    Moving the slider to the right one notch, from "0" to "1",  increases the number of polygons by 34x. Why is that?

                     

                    Each subsequent increase in tessellation number increases the number of polygons in some non-linear way, as plotted.

                    Changing import settings such as "Automatic", Retain Structure", "Layer Appearance" does not change the number of polygons. In fact, changing the image quality settings for this part in Solidworks, also makes little difference to the number of polygons generated.

                    Oddly, render time from the lowest setting to highest, didn't even double despite the massive increase in polygons.

                  • Re: Screwed by High Resolution...
                    Barry Shapiro

                    Rich,

                    I stopped using Visualize altogether due to problems working with large data sets. File sizes closing in on 1 Billion polygons. Not that unusual with the type of products I render. The problem that I would see is very slow response working and setting things up. Basically freezing. Once I hit render....pretty much would get expected render times.

                     

                    Don't use Hybrid render. My testing showed markedly slower performance with Hybrid compared to GPU only.

                     

                    Also you video card might not be the best for Visualize. The GTX is a gaming card. It is not optimized for GPU rendering. If you look at Nvidia's own white papers they clearly state the difference between the gaming cards and cards like the Quadro M4000 or P4000 series cards. Best bang for the $.

                     

                    Render in Fast mode. You don't need Accurate mode for chrome. This should give you good looking results since chrome and glossy surfaces are the least expensive materials to render.

                     

                    There is however a workaround that would benefit you for this rendering. Since polygons are calculated by cord length ......Adding a .001 radius to the edges of the thread and around the cap of the screw well force it to make the object appear round at a smaller tessellation (image quality in Solidworks) setting. It forces it to make shorter polygons on the fillet. I think you'll find t you can move the slider down and retain a better appearance with fewer polygons.

                     

                    BTW, standard screen display is 72 PPI (pixels per inch)    Print resolution is 300 PPI - usually for offset printing.

                    So to print an image 10 wide you need to render 3000 pixels wide by XXXX length depending on the proportions of your image.

                     

                    Hopefully this helps,

                    Barry