idle slabs eatin' cpu

May 2, 2007 at 11:39pm

idle slabs eatin' cpu

This patch demonstrates a significant drop in frame rate when idle jit.gl.slabs are present, even with no shader loaded, and with enable set to 0. Just 15 of these demonstrates about a 50-60% drop in fps.
Is there anyway to have jit.gl.slabs ready to go, but truly idle?? I built a number of effects using slabs, only to find there mere existence was slowing things down – that’s not really what I expected!
I tried setting up slabs with no context (i.e., just “jit.gl.slab” in an object box) and sending it the messages “drawto Output, file , param ” but it doesn’t seem to load the shader (though it does seem to attach to the render context, as it will at least pass textures thru).

Peter.

#P window setfont Arial 14.;
#P window linecount 1;
#P comment 692 79 204 131137550 2.) turn on render , observe fps;
#P comment 373 75 114 131137550 1.) read a movie;
#P comment 580 232 85 131137550 delete them;
#P window setfont Arial 9.;
#N vpatcher 20 74 565 267;
#P window setfont Arial 9.;
#P newex 429 51 36 131137545 t clear;
#P newex 190 78 27 131137545 * 20;
#P message 104 86 25 131137545 $1js;
#P newex 118 50 53 131137545 t b i i b;
#P newex 391 52 36 131137545 urn 48;
#P user ubumenu 393 85 100 131137545 0 1 1 0;
#X add cc.alphaglue.jxs;
#X add cc.brightness.ip.jxs;
#X add cc.colormap.jxs;
#X add cc.contrast.ip.jxs;
#X add cc.exrdisplay.jxs;
#X add cc.grgb2rgba.jxs;
#X add cc.planemap.jxs;
#X add cc.rgb2yuv.jxs;
#X add cc.rgba2grgb.jxs;
#X add cc.rgba2uyvy.jxs;
#X add cc.saturate.ip.jxs;
#X add cc.scalebias.jxs;
#X add cc.uyvy2rgba.exp.jxs;
#X add cc.uyvy2rgba.jxs;
#X add cc.uyvy2rgba.lite.jxs;
#X add fx.blobby.jxs;
#X add fx.tiles.jxs;
#X add co.additive.jxs;
#X add co.alphablend.jxs;
#X add co.average.jxs;
#X add co.brightlight.jxs;
#X add co.burn.jxs;
#X add co.chromakey.jxs;
#X add co.darken.jxs;
#X add co.difference.jxs;
#X add co.dodge.jxs;
#X add co.exclude.jxs;
#X add co.freeze.jxs;
#X add co.glow.jxs;
#X add co.hardlight.jxs;
#X add co.heat.jxs;
#X add co.inverse.jxs;
#X add co.lighten.jxs;
#X add co.lumakey.jxs;
#X add co.multiply.jxs;
#X add co.negate.jxs;
#X add co.normal.jxs;
#X add co.overlay.jxs;
#X add co.reflect.jxs;
#X add co.screen.jxs;
#X add co.softlight.jxs;
#X add co.stamp.jxs;
#X add co.subtractive.jxs;
#X add tr.dissolve.jxs;
#X add tr.edgeblend.jxs;
#X add tr.gridwipe.jxs;
#X add tr.shrinkwipe.jxs;
#X add tr.vignettes.jxs;
#X prefix_set 0 0 0;
#X pattrmode 1;
#P newex 50 113 314 131137545 pack script new 1js newex 77 50 120 196617 jit.gl.slab Output @enable 0;
#P inlet 118 30 15 0;
#P outlet 50 144 15 0;
#P connect 5 0 2 0;
#P connect 2 0 0 0;
#P connect 5 1 6 0;
#P connect 6 0 2 2;
#P connect 1 0 5 0;
#P connect 7 0 2 5;
#P connect 5 2 7 0;
#P connect 5 3 4 0;
#P connect 8 0 4 0;
#P connect 4 0 3 0;
#P connect 4 1 8 0;
#P pop;
#P newobj 487 284 40 131137545 p slabs;
#P button 564 232 15 0;
#P newex 566 265 40 131137545 uzi 15;
#P number 518 232 35 9 0 0 0 2001 0 0 0 221 221 221 222 222 222 0 0 0;
#P button 564 208 15 0;
#P message 565 289 81 131137545 script delete $1js;
#P newex 486 252 40 131137545 uzi 15;
#N thispatcher;
#Q end;
#P newobj 488 309 61 131137545 thispatcher;
#P message 372 94 86 131137545 read dvducks.mov;
#P message 609 98 26 131137545 argb;
#P newex 319 111 43 131137545 r 0plane;
#P message 372 110 80 131137545 read dozer.mov;
#P newex 380 180 250 131137545 jit.gl.videoplane Output @transform_reset 2 @automatic 0;
#P newex 572 115 88 131137545 prepend colormode;
#P newex 572 80 47 131137545 loadbang;
#P newex 377 136 175 131137545 jit.qt.movie @colormode uyvy @adapt 1;
#P message 572 98 30 131137545 uyvy;
#P newex 377 158 250 131137545 jit.gl.texture Ouptut @name movtexture @colormode uyvy;
#P window linecount 2;
#P newex 720 116 243 131137545 jit.window Output @visible 1 @floating 0 @grow 0 @rect 10 100 330 340 @fsaa 0 @sync 0 @doublebuffer 1;
#P flonum 725 101 35 9 0 0 0 2001 0 0 0 221 221 221 222 222 222 0 0 0;
#P user jit.fpsgui 314 138 60 131137545 0;
#P window linecount 1;
#N vpatcher 15 55 437 353;
#P button 145 99 15 0;
#P button 50 50 15 0;
#P window setfont Arial 9.;
#P newex 213 126 31 131137545 s pre;
#P newex 50 166 33 131137545 s last;
#P newex 204 145 34 131137545 s first;
#P newex 196 186 47 131137545 s 3plane;
#P newex 110 168 51 131137545 s 3dplane;
#P newex 193 208 45 131137545 s 2plane;
#P newex 143 190 45 131137545 s 1plane;
#P newex 202 161 40 131137545 s drive;
#P newex 138 77 65 131137545 r renderbang;
#P newex 96 190 45 131137545 s 0plane;
#P newex 78 101 43 131137545 jit.qball;
#P newex 78 123 131 131137545 t b b b b b b b b erase b;
#P inlet 78 81 15 0;
#P outlet 78 227 15 0;
#P connect 2 1 12 0;
#P connect 5 0 3 0;
#P connect 1 0 3 0;
#P connect 3 0 2 0;
#P connect 14 0 2 0;
#P connect 2 0 0 0;
#P connect 2 8 0 0;
#P connect 2 1 4 0;
#P connect 2 2 9 0;
#P connect 2 3 7 0;
#P connect 5 0 15 0;
#P connect 2 4 8 0;
#P connect 2 5 10 0;
#P connect 2 6 6 0;
#P connect 2 7 11 0;
#P connect 2 9 13 0;
#P pop;
#P newobj 676 120 41 131137545 p bangs;
#P window linecount 2;
#P newex 675 143 309 131137545 jit.gl.render Output @erase_color 0 0 0 1 @scale 1.33333 1. 1. @ortho 2 @camera 0 0 2 @light_ambient 0.2 0.2 0.2 0.2 @light_position 0 2 0.2;
#P toggle 676 80 15 0;
#P window linecount 1;
#P newex 675 100 45 131137545 metro 2;
#P newex 331 182 43 131137545 r 1plane;
#P window setfont “Sans Serif” 14.;
#P comment 580 208 252 196622 3.)create some slabs , observe fps;
#P connect 16 0 6 0;
#P connect 16 0 11 0;
#P fasten 13 0 11 0 577 133 382 133;
#P connect 18 0 11 0;
#P connect 15 0 11 0;
#P fasten 13 0 9 0 577 157 382 157;
#P connect 11 0 9 0;
#P connect 9 0 14 0;
#P connect 1 0 14 0;
#P connect 22 0 20 0;
#P connect 20 2 26 0;
#P connect 21 0 19 0;
#P connect 26 0 19 0;
#P fasten 23 0 20 1 523 248 521 248;
#P connect 24 2 21 0;
#P connect 25 0 24 0;
#P connect 12 0 10 0;
#P connect 17 0 13 0;
#P connect 10 0 13 0;
#P fasten 23 0 24 1 523 260 601 260;
#P connect 3 0 2 0;
#P connect 5 0 4 0;
#P connect 2 0 5 0;
#P connect 7 0 2 1;
#P window clipboard copycount 30;

