From: <thorsten.r...@jy...> - 2010-11-12 10:13 > I still have no real understanding why this is so, or why loading a large > number of *identical* models into the scenery should take a long time (I > would think that one can make use of the fact that there are really > multiple copies of the same model around to speed things up, and while I > was told that OSG does that automatically, this isn't what I observe) - if > anyone can aid my understanding, please do so, it would be rather > important.
Not sure, maybe it is connected with an other issue we recently discovered. There are indeed some OSG operations which don't scale well. For example, OSG keeps a simple list of references at each shared model - so each shared model knows all nodes it is shared to. Adding a new member to the list takes almost no time - no matter on how large the list is. However, removing a shared model from a node can be very expensive - since it needs to search the entire list. The issue is negligible when a model isn't shared too often (say < 5000 times). But it get's really, really ugly when a model has a lot more shares (>10.000). This has recently caused another really bad performance issue. Enabling "random scenery objects" resulted in about 60.000 cows and about 30.000 horses being created (no kidding) to populate the FlightGear scenery. Creating these friendly animals was extremely efficient (no delay to be noticed). But when a scenery tile had to be removed, it had to disconnect a few thousand shares from the shared model - and each instance had to be looked-up in a list of about 60K elements... now guess what... this took 2-10 seconds per scenery tile. Removing several tiles could easily block the thread for a minute or two - meanwhile no new scenery tiles could be loaded... That's why we had to "cull" all the scenery animals for now. So, the implementation for "loading" shared objects is really efficient - but unloading a shared model can be really terrible - heavily depending on the number of shares. When you "load" new clouds - does this also involve dropping older clouds (removing some shares)? cheers, Thorsten ------------------------------------------------------------------------------ Centralized Desktop Delivery: Dell and VMware Reference Architecture Simplifying enterprise desktop deployment and management using Dell EqualLogic storage and VMware View: A highly scalable, end-to-end client virtualization framework. Read more! http://p.sf.net/sfu/dell-eql-dev2dev _______________________________________________ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel