Forums > Jitter

Poor Jitter 1.6 PPC performance?

September 7, 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


September 7, 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


September 7, 2006 | 8:24 pm

Where do I get 1.5.3?


September 7, 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…

http://www.cycling74.com/forums/index.php?t=msg&goto=78212

-Joshua


September 7, 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


September 7, 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


September 7, 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


September 7, 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


September 8, 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;
#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;


September 8, 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.

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 160 102 21 196617 t 0;
#P newex 160 80 67 196617 delay 30000;
#P newex 160 58 20 196617 t b;
#P newex 134 156 129 196617 jit.matrix 4 char 640 480;
#P user jit.fpsgui 131 191 60 196617 0;
#P newex 90 79 46 196617 metro 1;
#P newex 90 130 141 196617 jit.matrix 4 char 1000 1000;
#P toggle 90 53 15 0;
#P connect 0 0 2 0;
#P connect 0 0 5 0;
#P connect 2 0 1 0;
#P connect 7 0 0 0;
#P connect 5 0 6 0;
#P connect 6 0 7 0;
#P connect 1 0 3 0;
#P window clipboard copycount 8;

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;
>


Viewing 10 posts - 1 through 10 (of 10 total)