#31726
May 2, 2007 at 11:43pm

btw, observed on macbook pro 2.33 w 256MB ATI x1600 and on G4/800 with Radeon 9800.

#103404
May 3, 2007 at 12:16am

Hrm. I see the issue too

However, if you change your render destination to something non
existant, like Output2, the issue goes away. You can then use the
drawto message to target the context of your choice.

So, seems like ‘drawto’ is more efficient that enable 0.

I also tried with @automatic 0, to no avail.

Im surprised I havent noticed this to be honest, my patches use quite
a few slabs.

On May 2, 2007, at 7:43 PM, pnyboer wrote:

>
> btw, observed on macbook pro 2.33 w 256MB ATI x1600 and on G4/800
> with Radeon 9800.
> –
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> The Lifespan
> 2 oz brandy
> 1/2 oz orgeat
> 1/2 oz maraschino
> 3/4 oz mix of (meyer) lemon and (yellow) grapefruit juice
> Shake with ice and serve in a Pernod-rinsed cocktail glass

v a d e //

http://www.vade.info
abstrakt.vade.info

#103405
May 3, 2007 at 12:18am

#103406
May 3, 2007 at 12:19am

actually, this is interesting. using scripting to change the drawto
after the creation of the slabs has almost no effect, whereas
initializing them with the render context does.

