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

Reply via email to