Hi, Frisby, Adam wrote: > - SceneGraph.Get* methods are generally very wasteful. Lots of them > use the /slow/ GetEntities method to build a list of entities before > searching them. This is particularly noticeable on the GetGroupByPrim(UUID) > method. EntityManager should be having indexes for these frequently accessed > items.
I thought some one (justin?) worked on that with the goal of adding indexes/making it a dict. > - Why, to send a primitive do we need to: - Mark it for updates. - > Crawl through the Entities list for updates - Send updates to ClientViews, > when we could just Send the update directly to viewers > (EventManager.TriggerOnPrimUpdated[?])? Because it would happen in the wrong thread context, maybe? > - Why does Scene.Heartbeat/Update do more than just updating > frame-dependent things? Eg, why not keep Update to just: Update Physics, > Process Scripts[?], etc. Out of it we move: Backup (timer?), Land update > (when something happens+ timer?), Terrain backup (main backup thread?) Scripts don't run in update, although movement events are generated there. > - Why build X copies of the same packet for fifteen separate > clients? Why not re-use the update packet and change the agent IDs? Maybe > some kind of 'PacketMaster' could be developed for each ClientView type which > allows us to do 'bulk' operations like this. Because of the sequence numbers. They are different for each client. Melanie _______________________________________________ Opensim-dev mailing list Opensim-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/opensim-dev