[Opensim-dev] Standardizing types in OpenSim
James Stallings II
james.stallings at gmail.com
Fri Aug 8 21:47:59 UTC 2008
FWIW, I fully endorse this move, without reservation, to include any
headaches that may result.
Cheers,
James
On Fri, Aug 8, 2008 at 3:59 PM, Frisby, Adam <adam at deepthink.com.au> wrote:
> I can +1 these patches in principle.
>
>
>
> It's the 'in practice' that will need some fiddling as changing this many
> data types all at once is likely to cause an incredible amount of fun
> debugging later. (and will also mandate every grid update every region as
> our remoting support will break as a guarantee)
>
>
>
> Regards,
>
>
>
> Adam
>
>
>
> *From:* opensim-dev-bounces at lists.berlios.de [mailto:
> opensim-dev-bounces at lists.berlios.de] *On Behalf Of *Charles Krinke
> *Sent:* Friday, 8 August 2008 1:55 PM
> *To:* opensim-dev at lists.berlios.de
> *Subject:* Re: [Opensim-dev] Standardizing types in OpenSim
>
>
>
> Well, I'll merely say that I have the highest of respect for jhurliman's
> opinion and what he says here seems like a set of reasonable ideas.
>
> Charles
>
>
>
> ----- Original Message ----
> From: "Hurliman, John" <john.hurliman at intel.com>
> To: opensim-dev at lists.berlios.de
> Sent: Friday, August 8, 2008 11:44:59 AM
> Subject: [Opensim-dev] Standardizing types in OpenSim
>
> Hello list,
>
> This is my first e-mail to opensim-dev so I'll start with an
> introduction. I'm an engineer at Intel researching scalable models for
> virtual worlds. A lot of the research will revolve around open,
> user-generated content models like Second Life and OpenSim. I'm also the
> primary developer of libOpenMetaverse (formerly libsecondlife, still
> located at http://www.libsecondlife.org/ for the time being).
>
> I've spent some time looking at the lower level components of OpenSim
> and have a patch to propose. The basic type objects (vector, quaternion,
> rays, etc) are spread out and duplicated over several internal classes
> and external libraries. There are at least five different types of
> Vector3, multiple quaternion and matrix classes, etc. Some of these are
> classes instead of structs, meaning a basic operation like subtracting
> two vectors and putting the result in a third creates several new
> objects on the heap that the garbage collector has to track. I believe
> this is responsible for a lot of the heavy memory and garbage collector
> activity I am seeing. There is also a lot of duplicated code which has
> led to incorrect constructors (such as new Vector3(x, y, y)) and makes
> things more difficult to unit test.
>
> The OpenMetaverse library has a set of types useful to virtual worlds
> that have been in development for two years and implement all of the
> functionality needed in OpenSim. I've created a very large patch that
> upgrades OpenSim from libsecondlife to the latest libOpenMetaverse,
> drops Axiom, and uses the built-in libomv types wherever possible. There
> are a few places that I have skipped over for now to avoid introducing
> too many moving parts in a single patch: BulletX still uses Mono.Xna,
> and Meshmerizer still uses PhysicsVector/Vertex/Triangle.
>
> I've spoken with some of the OpenSim developers about problems keeping
> up with libsecondlife changes. The major changes happened to prevent a
> trademark conflict with Linden Lab, and also establish libopenmv as a
> generalized platform for building virtual worlds instead of a library to
> connect to Linden Lab's servers. I think this patch is an important move
> in that direction, and to prevent any future headaches I'm volunteering
> to maintain the OpenSim->libOpenMetaverse dependency in the event of any
> API changes.
>
> I'm working on grid mode compatibility testing (sandbox mode appears to
> work fine) and will have the patch on Mantis early to mid next week. So
> far the patch itself weighs in around 1.7MB plus binaries. Twenty
> revisions have passed since I initially wrote it and maintaining it
> against the latest SVN can be time consuming, so I wanted to kick start
> with this e-mail before posting the patch.
>
> John Hurliman
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
>
>
--
===================================
The wind
scours the earth for prayers
The night obscures them
http://osgrid.org
http://del.icio.us/SPQR
http://twitter.com/jstallings2
http://www.linkedin.com/pub/5/770/a49
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080808/ffcac2b8/attachment-0001.html>
More information about the Opensim-dev
mailing list