• Products
    • Isadora
    • Get It
    • ADD-ONS
    • IzzyCast
    • Get It
  • Forum
  • Help
  • Werkstatt
  • Newsletter
  • Impressum
  • Dsgvo
  • Press
  • Isadora
  • Get It
  • ADD-ONS
  • IzzyCast
  • Get It
  • Press
  • Dsgvo
  • Impressum

Navigation

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Tags

    Performance Optimization in Heavy Patches

    Hardware
    3
    3
    367
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Will
      Will last edited by

      Hey all, apologies if a similar question is buried in the forum somewhere, but didn't find anything like it at a glance so here goes:

      I'm working on a really heavy patch for a new project - essentially it's a MIDI video mixer for Zoom performances that pulls video from Zoom, routes it through some MIDI controlled effects, and then sends it back to Zoom/OBS.   Can do some other stuff like save/recall presets through MIDI control as well.  I think I've done a pretty good job optimizing the patch but there are a LOT of actors between all of the different functions.  It's mostly calculators / control watchers + senders, and other (assumedly) low impact stuff.  Probably 3K or so actors in the patch right now.  So even with all effects bypassed the sheer volume of actors is causing me to drop frames...without disabling user actors altogether I'm hovering around 18-20 fps with a target of 30.   Unfortunately the save/recall preset function I've built doesn't work optimally unless all user actors are enabled, so if I were to disable unused actors to improve performance I think I'd have to drop the save/recall function which bums me out.

      With all that said, I don't think my CPU (Intel 10900k @ 5.1ghz all 10 cores) or GPU (AMD 5700xt 8gb) are operating at full capacity when running this patch.  Temps on the CPU are in the 40C range while running Izzy - 30C is idle and 80C is full-tilt on a benchmark tool, for reference.  The GPU is hardly taxed at all.  The load meter on Izzy is generally in the 40s as well - usually I notice that the frame rate starts to drop around 42-43% load.  So I'm wondering if there's a way to use more of my computer's bandwidth to keep my framerate up.  Here are some things I've tried:

      • Renice-ing Izzy to full priority, didn't seem to help (I'm using Catalina as my OS by the way).  
      • Cutting background applications, didn't help much either.  
      • Scaling resolution back, doesn't change much.  I'm fully convinced it's just the volume of control watchers / senders and the like.   As a test I made a user actor in a new scene with a control watcher + sender, copied it a few hundred times, and got a similar effect - frames dropped to 16fps or so with no video/image processing at all.

      I'm not savvy enough to know whether this is a wholly ignorant question, but I'm curious to know if it's possible at the hardware/software level to make Isadora utilize more of my computer's resources and improve performance.  When rendering files in DaVinci Resolve or Blender I know the CPU/GPU is working a lot harder, wondering if I could replicate that load in Isadora or if it would even make a difference in my case.  

      Or maybe the answer is just "stop putting 3K actors in a single scene you ********"

      willdoesvideo.com
      osx 10.15 catalina i9 10900k @ 5.1ghz OC 5700xt 8GB 32GB RAM @ 3600mhz CL16

      Woland 1 Reply Last reply Reply Quote 0
      • Woland
        Woland Tech Staff @Will last edited by

        Sorry, I was writing a response to this yesterday and I thought I sent it off but I guess I rebooted to another partition without pressing send.


        @will said:

        stop putting 3K actors in a single scene

        Yes, I think putting thousands of actors in a single scene may be the culprit...

        That being said, if you open a ticket using the link in my signature and send us your gnarliest, most populated patch, I can take a look at it and see if I have any optimization ideas. Additionally, with your permission, we could use it internally as a test file and put in a feature request to see if there's anything that we can do code-wise to make patches with thousands of actors per scene more viable.

        Best wishes,

        Woland

        TroikaTronix Technical Support
        New Support Ticket: https://support.troikatronix.com/support/tickets/new
        Support Policy: https://support.troikatronix.com/support/solutions/articles/13000064762
        Add-Ons: https://troikatronix.com/add-ons/ & https://troikatronix.com/add-ons/?u=woland
        Professional Services: https://support.troikatronix.com/support/solutions/articles/13000109444

        | Isadora Version: all of them | Mac Pro (Late 2013), macOS 10.14.6, 3.5GHz 6-core, 1TB SSD, 64GB RAM, Dual AMD FirePro D700s |

        1 Reply Last reply Reply Quote 0
        • DusX
          DusX Tech Staff last edited by

          I will add, that you may be able to restructure some of your heavy User Actors, so that there is an light outer layer and an internal User Actor that contains a "User Actor On/Off" allowing the heavy part to be fully shut off when not in use, but the lighter outer level could still provide your preset save/recall functionality.
          You pass the on/off thru from the outer most level of the user actor into shutdown the inner heavy part, and also use this state to route/bypass any data that needs to run through.
           

          This is a quick example of the structure I am suggesting. (its just an example, and needs to be adjusted to the actual functionality you are encapsulating).
          Using this method I have been able to create huge files with unbelievable amounts of functionality that can be turned on/off as needed.

          Troikatronix Technical Support

          • New Support Ticket Link: https://support.troikatronix.com/support/tickets/new
          • My Add-ons: https://troikatronix.com/add-ons/?u=dusx
          • Profession Services: https://support.troikatronix.com/support/solutions/articles/13000109444-professional-services

          Running: Win 11 64bit, i7, M.2 PCIe SSD's, 32gb DDR4, nVidia GTX 4070 | located in Ontario Canada.

          1 Reply Last reply Reply Quote 2
          • First post
            Last post