?

#P button 744 312 15 0;
#P window setfont Arial 9.;
#P window linecount 1;
#P newex 744 337 40 131137545 uzi 15;
#P message 745 360 137 131137545 script send $1js drawto Output;
#P window setfont Arial 14.;
#P comment 752 141 204 131137550 2.) turn on render , observe fps;
#P comment 433 137 114 131137550 1.) read a movie;
#P comment 640 294 85 131137550 delete them;
#P window setfont Arial 9.;
#N vpatcher 20 74 565 267;
#P window setfont Arial 9.;
#P newex 190 78 27 131137545 * 20;
#P message 104 86 25 131137545 $1js;
#P newex 118 50 53 131137545 t b i i b;
#P newex 50 113 379 131137545 pack script new 1js newex 77 50 120
196617 jit.gl.slab Output2 @enable 0 @automatic 0;
#P inlet 118 30 15 0;
#P outlet 50 144 15 0;
#P connect 3 0 2 0;
#P connect 2 0 0 0;
#P connect 3 1 4 0;
#P connect 4 0 2 2;
#P connect 1 0 3 0;
#P connect 3 2 5 0;
#P connect 5 0 2 5;
#P pop;
#P newobj 547 346 40 131137545 p slabs;
#P button 624 294 15 0;
#P newex 626 327 40 131137545 uzi 15;
#P number 578 294 35 9 0 0 0 2001 0 0 0 221 221 221 222 222 222 0 0 0;
#P button 624 270 15 0;
#P message 625 351 81 131137545 script delete $1js;
#P newex 546 314 40 131137545 uzi 15;
#N thispatcher;
#Q end;
#P newobj 548 371 61 131137545 thispatcher;
#P message 432 156 86 131137545 read dvducks.mov;
#P message 669 160 26 131137545 argb;
#P newex 379 173 43 131137545 r 0plane;
#P message 468 176 80 131137545 read dozer.mov;
#P newex 632 177 88 131137545 prepend colormode;
#P newex 632 142 47 131137545 loadbang;
#P newex 438 199 175 131137545 jit.qt.movie @colormode uyvy @adapt 1;
#P message 632 160 30 131137545 uyvy;
#P window linecount 2;
#P newex 780 178 243 131137545 jit.window Output @visible 1 @floating
0 @grow 0 @rect 10 100 330 340 @fsaa 0 @sync 0 @doublebuffer 1;
#P flonum 785 163 35 9 0 0 0 2001 0 0 0 221 221 221 222 222 222 0 0 0;
#P user jit.fpsgui 374 200 60 131137545 0;
#P window linecount 1;
#N vpatcher 15 55 437 353;
#P button 145 99 15 0;
#P button 50 50 15 0;
#P window setfont Arial 9.;
#P newex 213 126 31 131137545 s pre;
#P newex 50 166 33 131137545 s last;
#P newex 204 145 34 131137545 s first;
#P newex 196 186 47 131137545 s 3plane;
#P newex 110 168 51 131137545 s 3dplane;
#P newex 193 208 45 131137545 s 2plane;
#P newex 143 190 45 131137545 s 1plane;
#P newex 202 161 40 131137545 s drive;
#P newex 138 77 65 131137545 r renderbang;
#P newex 96 190 45 131137545 s 0plane;
#P newex 78 101 43 131137545 jit.qball;
#P newex 78 123 131 131137545 t b b b b b b b b erase b;
#P inlet 78 81 15 0;
#P outlet 78 227 15 0;
#P connect 2 1 12 0;
#P connect 5 0 3 0;
#P connect 1 0 3 0;
#P connect 14 0 2 0;
#P connect 3 0 2 0;
#P connect 2 8 0 0;
#P connect 2 0 0 0;
#P connect 2 1 4 0;
#P connect 2 2 9 0;
#P connect 2 3 7 0;
#P connect 5 0 15 0;
#P connect 2 4 8 0;
#P connect 2 5 10 0;
#P connect 2 6 6 0;
#P connect 2 7 11 0;
#P connect 2 9 13 0;
#P pop;
#P newobj 736 182 41 131137545 p bangs;
#P window linecount 2;
#P newex 735 205 309 131137545 jit.gl.render Output @erase_color 0 0
0 1 @scale 1.33333 1. 1. @ortho 2 @camera 0 0 2 @light_ambient 0.2
0.2 0.2 0.2 @light_position 0 2 0.2;
#P toggle 736 142 15 0;
#P window linecount 1;
#P newex 735 162 45 131137545 metro 2;
#P newex 391 244 43 131137545 r 1plane;
#P window setfont “Sans Serif” 14.;
#P comment 640 270 252 196622 3.)create some slabs , observe fps;
#P window setfont Arial 9.;
#P newex 427 215 250 131137545 jit.gl.videoplane Output
@transform_reset 2 @automatic 0;
#P fasten 22 0 19 1 583 310 581 310;
#P fasten 22 0 23 1 583 322 661 322;
#P connect 22 0 30 1;
#P connect 31 0 30 0;
#P connect 29 0 18 0;
#P connect 30 2 29 0;
#P connect 13 0 0 0;
#P fasten 13 0 11 0 637 195 443 195;
#P connect 11 0 0 0;
#P connect 2 0 0 0;
#P connect 15 0 7 0;
#P connect 15 0 11 0;
#P connect 8 0 3 1;
#P connect 3 0 6 0;
#P connect 6 0 5 0;
#P connect 4 0 3 0;
#P connect 10 0 13 0;
#P connect 16 0 13 0;
#P connect 12 0 10 0;
#P connect 24 0 23 0;
#P connect 23 2 20 0;
#P connect 25 0 18 0;
#P connect 20 0 18 0;
#P connect 19 2 25 0;
#P connect 21 0 19 0;
#P connect 14 0 11 0;
#P connect 17 0 11 0;
#P window clipboard copycount 32;

