Announcement

Collapse
No announcement yet.

Discovered Scene Tweaks For Improved Performance

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

  • Discovered Scene Tweaks For Improved Performance

    To gage different performance gains while using VFB, I have used a cloner with couple of shapes.

    To force scene changes, I'd toggle random cloner modifier On and Off. I'd then see how long it'd take for the wheel of death on C4D to go away.

    My Discoveries:
    1. If there's changes in the scene which could lead to some form of geometry changes,
      it's quicker to just stop the VFB, make the change and then start it. In complex scene, the wheel of death can linger for a while otherwise.
    2. If you don't have any of the v-ray materials assigned to cloned objects, any updates to the cloner would take effect immediately,
      adding ANY material to cloned objects leads to excess delays during scene refresh. Unless see #1 above
    3. If you're looking for a quick scene change with VFB running, enable 'Material Override' C4D option in render settings window. That will remove all V-Ray materials off all the objects and consequently by pass whatever bug that's causing scene refresh delays to happen.
    4. Applying material to Cloner object VS applying material to the object it self, increases scene refresh by at least 200%! So apply the material directly to the object. OR see bellow
    5. Putting Cloner inside a NULL, applying material tag to the NULL, appears to be equivalent to applying material tag directly to the object.
    6. If you wish to stare at the wheel of death for a while, Uncheck "Tile" in Material Tag. Without the Tile option enabled, performance nose dives. I did not have the testicular fortitude in seeing how long it'd take if it was to be combined with my #2 test.
    7. No matter what settings are chosen for rendering, wheel of death does not seem to be affected by it. Turning off all costly rendering options, even deleting all of the scene lights, does nothing to stop the hanging. This issue appears to be related to Embree Dynamic Tree rebuilding + ANY (other than default) V-Ray and/or Standard C4D material + a hint of Material Tag / UV calculation.
    8. Using output all in V-Ray log is very verbose. At this point it's useless in using V-Ray log to troubleshoot this particular issue, due to 'Embree Dynamic Tree rebuilding' being a verbose-less black hole, void of log output.

  • #2
    Hey imdb ,
    thank you for the feedback. We would love to look at one of your scenes and try yo profile it and see if we can make some improvements. Those kind of scenes are helping us a lot to improve the overall speed of our render engine. For example we're already planning fixes for the "spinning wheel of death" and make the classic materials asynchronous and not being rendered on one thread. You shouldn't be experiencing the wheel of death with the node materials btw.

    1. If there's changes in the scene which could lead to some form of geometry changes,
      it's quicker to just stop the VFB, make the change and then start it. In complex scene, the wheel of death can linger for a while otherwise.
    2. If you don't have any of the v-ray materials assigned to cloned objects, any updates to the cloner would take effect immediately,
    What is the instance mode that you're using for the cloner? If you're using "Instances" instead of multi or render instances then every instance is counted as separate object and has to be processed separately therefore the calculation is longer. Do you experience the same slowdown with Multi Instances?
    Ivan Shaykov
    chaos.com

    Comment


    • #3
      Thank you for quick response.

      Attached is my test scene. It's pretty simple setup. I've included worst & best setup.

      Re: Multi-Instance
      I've tested it and Multi-Instance is the way to go! I can increase # of clones and Cinema 4D + VFB doesn't even flinch.

      Seems like Instance mode is slower, while Render Instance is the worst performer out of them all!

      Re: Node vs Regular material
      Using my worst performance cloner setup, there's no noticeable gain in performance in using Node vs Regular material. Both ways lead to excessive thread locking.

      Worst performance combo settings
      1) Cloner set to > Render instance
      2) Attaching material to the Cloner vs directly to the Object
      3) Unchecking Tile checkbox in Material Tag

      On this topic, question from 1 programmer to another, what is behind the thread deadlocks while VFB running? Seems like if VFB is stopped, then started, time it takes for initial calculations is significantly higher than if VFB is running. Is VBF running on single thread? Does it make sense to pause all VFB routines during geometry changes in an effort to avoid thread deadlocks?

      Separate question regarding Node materials. Is the ray tracing math behind it the same as regular nodes. I've had issues with SSS where exactly the same settings vs. regular material lead to drastically different visual outcomes.

      v-ray-performance-tests.c4d.zip

      Comment


      • #4
        Ah another observation I've just noticed after my tests.

        I believe the worst performance setup contains a memory leak. Ram on my machine was depleted to nearly 0 after my tests were done. I had to force garbage collection on the OS level to free it up.

        That'd explain why when I have initially started performance tests, it was running faster, and performance got worse as I continued with my tests.

        Comment

        Working...
        X