On Thu, 24 Mar 2005, Thomas Grill wrote:
Oh well, somehow preempting Mathieu - i'm sure gridflow does it in a similar way - i'm sure he can elaborate on this quite a bit. Does it make sense to have two systems potentially providing the same features, only coming from two different directions? Ok, it would be interesting to do some benchmarks then ;-)
GridFlow has several mechanisms for pointers.
GridFlow 0.7 transmits grids using a callback mechanism based on C++ function-pointers. Those are transmitted as a pair of floats that are casts of 16-bit integers that are the two halves of the pointer.
GridFlow 0.8 instead uses Pd's gpointers even though the pointee is not even of type t_pd. This is marginally faster, but also, it works in 64-bit mode.
GridFlow 0.8 also has a Pointer class on the ruby side for wrapping gpointers.
GridFlow 0.8 (and maybe late-0.7) uses unique receive-symbols for getting messages back from Tcl/Tk.
In any case, GridFlow *never* passes pointers to grid buffers in the Pd system, especially as most grids never need to be transmitted as one whole thing, and instead can be streamed between objects, in small chunks. This will change in the future, but the main mechanism will stay the same, I'll just add more options.
Mathieu Bouchard -=- Montréal QC Canada -=- http://artengine.ca/matju