On May 2, 2007, at 7:43 PM, pnyboer wrote:

>
> btw, observed on macbook pro 2.33 w 256MB ATI x1600 and on G4/800
> with Radeon 9800.
> –
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> The Lifespan
> 2 oz brandy
> 1/2 oz orgeat
> 1/2 oz maraschino
> 3/4 oz mix of (meyer) lemon and (yellow) grapefruit juice
> Shake with ice and serve in a Pernod-rinsed cocktail glass

v a d e //

http://www.vade.info
abstrakt.vade.info

#103407
May 3, 2007 at 12:55am

On May 2, 2007, at 4:39 PM, pnyboer wrote:

>
> This patch demonstrates a significant drop in frame rate when idle
> jit.gl.slabs are present, even with no shader loaded, and with
> enable set to 0. Just 15 of these demonstrates about a 50-60% drop
> in fps.
> Is there anyway to have jit.gl.slabs ready to go, but truly idle??
> I built a number of effects using slabs, only to find there mere
> existence was slowing things down – that’s not really what I expected!

FWIW, this is much better in 1.6.3 than 1.6.2, not sure which version
you’re using. If 1.6.2, that makes sense. If 1.6.3, that shouldn’t be
the case. Unless you’re really talking about 400 fps vs. 200 fps.

-Joshua

#103408
May 3, 2007 at 2:03am

is there a 1.63? I am using 1.62.
on my mbp, it was a drop of something like 400+ to around 230, and on my g4, 70 to 35

p

#103409
May 3, 2007 at 1:26pm

On May 2, 2007, at 7:03 PM, pnyboer wrote:

>
> is there a 1.63? I am using 1.62.

Follow the betas (search this forum if you’ve missed them). They
should solve your problem.

-Joshua

#103410
May 3, 2007 at 2:36pm

Quote: jkc wrote on Thu, 03 May 2007 15:26
—————————————————-
>
> On May 2, 2007, at 7:03 PM, pnyboer wrote:
>
> >
> > is there a 1.63? I am using 1.62.
>
> Follow the betas (search this forum if you’ve missed them). They
> should solve your problem.
>
> -Joshua
>
>
>
—————————————————-

Searching for 1.6.3 returns no results..

Mattijs

#103411
May 3, 2007 at 3:53pm

I’m running 1.6.3 and i just tried the above patches:

In the first patch, i get 240 before, and 162 after creating the slabs. When i create them with a different drawing context, framerate stays at 240. When I changed them to the original drawing context, also 240. Weird.

That is all having focus on the patch. When focusing on the window, framerate goes up to as much as 480. When creating the slabs, it still goes down to about 162 (even after refocusing). When done as in the second patch, 480 first stays 480, but drops to about 320 when reassigned.

This is all on a dualcore 2.5 ghz g5.

#103412
May 3, 2007 at 8:04pm

