Poor Jitter 1.6 PPC performance?


    Sep 07 2006 | 6:08 pm
    I just started looking at 1.6 and I'm seeing a significant drop in performance relative to 1.5.
    e.g., on my Powerbook G4, with the jit.gl.render-over-movie.pat (changed to "metro 5" to test for max performance) I get 90fps with 1.5 compared to only around 50fps with 1.6.
    Performance options for the two apps are identical. Any thoughts?
    - Paul

    • Sep 07 2006 | 8:18 pm
      On Sep 7, 2006, at 11:08 AM, Paul Greyson wrote:
      >
      > I just started looking at 1.6 and I'm seeing a significant drop in
      > performance relative to 1.5.
      If you don't need UB, you might as well just use 1.5.3, which is the
      same codebase as 1.6. Or does 1.5.3 CFM have the same performance issue?
      > e.g., on my Powerbook G4, with the jit.gl.render-over-movie.pat
      > (changed to "metro 5" to test for max performance) I get 90fps with
      > 1.5 compared to only around 50fps with 1.6.
      >
      > Performance options for the two apps are identical. Any thoughts?
      Make sure overdrive setting is the same, and that jit.window @sync is
      disabled. Otherwise, I'd say shark it, and see what the profile looks
      like.
      We've found somethings faster and some things slower with XCode
      compiled code. Despite the same source code, there is markedly
      different machine code being generated under the hood.
      -Joshua
    • Sep 07 2006 | 8:24 pm
      Where do I get 1.5.3?
    • Sep 07 2006 | 8:43 pm
      On Sep 7, 2006, at 1:24 PM, Paul Greyson wrote:
      >
      > Where do I get 1.5.3?
      Beta posted here on the Jitter forum a few weeks ago...
      -Joshua
    • Sep 07 2006 | 8:58 pm
      I see. I assume there will never be an official 1.5.3 release then?
      Also, from your response it seems that I shouldn't expect PPC performance to be a focus for Jitter in future releases?
      Thanks,
      - Paul
    • Sep 07 2006 | 9:44 pm
      On Sep 7, 2006, at 1:58 PM, Paul Greyson wrote:
      > I see. I assume there will never be an official 1.5.3 release then?
      Don't know why you'd make that assumption. It's just in it's beta
      stage. UB was a development priority for us, since MacTel users had
      *no* version to use natively. We're now catching up with XP and CFM
      release. After we feel the CFM and XP versions have been tested
      thoroughly enough, they will be made public. Unless we really screw
      things up, 1.5.3 will be our final CFM release for use with 4.5.X.
      > Also, from your response it seems that I shouldn't expect PPC
      > performance to be a focus for Jitter in future releases
      This is not true. However, you can definitely assume that we're not
      going to hand code assembly to get the same level of performance in
      all instances that we previously got from Code Warrior. It just
      happens to be that in certain cases CW generates faster PPC code than
      does gcc. I have no idea if that's even the issue with this
      particular patch or not.
      FWIW, there are other places where gcc outperforms CW. I just meant
      to say that we're using a different compiler, so in some
      circumstances performance will be different (even with all the whiz
      bang compiler optimizations) and that's as far as we're going to go
      with it. We're happy to investigate performance discrepancies to
      ensure that we've not screwed things up somewhere, if you can get us
      detailed information. I'll probably test that patch at some point on
      a PPC machine, but let us know anything else you find out.
      Thanks,
      Joshua
    • Sep 07 2006 | 11:40 pm
      Okay. Thanks Joshua. Sorry if my response seemed a bit despondent. I'd like to switch to 1.6 and get my externals ported to mach-o but this cfm performance problem has me spooked.
      I'll see if I can make a stripped down patch that demonstrates the performance difference.
      btw, unless I've screwed up somehow, the 1.5.3 beta 2 reports "beta 1" to the Max window on launch.
      Assuming I really installed beta 2, then I can confirm that the performance drop is limited to 1.6 and does not occur with 1.5.3.
      - Paul
    • Sep 07 2006 | 11:49 pm
      On Sep 7, 2006, at 4:40 PM, Paul Greyson wrote:
      > I'll see if I can make a stripped down patch that demonstrates the
      > performance difference.
      Cool. Don't forget to make sure you have VBL sync off and that your
      overdrive settings are the same.
      > btw, unless I've screwed up somehow, the 1.5.3 beta 2 reports "beta
      > 1" to the Max window on launch.
      Ja. Can ignore that oversight.
      > Assuming I really installed beta 2, then I can confirm that the
      > performance drop is limited to 1.6 and does not occur with 1.5.3.
      Thanks,
      Joshua
    • Sep 08 2006 | 6:23 pm
      Okay. Here's a very simple patch which runs at 200fps under 1.5.3 but only around 100fps under 1.6
      max v2;
    • Sep 08 2006 | 8:13 pm
      Hi Paul,
      I tried your patch with OSX 10.4.7 on a PB 1.67. Here are my results:
      1.5.2: 200fps
      1.6: 150 fps
      I also tried a few variations. If I make the matrix a 4 char 640 480
      matrix, I get this:
      1.5.2: 75fps
      1.6: 60 fps
      If I make the matrix 4 char 1024 768 I get this:
      1.5.2: 31fps
      1.6: 26fps
      Looking at the profiles of both programs running this last test in
      Shark provides some interesting insights. First, in both cases the
      majority of the program time was spent in Quickdraw with the following
      breakdown:
      1.5.2: 85.8%
      1.6: 83.0%
      The total time spent in MaxMSP and Jitlib were essentially negligible
      and identical. I won't claim to be an expert on profiling here, but
      from the looks of it, I don't think the slowdown is in MaxMSP/Jitter.
      Now, if I take away the pwindow, I get *both* 1.5.2 and 1.6 to max out
      at 200fps (w/ metro 5) and a 4 char 1000 1000 matrix. And since I'm
      crazy :) I did metro 1 and got them both to max out at 500fps. I
      guess the moral of the story is...don't use pwindows when you don't
      have to in 1.6 because the Quickdraw API is slower in macho than in
      PPC.
      Here's the patch I used to shark things with. It has a 30 second
      cutoff so that the profiles for 1.6 and 1.5.2 are at least measuring
      approximately the same thing.
      best,
      wes
      On 9/8/06, Paul Greyson wrote:
      >
      > Okay. Here's a very simple patch which runs at 200fps under 1.5.3 but only around 100fps under 1.6
      >
      > max v2;
      > #N vpatcher 275 103 548 343;
      > #P origin 14 0;
      > #P window setfont "Sans Serif" 9.;
      > #P user jit.fpsgui 134 157 60 196617 0;
      > #P toggle 93 44 15 0;
      > #P window linecount 1;
      > #P newex 92 70 46 196617 metro 5;
      > #P newex 92 98 53 196617 jit.matrix;
      > #P user jit.pwindow 32 158 87 14 0 1 0 0 1 0;
      > #P connect 1 0 0 0;
      > #P connect 3 0 2 0;
      > #P connect 2 0 1 0;
      > #P connect 1 0 4 0;
      > #P pop;
      >