[ODE] ODE .NET Bindings Performance Issues, Unsafe code, etc...
goncaloclopes at gmail.com
Sun Oct 22 02:30:52 MST 2006
I understand the problem, although I don't think it would be critical
to a good integration of ODE with a managed system. But it would
indeed make it easier to deal with destructions from the managed side.
On my high-level wrapper I started by implementing the Dispose pattern
used in forms to ensure automatic collection, but had to give it up
since there were too many ODE structures implicitly destroying
unmanaged objects. There is never the guarantee that the wrapper
instance owns memory freeing rights over the unmanaged object so I
ended up switching that responsibility to the user.
Maybe in the future the ODE api can be made standard toward these
issues, but for now, I think I'll just go with what 0.7 says and work
from there. The objective is completely wrapping up ODE in a
high-level class hierarchy in a clean and object-oriented way.
P.S.: Maybe I'll have a good surprise for you guys by the end of next week.
On 10/22/06, Jon Watte (ODE) <hplus-ode at mindcontrol.org> wrote:
> Why would you need the proxy objects? A good garbage collector starts at
> the known roots (stack, registers, global variables) and can collect
> from there. For example, the conservative Boehm GC does this; it needs
> no proxy objects.
> / h+
> Lukasz Stafiniak wrote:
> > Hi,
> > Long ago, I've written here about adding reference counting to ODE for
> > integration with external garbage collectors. What I really needed
> > (I've patched my ODE 0.5) are proxy objects to ODE objects, which can
> > tell if an ODE object lives (non-null pointer) or has been deleted
> > (pointer set to null). The only management needed from ODE is setting
> > these pointers to null when deleting objects. (I also added keeping
> > geoms from a deleted space alive when their proxies are still held by
> > someone, but this is not essential.)
> > I remember thinking a lot about this matter (but not the thoughts
> > unfortunately.) What do you think?
> > _______________________________________________
> > ODE mailing list
> > ODE at q12.org
> > http://q12.org/mailman/listinfo/ode
> ODE mailing list
> ODE at q12.org
More information about the ODE