Reducing jitter lag and CPU drain.

    Nov 09 2012 | 8:21 pm
    I'm working on a patch in which a object is told which frame to display by a variable signal. I'm using the "frame" message to jump to the desired frame, which is followed by a bang to output the matrix to a window. The frame message is constantly being set but only delivered at a variable interval. This seems to be incredibly processor hungry and is very laggy with (reasonably) high quality videos that seem to play fine otherwise, even at intervals of 100 milliseconds (10 fps). Although, It works fine with low quality videos. Is this simply too much to ask of my i5 6GB laptop? or is there an alternative method that would be smoother, perhaps using openGL? Ideally I would be skipping through frames at 20 fps and above on HD videos, but this seems unrealistic.
    Also, what file type should I be using for optimum performance in this context?

    • Nov 11 2012 | 10:42 pm
      Try searching for Vade's fantastic jitter optimization patches. Great examples. should help! The biggest things to know for your sake (I think) with be instantiating your with @colormode uyvy and @unique 1.
      Hope this helps!
    • Nov 12 2012 | 4:37 am
      What you describe should work fine with HD video. Perhaps your 'frame' messages are coming too frequently? Why send them more often than you need them? You could hold onto the frame number in an 'int' object, and then deliver the 'frame' message only when you plan to display that frame. Might help.
    • Nov 12 2012 | 5:34 am
      Vade mentions this, but it bears repeating: Pay attention to the compression format in your movie. Modern distribution formats like MP4 & H.264 use keyframes, so there is a lot of math involved when you jump to an arbitrary frame. Formats like Apple ProRes, Apple Intermediate Codec, or the old standby Photo JPEG will work much better (but they take up more space and require faster hard-drive performance).
    • Nov 12 2012 | 10:47 am
      Just to reinforce what zlp said! If the playback is non-linear, you should really be using video codecs that only employ spatial compression strategies. The majority of "final delivery" codecs (web, DVD, Blu-Ray) use spatial AND temporal compression.
    • Nov 13 2012 | 10:26 am
      Working with movie-jpeg has increased the speed dramatically, it seems temporal compression was the culprit. Thanks to all!