ok, i’ll eventually try on 1.63, but fwiw, i see the same problem with jit.gl.shader. so perhaps I will investigate using gl.shader rather than slab, and apply my effects by binding shaders to videoplanes…hmmm…

#103413
May 14, 2007 at 6:45pm

still getting this drop in fps with 1.63b2
with no slabs, I get 350-400fps
with the slabs present I get 230-250 fps
macbook pro 2.33
2gb ram
osx 10.48

here’s the patch, with a correction to a spelling mistake in the videoplane.

#P window setfont Arial 14.;
#P window linecount 1;
#P comment 697 103 204 131137550 2.) turn on render , observe fps;
#P comment 378 99 114 131137550 1.) read a movie;
#P comment 585 256 85 131137550 delete them;
#P window setfont Arial 9.;
#N vpatcher 20 74 565 267;
#P window setfont Arial 9.;
#P newex 429 51 36 131137545 t clear;
#P newex 190 78 27 131137545 * 20;
#P message 104 86 25 131137545 $1js;
#P newex 118 50 53 131137545 t b i i b;
#P newex 391 52 36 131137545 urn 48;
#P user ubumenu 393 85 100 131137545 0 1 1 0;
#X add cc.alphaglue.jxs;
#X add cc.brightness.ip.jxs;
#X add cc.colormap.jxs;
#X add cc.contrast.ip.jxs;
#X add cc.exrdisplay.jxs;
#X add cc.grgb2rgba.jxs;
#X add cc.planemap.jxs;
#X add cc.rgb2yuv.jxs;
#X add cc.rgba2grgb.jxs;
#X add cc.rgba2uyvy.jxs;
#X add cc.saturate.ip.jxs;
#X add cc.scalebias.jxs;
#X add cc.uyvy2rgba.exp.jxs;
#X add cc.uyvy2rgba.jxs;
#X add cc.uyvy2rgba.lite.jxs;
#X add fx.blobby.jxs;
#X add fx.tiles.jxs;
#X add co.additive.jxs;
#X add co.alphablend.jxs;
#X add co.average.jxs;
#X add co.brightlight.jxs;
#X add co.burn.jxs;
#X add co.chromakey.jxs;
#X add co.darken.jxs;
#X add co.difference.jxs;
#X add co.dodge.jxs;
#X add co.exclude.jxs;
#X add co.freeze.jxs;
#X add co.glow.jxs;
#X add co.hardlight.jxs;
#X add co.heat.jxs;
#X add co.inverse.jxs;
#X add co.lighten.jxs;
#X add co.lumakey.jxs;
#X add co.multiply.jxs;
#X add co.negate.jxs;
#X add co.normal.jxs;
#X add co.overlay.jxs;
#X add co.reflect.jxs;
#X add co.screen.jxs;
#X add co.softlight.jxs;
#X add co.stamp.jxs;
#X add co.subtractive.jxs;
#X add tr.dissolve.jxs;
#X add tr.edgeblend.jxs;
#X add tr.gridwipe.jxs;
#X add tr.shrinkwipe.jxs;
#X add tr.vignettes.jxs;
#X prefix_set 0 0 0;
#X pattrmode 1;
#P newex 50 113 314 131137545 pack script new 1js newex 77 50 120 196617 jit.gl.slab Output @enable 0;
#P inlet 118 30 15 0;
#P outlet 50 144 15 0;
#P connect 5 0 2 0;
#P connect 2 0 0 0;
#P connect 5 1 6 0;
#P connect 6 0 2 2;
#P connect 1 0 5 0;
#P connect 7 0 2 5;
#P connect 5 2 7 0;
#P connect 8 0 4 0;
#P connect 5 3 4 0;
#P connect 4 0 3 0;
#P connect 4 1 8 0;
#P pop;
#P newobj 492 308 40 131137545 p slabs;
#P button 569 256 15 0;
#P newex 571 289 40 131137545 uzi 15;
#P number 523 256 35 9 0 0 0 2001 0 0 0 221 221 221 222 222 222 0 0 0;
#P button 569 232 15 0;
#P message 570 313 81 131137545 script delete $1js;
#P newex 491 276 40 131137545 uzi 15;
#N thispatcher;
#Q end;
#P newobj 493 333 61 131137545 thispatcher;
#P message 377 118 86 131137545 read dvducks.mov;
#P message 614 122 26 131137545 argb;
#P newex 324 135 43 131137545 r 0plane;
#P message 377 134 80 131137545 read dozer.mov;
#P newex 385 204 250 131137545 jit.gl.videoplane Output @transform_reset 2 @automatic 0;
#P newex 577 139 88 131137545 prepend colormode;
#P newex 577 104 47 131137545 loadbang;
#P newex 382 160 175 131137545 jit.qt.movie @colormode uyvy @adapt 1;
#P message 577 122 30 131137545 uyvy;
#P newex 382 182 250 131137545 jit.gl.texture Output @name movtexture @colormode uyvy;
#P window linecount 2;
#P newex 725 140 243 131137545 jit.window Output @visible 1 @floating 0 @grow 0 @rect 10 100 330 340 @fsaa 0 @sync 0 @doublebuffer 1;
#P flonum 730 125 35 9 0 0 0 2001 0 0 0 221 221 221 222 222 222 0 0 0;
#P user jit.fpsgui 319 162 60 131137545 0;
#P window linecount 1;
#N vpatcher 15 55 437 353;
#P button 145 99 15 0;
#P button 50 50 15 0;
#P window setfont Arial 9.;
#P newex 213 126 31 131137545 s pre;
#P newex 50 166 33 131137545 s last;
#P newex 204 145 34 131137545 s first;
#P newex 196 186 47 131137545 s 3plane;
#P newex 110 168 51 131137545 s 3dplane;
#P newex 193 208 45 131137545 s 2plane;
#P newex 143 190 45 131137545 s 1plane;
#P newex 202 161 40 131137545 s drive;
#P newex 138 77 65 131137545 r renderbang;
#P newex 96 190 45 131137545 s 0plane;
#P newex 78 101 43 131137545 jit.qball;
#P newex 78 123 131 131137545 t b b b b b b b b erase b;
#P inlet 78 81 15 0;
#P outlet 78 227 15 0;
#P connect 2 1 12 0;
#P connect 5 0 3 0;
#P connect 1 0 3 0;
#P connect 14 0 2 0;
#P connect 3 0 2 0;
#P connect 2 8 0 0;
#P connect 2 0 0 0;
#P connect 2 1 4 0;
#P connect 2 2 9 0;
#P connect 2 3 7 0;
#P connect 5 0 15 0;
#P connect 2 4 8 0;
#P connect 2 5 10 0;
#P connect 2 6 6 0;
#P connect 2 7 11 0;
#P connect 2 9 13 0;
#P pop;
#P newobj 681 144 41 131137545 p bangs;
#P window linecount 2;
#P newex 680 167 309 131137545 jit.gl.render Output @erase_color 0 0 0 1 @scale 1.33333 1. 1. @ortho 2 @camera 0 0 2 @light_ambient 0.2 0.2 0.2 0.2 @light_position 0 2 0.2;
#P toggle 681 104 15 0;
#P window linecount 1;
#P newex 680 124 45 131137545 metro 2;
#P newex 336 206 43 131137545 r 1plane;
#P window setfont Arial 14.;
#P comment 585 232 252 131137550 3.)create some slabs , observe fps;
#P fasten 23 0 20 1 528 272 526 272;
#P fasten 23 0 24 1 528 284 606 284;
#P connect 16 0 6 0;
#P connect 16 0 11 0;
#P fasten 13 0 11 0 582 157 387 157;
#P fasten 13 0 9 0 582 181 387 181;
#P connect 11 0 9 0;
#P connect 9 0 14 0;
#P connect 7 0 2 1;
#P connect 2 0 5 0;
#P connect 5 0 4 0;
#P connect 3 0 2 0;
#P connect 10 0 13 0;
#P connect 17 0 13 0;
#P connect 12 0 10 0;
#P connect 25 0 24 0;
#P connect 24 2 21 0;
#P connect 26 0 19 0;
#P connect 21 0 19 0;
#P connect 20 2 26 0;
#P connect 22 0 20 0;
#P connect 1 0 14 0;
#P connect 15 0 11 0;
#P connect 18 0 11 0;
#P window clipboard copycount 30;

