• 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

    [ANSWERED] NDI - High CPU Usage

    Troubleshooting and Bug Reports
    6
    10
    3128
    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.
    • fubbi
      fubbi last edited by Woland

      Hi

      I am trying to send NDI internally (localhost) from isadora 3.0.8b USB to Vectorworks Vision (previz software)

      In my test setup I add a movie player and projector, switch NDI on in stage setup and in Vision I set a surface to recieve the signal from isadora. 

      The load in isadora instantly goes up to 95%. If I turn off the receiving end it drops back down. Am I doing something wrong or is there something inherent to NDI that I need to understand?

      Cheers

      [NOTE: @fubbi I've edited your post title to make your question clearer for the rest of the community -- Mark]

      Mac M2 Ultra, 64gb — Berlin

      Juriaan 1 Reply Last reply Reply Quote 0
      • Juriaan
        Juriaan Tech Staff @fubbi last edited by

        @fubbi

        What kind of resolution are you sending?

        Isadora 3.1.1, Dell XPS 17 9710, Windows 10
        Interactive Performance Designer, Freelance Artist, Scenographer, Lighting Designer, TroikaTronix Community moderator
        Always in for chatting about interaction in space / performance design. Drop me an email at hello@juriaan.me

        fubbi 1 Reply Last reply Reply Quote 0
        • fubbi
          fubbi @Juriaan last edited by fubbi

          @juriaan 1920x1080, setting the resolution to 720p makes puts the load at 75%. 

          Mac M2 Ultra, 64gb — Berlin

          1 Reply Last reply Reply Quote 0
          • jfg
            jfg last edited by

            I got a similar result:

            Video ProRes 1920x1080 sent from Isadora to Newtek NDI Video Monitor give me a load of 50%.

            The same file with syphon is by 1,2%

            best, Jean-François 

            • Izzy 3.2.6
            - MacBook Pro M1 Max 16" 64GB RAM, Mac OS 15.3.2 Sequoia
            - Mac Pro 5.1 middle 2012 (3,33 GHz 6-Core Intel Xeon, 32GB RAM, Radeon RX 580 8 GB ),
            Mac OS 10.14.6 (Mojave)
            - Mac mini Pro M4, Mac OS 15.3.2 Sequoia

            • A range of deployable older Macs
              Located in Bremen, Germany
            1 Reply Last reply Reply Quote 0
            • CitizenJoe
              CitizenJoe last edited by

              I'm using NDI all the time, now.

              I've also found the load to be quite high, although not 75 - 95%! Having said that, I am using 2 NDI 720p feeds in the same scene with stability and getting loads of about 70%.

              @fubbi , you don't mention your equipment or OS.

              @mark, @dusx, any tips for  optimizing NDI (for me, on Windows)?

              Cheers,

              Hugh

              Hugh in Winnipeg - All test machines, Win10/11 Pro, 64 bit, OS SSD and separate data SSD.
              Dell 7560, i9 11950H, 64 gigs, NVIDIA RTX A4000 w/8 GB GDDR6

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

                NDI is not the same as Syphon/Spout.
                Syphon and Spout share video directly located on the GPU with other applications. No additional processing required.
                NDI however, grabs the video from the GPU, applies some compression and transmits it over the network. This requires a substantial amount of CPU time.
                When using NDI in a project I highly recommend you setup NDI ouput at the beginning of the project so that you can see the total project Load as you build it up.
                It can be a little surprising if you only active the NDI output once a project is mostly finished.

                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
                • fubbi
                  fubbi last edited by

                  Here are my NDI results: h264@5.93 mbit/s —1350x512px

                  — isadora 3.08b USB — osx catalina — trashcan 6 core — d500 — 32gb — load 96%

                  —  Isadora 3.0.7 Demo — windows 10 — Ryzen 5 2600X — 2070 S — load 25%

                  In Vision I have the option of high or low bandwidth NDI and I chose low on both systems.

                  I find it interesting how NDI ramps up when subscribed to and that it's more or less dormant otherwise (2% incl movie playing). Makes sense I guess.

                  Just testing for now and I will probably go isadora out of one box and via video capture into a Vectorworks Vision box in the end.

                  Mac M2 Ultra, 64gb — Berlin

                  1 Reply Last reply Reply Quote 0
                  • mark
                    mark last edited by mark

                    @fubbi 

                    I am a bit surprised by 96% usage. Here is what I got rendering 1920x1080 to NDI on the same machine:

                    (Machine Specs: MacOS Mojave 10.14.6, latest NDI tools, 2.2 GHz Intel Core i7)

                    Look at the CPU usage for Isadora and the NewTek NDI Video Monitor

                    As you can see, the receiver is also using a significant amount of CPU.

                    But @DusX is right: NDI requires is heavy. When sending NDI, the following things happen under the hood:

                    • Isadora must pull the stage image from the GPU to get it back on the CPU. This is never optimal because GPUs are optimized to receive data for rendering, not to give it back.) Because this process slows down the rendering cycle, you see the LOAD in Isadora go up significantly.
                    • This image is passed to the NDI system, which performs whatever compression is necessary to send the data over the network. This is also not optimal because the image is ARGB instead of YUV or some more efficient codec. (It has to be that way because the GPU image comes back as ARGB... you can't get it back as YUV, etc.)
                    • NDI then sends the data over the network, which has its own overhead.

                    When I sent the signal to a second computer (while maintaining the connection on the local computer), the load in Isadora did not rise significantly. 

                    Again, as @DusX said, Syphon/Spout avoid the pitfalls listed above. They use "texture sharing" which means the GPU image never leaves the GPU. That is why Syphon/Spout show nearly zero overhead and nearly zero latency.

                    One solution that might improve performance is to go through NDI Syphon. Because this app uses Syphon as an input and because it is in a completely separate application space, it does not slow down Isadora's rendering cycle as much. For sure the LOAD on Isadora is going to be less because it does not have to interrupt its rendering cycle to get the image back from the GPU.

                    I hope that these details shed some light on the process and why NDI is necessarily heavy.

                    Best Wishes,
                    Mark

                    Media Artist & Creator of Isadora
                    Macintosh SE-30, 32 Mb RAM, MacOS 7.6, Dual Floppy Drives

                    jfg 1 Reply Last reply Reply Quote 2
                    • jfg
                      jfg @mark last edited by

                      @mark

                      thanks a lot for the explanation. It is a great help to understand how it works and how we can better work with.

                      best, Jean-François

                      • Izzy 3.2.6
                      - MacBook Pro M1 Max 16" 64GB RAM, Mac OS 15.3.2 Sequoia
                      - Mac Pro 5.1 middle 2012 (3,33 GHz 6-Core Intel Xeon, 32GB RAM, Radeon RX 580 8 GB ),
                      Mac OS 10.14.6 (Mojave)
                      - Mac mini Pro M4, Mac OS 15.3.2 Sequoia

                      • A range of deployable older Macs
                        Located in Bremen, Germany
                      1 Reply Last reply Reply Quote 0
                      • fubbi
                        fubbi last edited by fubbi

                        I second that @jfg. Always interesting to get a peek under the hood. Long live syphon/spout

                        I did another test to see if Vision caused the load. Same result with NDI monitor. solid 96% 

                        To be honest I feel like my trashcan is getting tired. Lots of this behaviour across the board. I hope I just need a fresh sys install and that apple isn't phasing the 6,1 out.

                        Mac M2 Ultra, 64gb — Berlin

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