Announcement

Collapse
No announcement yet.

Proxy Vs Native Maya geometry - Render Speeds

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

  • Proxy Vs Native Maya geometry - Render Speeds

    Hi guys.
    Splitting this issue out from my other topic(sample differences between proxy and maya model in certain setups.... which Im still investigating) in order to have a more specific discussion.

    It seems that there is quite a large difference in speeds between rendering with Native Maya geometry and then using a VrayProxy loading an Alembic file.
    On our production assets and production scenes the differences are significant at least.

    In order to debug it myself and to give something clear to you guys, I've tried to construct a simple scene that illustrates what we see.
    Ive created a simple scene which is attached to this post.
    Two polygon spheres (one with a 100/100 subdivions and one with standard 20/20, all in all 20560 triangles)
    Exported to alembic using maya defaults (UV write, Write Creases on)
    Alembic is then loaded though a VrayProxy node using standard settings
    An ALshader(no inputs, and barely any changes to default settings) is then assigned to the maya geometry and into both spheres in the proxy though the VrayMtl node ( and this time Im sure its assigned because I was smart to change the colors )
    A Vray Dome light is created
    Ive increased the sampling quality(low threshold) to get get render times that are high enough to not be affected by momentary CPU changes on the machine, and also to not be affected by general overheads in starting the renderer.
    The scene is attached to this post.

    These are the stats I get from rendering this scene, toggling visibility between proxy and maya geo.
    Ive done multiple tests over the last few days and its the same behavior im getting, so this should not be a random fluke.

    439 Seconds Maya Geometry - ( using default behavior loaded into Embree Static Tree )
    507 Seconds Maya Geometry - ( forced into the Embree Dynamic Tree )
    525/550 Seconds Vray Proxy - ( using default behavior loaded into Embree Dynamic Tree )

    The images produced are identical with the two tests of maya geometry, but with the Vray proxy you can see a small variation on the edge probably caused by reflections (Variations that we visually would not object to when using one or the other method out of context to each other).
    That there is a difference visually hints that the geometries within the rendere are not exactly the same perhaps.
    Sample counts are pretty much the same in all 3 renders (though not exactly identical, not enough for it to affect render times)

    From what we see(I think) the differences gets larger the more complicated and heavy the scene is (so increased raycasts gives larger differences, which hints that its perhaps a an embree tree speed difference thus my test cases).
    Looking at the times for our production scenes(thousands of objects in a proxy and millions of polygons), the relative difference increases, and in some of our scenes I almost see a 2x difference in rendertime between proxy and maya models (though I have to admit that other factors could be in play here in comparison to this specific test scene as often happens with complicated scenes)

    My questions are then.
    • Am I treating my alembic exports correctly (any settings I should be focused on that could have a clear effect)
    • Am I treating my Vray proxy correctly ( any subdivision settings in play in my test scene which Ive overlooked )
    • Is there a difference in how Vray treats (subdivides, tessellates) my proxy geometry (like trying to render it as subdiv?, but with no smoothing it seems)
    • Is there any debugging flags I can turn on that will give me more insight into the amount of geometry loaded/handled (and how its perhaps subdivided or treated)
    • Are there any debugging flags in general I can turn on to give me more insight into what could be different in my tests
    • Is the difference in speed between Dynamic and Static Embree trees expected ( so the maya geometry shows a difference which can be directly compared which is wierd )
    • Assuming that I have done everything correctly and its the same geometry, then why is there a difference between a "proxy" node using the Dynamic trees, and then maya geometry using the same tree.
      • Are there other differences in how Proxy nodes have their geometry submitted/handled besides getting pushed into static or dynamic embree trees.
    Hope you can make me wiser on this.
    (and I really hope I didn't mess up in my tests this time around)

    Thanks for your help in advance,
    Jimmi

    The full outputs from the renders are in the next post

    Attached Files

  • #2
    Had to strip a few things to make it fit (and they were less important anyway)

    Maya Geometry - Dynamic Geometry Forced

    [2018/Apr/12|14:09:05] V-Ray: Compiling geometry...
    [2018/Apr/12|14:09:05] V-Ray: Using embree ray tracing.
    [2018/Apr/12|14:09:05] V-Ray: Building embree dynamic geometry tree...
    [2018/Apr/12|14:09:05] V-Ray: Embree dynamic geometry tree contains 2 primitives.
    [2018/Apr/12|14:09:05] V-Ray: Embree dynamic geometry tree built in 47.41 ms.
    [2018/Apr/12|14:09:05] V-Ray: Embree dynamic geometry tree takes 0.01 MB.
    [2018/Apr/12|14:09:05] V-Ray: Using 0.69 MB for adaptive lights buffer
    [2018/Apr/12|14:09:05] V-Ray: Tracing 1000000 image samples for light cache in 64 passes.
    [2018/Apr/12|14:09:05] V-Ray: Using 35.16 MB for light cache preview buffer
    [2018/Apr/12|14:09:05] V-Ray: Building light cache...
    [2018/Apr/12|14:09:07] V-Ray: Merging light cache passes...
    [2018/Apr/12|14:09:07] V-Ray: Light cache contains 2430 samples.
    [2018/Apr/12|14:09:07] V-Ray: Light cache base memory usage is 7.3 MB.
    [2018/Apr/12|14:09:07] V-Ray: Prefiltering light cache...
    [2018/Apr/12|14:09:07] V-Ray: Average rays per light cache sample: 203.07 (min 1, max 545)
    [2018/Apr/12|14:09:07] V-Ray: Using premultiplied light cache.
    [2018/Apr/12|14:09:07] V-Ray: Rendering image...
    [2018/Apr/12|14:17:28] V-Ray: Number of raycasts: 2195900639 (2382.70 per pixel)
    [2018/Apr/12|14:17:28] V-Ray: Camera rays: 222528223 (241.46 per pixel)
    [2018/Apr/12|14:17:28] V-Ray: Shadow rays: 657496141 (713.43 per pixel)
    [2018/Apr/12|14:17:28] V-Ray: GI rays: 704969305 (764.94 per pixel)
    [2018/Apr/12|14:17:28] V-Ray: Reflection rays: 233992306 (253.90 per pixel)
    [2018/Apr/12|14:17:28] V-Ray: Refraction rays: 0 (0.00 per pixel)
    [2018/Apr/12|14:17:28] V-Ray: Unshaded rays: 377042769 (409.12 per pixel)
    [2018/Apr/12|14:17:28] V-Ray: Light cache utilization: 98.52%
    [2018/Apr/12|14:17:28] V-Ray: Premultiplied light cache utilization: 99.50%
    [2018/Apr/12|14:17:28] V-Ray: Number of light evaluations: 371719447 (403.34 per pixel)
    [2018/Apr/12|14:17:28] V-Ray: Maximum memory usage for resman: 1.73 MB
    [2018/Apr/12|14:17:28] V-Ray: Number of intersectable primitives: 3
    [2018/Apr/12|14:17:28] V-Ray: SD triangles: 0
    [2018/Apr/12|14:17:28] V-Ray: MB triangles: 0
    [2018/Apr/12|14:17:28] V-Ray: Static primitives: 2
    [2018/Apr/12|14:17:28] V-Ray: Moving primitives: 0
    [2018/Apr/12|14:17:28] V-Ray: Infinite primitives: 1
    [2018/Apr/12|14:17:28] V-Ray: Static hair segments: 0
    [2018/Apr/12|14:17:28] V-Ray: Moving hair segments: 0
    [2018/Apr/12|14:17:31] V-Ray: Successfully written image file "proxy_issue.png"
    [2018/Apr/12|14:17:31] V-Ray: Total frame time 0h 8m 27.5s (507.5 s)

    Maya Geometry - Static Geometry
    [2018/Apr/12|14:31:48] V-Ray: Compiling geometry...
    [2018/Apr/12|14:31:48] V-Ray: Using embree ray tracing.
    [2018/Apr/12|14:31:48] V-Ray: Building embree static accelerator ...
    [2018/Apr/12|14:31:48] V-Ray: Building embree static trees took 82 milliseconds
    [2018/Apr/12|14:31:48] V-Ray: Building embree dynamic geometry tree...
    [2018/Apr/12|14:31:48] V-Ray: Embree dynamic geometry tree contains 0 primitives.
    [2018/Apr/12|14:31:48] V-Ray: Embree dynamic geometry tree built in 39.82 ms.
    [2018/Apr/12|14:31:48] V-Ray: Embree dynamic geometry tree takes 0.00 MB.
    [2018/Apr/12|14:31:48] V-Ray: Using 0.69 MB for adaptive lights buffer
    [2018/Apr/12|14:31:48] V-Ray: Tracing 1000000 image samples for light cache in 64 passes.
    [2018/Apr/12|14:31:48] V-Ray: Using 35.16 MB for light cache preview buffer
    [2018/Apr/12|14:31:48] V-Ray: Building light cache...
    [2018/Apr/12|14:31:50] V-Ray: Merging light cache passes...
    [2018/Apr/12|14:31:50] V-Ray: Light cache contains 2435 samples.
    [2018/Apr/12|14:31:50] V-Ray: Light cache base memory usage is 7.3 MB.
    [2018/Apr/12|14:31:50] V-Ray: Prefiltering light cache...
    [2018/Apr/12|14:31:50] V-Ray: Average rays per light cache sample: 202.65 (min 1, max 545)
    [2018/Apr/12|14:31:50] V-Ray: Using premultiplied light cache.
    [2018/Apr/12|14:31:50] V-Ray: Rendering image...
    [2018/Apr/12|14:39:05] V-Ray: Number of raycasts: 2195880864 (2382.68 per pixel)
    [2018/Apr/12|14:39:05] V-Ray: Camera rays: 222527301 (241.46 per pixel)
    [2018/Apr/12|14:39:05] V-Ray: Shadow rays: 657491846 (713.42 per pixel)
    [2018/Apr/12|14:39:05] V-Ray: GI rays: 704962087 (764.93 per pixel)
    [2018/Apr/12|14:39:05] V-Ray: Reflection rays: 233989568 (253.89 per pixel)
    [2018/Apr/12|14:39:05] V-Ray: Refraction rays: 0 (0.00 per pixel)
    [2018/Apr/12|14:39:05] V-Ray: Unshaded rays: 377037661 (409.11 per pixel)
    [2018/Apr/12|14:39:05] V-Ray: Light cache utilization: 98.52%
    [2018/Apr/12|14:39:05] V-Ray: Premultiplied light cache utilization: 99.50%
    [2018/Apr/12|14:39:05] V-Ray: Number of light evaluations: 371713225 (403.33 per pixel)
    [2018/Apr/12|14:39:05] V-Ray: Maximum memory usage for resman: 0.00 MB
    [2018/Apr/12|14:39:05] V-Ray: Number of intersectable primitives: 20561
    [2018/Apr/12|14:39:05] V-Ray: SD triangles: 20560
    [2018/Apr/12|14:39:05] V-Ray: MB triangles: 0
    [2018/Apr/12|14:39:05] V-Ray: Static primitives: 0
    [2018/Apr/12|14:39:05] V-Ray: Moving primitives: 0
    [2018/Apr/12|14:39:05] V-Ray: Infinite primitives: 1
    [2018/Apr/12|14:39:05] V-Ray: Static hair segments: 0
    [2018/Apr/12|14:39:05] V-Ray: Moving hair segments: 0
    [2018/Apr/12|14:39:07] V-Ray: Successfully written image file "proxy_issue.png"
    [2018/Apr/12|14:39:07] V-Ray: Total frame time 0h 7m 19.1s (439.1 s)

    Proxy(alembic) - Dynamic Geometry
    [2018/Apr/12|14:43:55] V-Ray: Mesh file "....../geo.abc" linked successfully.
    [2018/Apr/12|14:43:55] V-Ray: Compiling geometry...
    [2018/Apr/12|14:43:55] V-Ray: Using embree ray tracing.
    [2018/Apr/12|14:43:55] V-Ray: Building embree dynamic geometry tree...
    [2018/Apr/12|14:43:55] V-Ray: Embree dynamic geometry tree contains 2 primitives.
    [2018/Apr/12|14:43:55] V-Ray: Embree dynamic geometry tree built in 48.47 ms.
    [2018/Apr/12|14:43:55] V-Ray: Embree dynamic geometry tree takes 0.01 MB.
    [2018/Apr/12|14:43:55] V-Ray: Using 0.69 MB for adaptive lights buffer
    [2018/Apr/12|14:43:55] V-Ray: Tracing 1000000 image samples for light cache in 64 passes.
    [2018/Apr/12|14:43:55] V-Ray: Using 35.16 MB for light cache preview buffer
    [2018/Apr/12|14:43:55] V-Ray: Building light cache...
    [2018/Apr/12|14:43:57] V-Ray: Merging light cache passes...
    [2018/Apr/12|14:43:57] V-Ray: Light cache contains 2433 samples.
    [2018/Apr/12|14:43:57] V-Ray: Light cache base memory usage is 7.3 MB.
    [2018/Apr/12|14:43:57] V-Ray: Prefiltering light cache...
    [2018/Apr/12|14:43:57] V-Ray: Average rays per light cache sample: 202.61 (min 1, max 609)
    [2018/Apr/12|14:43:57] V-Ray: Using premultiplied light cache.
    [2018/Apr/12|14:43:57] V-Ray: Rendering image...
    [2018/Apr/12|14:52:38] V-Ray: Number of raycasts: 2194347249 (2381.02 per pixel)
    [2018/Apr/12|14:52:38] V-Ray: Camera rays: 222521488 (241.45 per pixel)
    [2018/Apr/12|14:52:38] V-Ray: Shadow rays: 657387764 (713.31 per pixel)
    [2018/Apr/12|14:52:38] V-Ray: GI rays: 704991272 (764.96 per pixel)
    [2018/Apr/12|14:52:38] V-Ray: Reflection rays: 233263250 (253.11 per pixel)
    [2018/Apr/12|14:52:38] V-Ray: Refraction rays: 0 (0.00 per pixel)
    [2018/Apr/12|14:52:38] V-Ray: Unshaded rays: 376312352 (408.33 per pixel)
    [2018/Apr/12|14:52:38] V-Ray: Light cache utilization: 98.45%
    [2018/Apr/12|14:52:38] V-Ray: Premultiplied light cache utilization: 99.49%
    [2018/Apr/12|14:52:38] V-Ray: Number of light evaluations: 371369710 (402.96 per pixel)
    [2018/Apr/12|14:52:38] V-Ray: Maximum memory usage for resman: 3.03 MB
    [2018/Apr/12|14:52:38] V-Ray: Number of intersectable primitives: 3
    [2018/Apr/12|14:52:38] V-Ray: SD triangles: 0
    [2018/Apr/12|14:52:38] V-Ray: MB triangles: 0
    [2018/Apr/12|14:52:38] V-Ray: Static primitives: 2
    [2018/Apr/12|14:52:38] V-Ray: Moving primitives: 0
    [2018/Apr/12|14:52:38] V-Ray: Infinite primitives: 1
    [2018/Apr/12|14:52:38] V-Ray: Static hair segments: 0
    [2018/Apr/12|14:52:38] V-Ray: Moving hair segments: 0
    [2018/Apr/12|14:52:40] V-Ray: Successfully written image file "proxy_issue.png"
    [2018/Apr/12|14:52:40] V-Ray: Total frame time 0h 8m 45.8s (525.8 s)

    Comment


    • #3
      Thanks for the scene, let me run some profiles and see what's going on. My recent tests with V-Ray Next show quite a small difference between proxies and dynamic geometry. Btw is this on Windows or Linux? Which V-Ray version?

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

      Comment


      • #4
        Ahh damnit. Keept on repeating in my head before doing the ticket that I should remember those details.. and then before I finished writing it up I had forgotten. Typical.

        Maya 2018, Vray 3.6004, Windows 7

        Thanks for having a look,
        Jimmi

        Comment


        • #5
          We are experiencing the same issues, but are on 2018.2. Heavy proxies seem to make matters worse, but I think that has been said.

          Comment

          Working...
          X