#103414
May 14, 2007 at 7:27pm

On May 14, 2007, at 11:45 AM, pnyboer wrote:

> still getting this drop in fps with 1.63b2
> with no slabs, I get 350-400fps
> with the slabs present I get 230-250 fps
> macbook pro 2.33

Will be a little bit better in next candidate of 1.6.3 which only
allocates up to @inputs textures rather than the maximum of eight for
every instance.

What might work for now is send the “enable 0″ message to all texture
inputs and outputs to eliminate this overhead. See the sendinput and
sendoutput messages of jit.gl.slab.

-Joshua

#103415
May 15, 2007 at 2:55pm

for the record, this doesn’t seem to do much in 1.63b2. This patch adds a script to send the “enable 0″ messages to the inputs and outputs each slab, for example:
script send 1js sendinput 0 enable 0
Give it a try:

#P window setfont Arial 9.;
#P window linecount 1;
#P message 822 441 25 131137545 $1js;
#P newex 872 444 27 131137545 – 1;
#P newex 760 475 189 131137545 pack script send 1js sendoutput 0 enable 0;
#P window setfont Arial 14.;
#P comment 609 369 352 131137550 send texture inputs & outputs on slabs “enable 0″ msg;
#P button 591 372 15 0;
#P window setfont Arial 9.;
#P message 632 444 25 131137545 $1js;
#P newex 682 447 27 131137545 – 1;
#P newex 596 391 40 131137545 uzi 15;
#P newex 589 415 40 131137545 uzi 8;
#P newex 570 469 183 131137545 pack script send 1js sendinput 0 enable 0;
#P window setfont Arial 14.;
#P comment 704 110 204 131137550 2.) turn on render , observe fps;
#P comment 385 106 114 131137550 1.) read a movie;
#P comment 592 263 85 131137550 delete them;
#P window setfont Arial 9.;
#N vpatcher 20 74 565 267;
#P window setfont Arial 9.;
#P newex 429 51 36 131137545 t clear;
#P newex 190 78 27 131137545 * 20;
#P message 104 86 25 131137545 $1js;
#P newex 118 50 53 131137545 t b i i b;
#P newex 391 52 36 131137545 urn 48;
#P user ubumenu 393 85 100 131137545 0 1 1 0;
#X add cc.alphaglue.jxs;
#X add cc.brightness.ip.jxs;
#X add cc.colormap.jxs;
#X add cc.contrast.ip.jxs;
#X add cc.exrdisplay.jxs;
#X add cc.grgb2rgba.jxs;
#X add cc.planemap.jxs;
#X add cc.rgb2yuv.jxs;
#X add cc.rgba2grgb.jxs;
#X add cc.rgba2uyvy.jxs;
#X add cc.saturate.ip.jxs;
#X add cc.scalebias.jxs;
#X add cc.uyvy2rgba.exp.jxs;
#X add cc.uyvy2rgba.jxs;
#X add cc.uyvy2rgba.lite.jxs;
#X add fx.blobby.jxs;
#X add fx.tiles.jxs;
#X add co.additive.jxs;
#X add co.alphablend.jxs;
#X add co.average.jxs;
#X add co.brightlight.jxs;
#X add co.burn.jxs;
#X add co.chromakey.jxs;
#X add co.darken.jxs;
#X add co.difference.jxs;
#X add co.dodge.jxs;
#X add co.exclude.jxs;
#X add co.freeze.jxs;
#X add co.glow.jxs;
#X add co.hardlight.jxs;
#X add co.heat.jxs;
#X add co.inverse.jxs;
#X add co.lighten.jxs;
#X add co.lumakey.jxs;
#X add co.multiply.jxs;
#X add co.negate.jxs;
#X add co.normal.jxs;
#X add co.overlay.jxs;
#X add co.reflect.jxs;
#X add co.screen.jxs;
#X add co.softlight.jxs;
#X add co.stamp.jxs;
#X add co.subtractive.jxs;
#X add tr.dissolve.jxs;
#X add tr.edgeblend.jxs;
#X add tr.gridwipe.jxs;
#X add tr.shrinkwipe.jxs;
#X add tr.vignettes.jxs;
#X prefix_set 0 0 0;
#X pattrmode 1;
#P newex 50 113 359 131137545 pack script new 1js newex 77 50 120 196617 jit.gl.slab Output @enable 0 @inputs 2;
#P inlet 118 30 15 0;
#P outlet 50 144 15 0;
#P connect 5 0 2 0;
#P connect 2 0 0 0;
#P connect 6 0 2 2;
#P connect 5 1 6 0;
#P connect 1 0 5 0;
#P connect 7 0 2 5;
#P connect 5 2 7 0;
#P connect 8 0 4 0;
#P connect 5 3 4 0;
#P connect 4 0 3 0;
#P connect 4 1 8 0;
#P pop;
#P newobj 498 317 40 131137545 p slabs;
#P button 576 263 15 0;
#P newex 578 295 40 131137545 uzi 15;
#P number 530 263 35 9 0 0 0 2001 0 0 0 221 221 221 222 222 222 0 0 0;
#P button 576 239 15 0;
#P message 577 317 81 131137545 script delete $1js;
#P newex 498 295 40 131137545 uzi 15;
#N thispatcher;
#Q end;
#P newobj 498 501 61 131137545 thispatcher;
#P message 384 125 86 131137545 read dvducks.mov;
#P message 621 129 26 131137545 argb;
#P newex 331 142 43 131137545 r 0plane;
#P message 384 141 80 131137545 read dozer.mov;
#P newex 392 211 250 131137545 jit.gl.videoplane Output @transform_reset 2 @automatic 0;
#P newex 584 146 88 131137545 prepend colormode;
#P newex 584 111 47 131137545 loadbang;
#P newex 389 167 175 131137545 jit.qt.movie @colormode uyvy @adapt 1;
#P message 584 129 30 131137545 uyvy;
#P newex 389 189 250 131137545 jit.gl.texture Output @name movtexture @colormode uyvy;
#P window linecount 2;
#P newex 732 147 243 131137545 jit.window Output @visible 1 @floating 0 @grow 0 @rect 10 100 330 340 @fsaa 0 @sync 0 @doublebuffer 1;
#P flonum 737 132 35 9 0 0 0 2001 0 0 0 221 221 221 222 222 222 0 0 0;
#P user jit.fpsgui 326 169 60 131137545 0;
#P window linecount 1;
#N vpatcher 15 55 437 353;
#P button 145 99 15 0;
#P button 50 50 15 0;
#P window setfont Arial 9.;
#P newex 213 126 31 131137545 s pre;
#P newex 50 166 33 131137545 s last;
#P newex 204 145 34 131137545 s first;
#P newex 196 186 47 131137545 s 3plane;
#P newex 110 168 51 131137545 s 3dplane;
#P newex 193 208 45 131137545 s 2plane;
#P newex 143 190 45 131137545 s 1plane;
#P newex 202 161 40 131137545 s drive;
#P newex 138 77 65 131137545 r renderbang;
#P newex 96 190 45 131137545 s 0plane;
#P newex 78 101 43 131137545 jit.qball;
#P newex 78 123 131 131137545 t b b b b b b b b erase b;
#P inlet 78 81 15 0;
#P outlet 78 227 15 0;
#P connect 2 1 12 0;
#P connect 5 0 3 0;
#P connect 1 0 3 0;
#P connect 14 0 2 0;
#P connect 3 0 2 0;
#P connect 2 8 0 0;
#P connect 2 0 0 0;
#P connect 2 1 4 0;
#P connect 2 2 9 0;
#P connect 2 3 7 0;
#P connect 5 0 15 0;
#P connect 2 4 8 0;
#P connect 2 5 10 0;
#P connect 2 6 6 0;
#P connect 2 7 11 0;
#P connect 2 9 13 0;
#P pop;
#P newobj 688 151 41 131137545 p bangs;
#P window linecount 2;
#P newex 687 174 309 131137545 jit.gl.render Output @erase_color 0 0 0 1 @scale 1.33333 1. 1. @ortho 2 @camera 0 0 2 @light_ambient 0.2 0.2 0.2 0.2 @light_position 0 2 0.2;
#P toggle 688 111 15 0;
#P window linecount 1;
#P newex 687 131 45 131137545 metro 2;
#P newex 343 213 43 131137545 r 1plane;
#P window setfont Arial 14.;
#P comment 592 239 252 131137550 3.)create some slabs , observe fps;
#P connect 37 0 19 0;
#P connect 30 0 19 0;
#P connect 31 2 33 0;
#P connect 31 2 38 0;
#P connect 32 2 34 0;
#P connect 32 2 39 0;
#P connect 16 0 6 0;
#P connect 16 0 11 0;
#P fasten 13 0 11 0 589 164 394 164;
#P connect 15 0 11 0;
#P connect 18 0 11 0;
#P fasten 13 0 9 0 589 188 394 188;
#P connect 11 0 9 0;
#P connect 9 0 14 0;
#P connect 1 0 14 0;
#P connect 22 0 20 0;
#P connect 20 2 26 0;
#P connect 26 0 19 0;
#P connect 21 0 19 0;
#P fasten 23 0 20 1 535 279 533 279;
#P connect 31 0 30 0;
#P connect 24 2 21 0;
#P connect 25 0 24 0;
#P connect 12 0 10 0;
#P connect 10 0 13 0;
#P connect 17 0 13 0;
#P connect 32 0 31 0;
#P connect 35 0 32 0;
#P fasten 23 0 24 1 535 291 613 291;
#P connect 34 0 30 2;
#P connect 33 0 30 4;
#P connect 3 0 2 0;
#P connect 5 0 4 0;
#P connect 2 0 5 0;
#P connect 7 0 2 1;
#P connect 39 0 37 2;
#P connect 38 0 37 4;
#P window clipboard copycount 40;

#103416
May 15, 2007 at 6:47pm

On May 15, 2007, at 7:56 AM, pnyboer wrote:

>
> for the record, this doesn’t seem to do much in 1.63b2. This patch
> adds a script to send the “enable 0″ messages to the inputs and
> outputs each slab, for example:
> script send 1js sendinput 0 enable 0

Thanks for the follow up and example which helped me trim this over
head even further for the next beta.

Thanks,
Joshua

#103417

You must be logged in to reply to this topic.