[Opensim-dev] Improving object update performance

Mikko Pallari mikko.pallari at adminotech.com
Fri Feb 20 08:41:01 UTC 2009


Hi,

I don't have resent statistic about which packets are sent most in simulators currenly, but I would suspect that the most traffic comes from avatar movement not object updates. This however depends from how many scripts are in use etc.

I have already made a patch [1], which combines multiple AvatarTerseUpdates in to one packet, like should also be done with the ImprovedTerseObjectUpdate packets as John descripes in the first point.

Cheers,
Mikko

[1]: http://opensimulator.org/mantis/view.php?id=3136


-----Original Message-----
From: opensim-dev-bounces at lists.berlios.de [mailto:opensim-dev-bounces at lists.berlios.de] On Behalf Of Hurliman, John
Sent: 18. helmikuuta 2009 3:19
To: opensim-dev at lists.berlios.de
Subject: [Opensim-dev] Improving object update performance

Continuing a phone conversation on the mailing list, this is my current understanding of the status of object updates in OpenSim:

1) Each object update is a single packet. No aggregation is done by combining multiple ObjectUpdate.ObjectData blocks into a single packet, or combining ImprovedTerseObjectUpdate.ObjectData blocks
2) Object updates are sent in the same order to all clients, with no prioritization (using distance from camera/avatar, frustum culling, etc)
3) OpenSim uses two packet types for sending object updates, ObjectUpdate and ImprovedTerseObjectUpdate. Different code paths arrive at each of these packets being sent, and no logic is used to determine the smallest object update packet possible to carry the modified data. This excludes the ObjectUpdateCompressed packet from being used
4) Full scene information is streamed to each client as it connects. ObjectUpdateCached packets are not used in cases where the simulator might suspect a cache hit


None of these are trivial to implement, but #1 would require the least amount of work and would be the least invasive change. #2, #3, and #4 require a stronger concept of an interest list in OpenSim, and a careful balance between cpu load, memory usage from state management, and network load.

John
_______________________________________________
Opensim-dev mailing list
Opensim-dev at lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev



More information about the Opensim-dev mailing list