• Hey guys,

    I'm wondering if Isadora is designed to take advantage of hyper-threading. The attached screen shot is with the fps target at 60\. I was running at about 55fps w/1920x1080 stage, 3 usb audio inputs, and (2) 2048x768 BM Mjpeg videos, and a 640x480 webcam feedĀ from one movie player to (2) projectors. As soon as I added the colorizer, fps dropped down to ~30, then the dots and it dipped down to 15, then back up to 25.
    Thing is, from watching my resource monitors, it looks like Isadora is only using 1 core, and it won't push that single core past 45%. Am I missing something here? What framerates would you expect to get with a similar setup? Thanks,
    - Stage
    - Isadora
    - Performance Monitor

  • Dear @VJMC,

    Well, the main slowdown here is that you are using CPU based video, as indicated by the 'vid-cpu' label for the video streams. When working with HD, you just aren't going to get good performance with cpu based video processing.
    Have you purchased the upgrade that allows you to use the GPU based video? (If you have a 1.x license, and you download 2.0, you can run it just fine, but all the new snazzy 2.0 features are hidden; you need to purchase the upgrade to access those new features.) If so, move your stuff to the GPU and I think you'll see excellent performance.
    Here's some information about threading in Isadora.
    On Mac OS, the background movie players used in v2.0.2 most certainly should be using more than one core, as they are comprised of separate applications. This should be most noticeably true when using the 'performance' mode of the Movie Player, as the AVFoundation playback engine is heavily threaded.
    On Windows, again if you used set the 'optimize' input of the Movie Player to 'performance', we use DirectShow for playback. It should also take advantage of threading. This should be most apparent since you were playing multiple movies. I'm sort of surprised that you didn't see activity on the other cores. I will need to take a look at this. But, my plan for later this year (which will be a free upgrade) is to do the same on Windows as I've done on the Mac: to move the Movie Playing tasks to separate background applications. This will surely get all the cores humming.
    Now, thge main Isadora application -- which does handle the IzzyMap rendering, is single threaded however. The issue there is that OpenGL has many, many limitations when it comes to using it with multiple threads. (Switching contexts between threads is _very_ expensive on the CPU side of things, and threading can end up being much less efficient if one context ends up waiting on resources that are shared with another.)
    In addition, remember that the number of Cores don't tell the whole story. Your GPU is doing loads of operations in parallel to speed up operations. Looking at the CPU cores for this aspect of the rendering cycle -- which is even more important in 2.0 and the GPU based video streams -- isn't giving you the full picture.
    I've worked hard to ensure that the GPUs aren't encountering stalls which is the thing one really wants to avoid to ensure good performance.
    So, that gives you some background. But, if at all possible, start using GPU video and see if things don't improve markedly.
    Best Wishes,
    P.S. @DusX -- any other suggestions since you're our PC expert?

  • Thanks for the insight Mark. Are the colorizer and dots actors supposed to have the vid-gpu unlocked? I can't seem to change the video in, even though I have the upgrade.

  • Tech Staff

    These actors do not have gpu support yet. What you probably want to do is find some ffGL plugins and/or the glsl to ffGL plug in that I have posted about it the forum earlier. With it you can use many shader effects, or even write you own. http://troikatronix.com/troikatronixforum/discussion/1770/use-shaders-in-isadora-v2-new-ffgl-plugin-for-windows

  • Tech Staff

    PS. I highly recommend using HAP for your video codes. .. This will free up your cPu ( it does require fast data transfer.. ssd recommended ) . Using wmv files does a good job distributing to all cores ( via directshow ) however with a few hd clips even a i7 cpu will be overloaded pretty fast. With HAP and a SSD I can easily run 6 X 1080p clips without impacting isadoras' processing at all. ( with a fast modern video card )