Type of video stream (ci / gpu) and connecting them

  • Hi everybody,

    I'm a little bit in trouble to understand the core difference between vid-gpu and vid-ci stream, can anyone explain the difference and the advantages and inconvenient of each ? Is it possible to connect an actor with ci stream with another with gpu ?

    I'm working with Izz 2.0.5 on MacOS

    Thank you for your help,

  • Tech Staff

    You will have to convert the stream using a image to texture actor. The difference is Suttle. CI is used exclusively by Apples tools (and uses both gpu and cput. . If i am correct). Quarts composer ect.. while vid-gpu is fully gpu based. CI is faster that vid-cpu (in general) but vid-gpu is faster again (in general). Since some operations must run on the cpu we will require all formats for some time. My own practice is to stick to gpu as much as possible. And if I must use cpu or CI I downsize the stream to 1/2 or 1/4 the size. This saves processing power.. it's also important to note that the conversions are processing heavy, so you dont want to be switching back and forth much. @mark perhaps you can add some clarity to the differences.

  • Thank you DusX for your explanations.
    Does the image to texture actor exist somewhere ?

  • Tech Staff

    Currently in 2.0.5 the way to convert an CI video stream to a GPU stream is to use both the 'Image to Video' actor and the 'Video to Texture' actor.

    I believe this process is identical to what an 'Image to Texture' actor would be doing internally.

  • Dear @stephanegattoni and @DusX,

    First, some clarifications about vid-ci. @DusX's is correct when he says that Apple's Core Image video can be either CPU or GPU based. But, in Isadora, all ci-video should end up on the GPU. (It is possible that some Quartz Composer output may not be this way... but even QC generally ends up on the GPU.)
    He is also right to say that the only way to convert an CI video stream to a GPU stream is to use both the 'Image to Video' actor and the 'Video to Texture' actor. But, unfortunately, this conversion is going to be very, very inefficient (i.e., slow.)
    I need to create both a gpu -> ci and a ci -> gpu conversion actor. If I do the conversation internally, it will be very fast. I will make sure that the next release has these actors.
    Best Wishes,

  • Thank you Mark for your detailed answer.

    All best,

  • Dear @stephanegattoni,

    I created the Texture to Core Image and Core Image to Texture converters. We're testing them now, and they will be in the next release.

  • Great THX !


  • Beta Gold

    Still, Mark and DusX,

    I don't get the need of these conversions with the 2.0.5 version of Isadora : since now we have cpu and gpu in all inputs inputs and projector why do we need a second type of gpu tratment of the image (i.e.) the CI actors. Is this in order to be able to integrate the Quartz composer actors that the community develops? 
  • Tech Staff


    I think it comes handy if you want to mix cpu, ci and gpu actors in the same chain.

    Best Michel

  • Hi everyone,

    I'm actually testing this great new Isadora 2.0.5.
    I think I get the most of new features and the difference between GPU and CPU preferences.
    I just wonder if there is (or will be) a way to use all the "classic effects" (dots, motion blur etc...) in a GPU chain to keep best performances ?
  • Tech Staff

    The 'old' effects are cpu based... and many are being ported to GPU. There will be many GPU effects available in a soon to be released version, however; they are not exact clones of the previous cpu effects. I still use the old effects as needed. This purpose is why I requested that the video converter from gpu to cpu include setting the size so that a smaller cpu stream could be easily used along side a gpu stream (I typically 1/2 the size)