[PD-dev] Re: [GEM] pix_blur ???? which Gem-objects do we need (have) ?

guenter geiger geiger at xdv.org
Fri Feb 21 12:34:20 CET 2003


Hi,

I think it is very good that this question popped up.

I am trying to sketch the advantages and disadvantages of the
different approaches as I see them:

1) Usability and high level objects:

Pro:
- user has a single object that does what he wants, using an intuitive
name
- can be optimized for speed, because its less general

Cons:
- confuses the user by adding yet another object to the list of
objects that have to be learned.
- not as flexible for experimental uses
- code duplication (yet another convolution kernel)
- building a consistent set of high level object needs organization

2) Building higher level abstractions:

Pro:
- usability, name corresponds to function (same as with dedicated
external)
- allows for a more consistent hierarchy when patching
  (e.g. general low level objects are externals, abstractions
   are more specified objects programmed in pd itself).
- code base is kept small --> easier to debug/maintain/optimize

Cons:
- loss in performance (how much ?)
- building a consistent set of high level object needs organization


I think the key question is really the loss in performance. This said,
I think we should make a folder within GEM for GEM abstractions, and
based on the performance issue decide if a new object will be
an abstraction or a dedicated external.

For the special case of "blur", I would have been happier if the
pix_convolve object gets optimized, and pix_blur built as an abstraction.

The tv_ objects problem:
It would be great if we could come up with a way in GEM to store
images and do recursion, in order to implement these effects
directly as a patch. Can this be done without loosing too much
performance ? I think yes.

Greetings,

Guenter





More information about the Pd-dev mailing list