<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>Guys,<BR>
<BR>
for some time now, I've been meaning to propose a quite different approach, of which we've actually already done some tests with good result;<BR>
<BR>
the basic idea is to connect reliable packets with two delegates; an ack delegate and a nack delegate - the implication probably obvious:<BR>
<BR>
when the packet gets acked, the ack delegate is called, when it's nacked, the nack. The packet is sent as a parameter.<BR>
<BR>
what this would let us do, is to use the sent packet to figure out what the right course of action is;<BR>
<BR>
for an update, for example, we could look that object up and see if it's there's been another more resent update sent; if so, we can discard this. If not - we can _recreate_ a more recent packet and send that instead.<BR>
<BR>
We have done something similar for terrain, a terrain packet watchdog, which keeps track of what patches has been acked, and resends those that haven't after a timeout. This removes the atom bombing.<BR><BR>Best regards,<BR>Stefan Andersson<BR>Tribal Media AB<BR> <BR>Join the 3d web revolution : <A href="http://tribalnet.se/" target=_blank>http://tribalnet.se/</A><BR> <BR><BR><BR><BR>
<HR id=stopSpelling>
<BR>
> Date: Thu, 2 Oct 2008 21:00:44 +0100<BR>> From: jjustincc@googlemail.com<BR>> To: opensim-dev@lists.berlios.de<BR>> Subject: Re: [Opensim-dev] Does OpenSim need to leave so many packets marked as reliable?<BR>> <BR>> Yes, it's possible that the situation is more complicated than simply marking all packets as reliable. It's also <BR>> difficult to look at percentages since it does depends heavily on what you do.<BR>> <BR>> Also, apologies for suggesting I would change trunk earlier. I won't be making any changes there without more <BR>> consultation, at least certainly not any change which is non-default. I forgot how complicated an area this is.<BR>> <BR>> <BR>> Melanie wrote:<BR>> > Hi again,<BR>> > <BR>> > there may be some object updates that can be sent unreliable. For <BR>> > instance, all that have to do with moving objects (e.g. velocity != <BR>> > 0). but the initial object update can't be lost. Any object update <BR>> > lost of the login burst is a ghost prim.<BR>> > <BR>> > Melanie<BR>> > <BR>> > <BR>> > Justin Clark-Casey wrote:<BR>> >> Hmm, I then did the obvious thing and compared it (unscientifically) with a couple of sessions on the Linden Lab grid. <BR>> >> There, reliable packets appear to compromise approximately 40% of the transfer.<BR>> >><BR>> >><BR>> >> -------- Original Message --------<BR>> >> Subject: Does OpenSim need to leave so many packets marked as reliable?<BR>> >> Date: Thu, 02 Oct 2008 19:32:57 +0100<BR>> >> From: Justin Clark-Casey <jjustincc@googlemail.com><BR>> >> To: opensim-dev@lists.berlios.de<BR>> >><BR>> >> Hi there,<BR>> >><BR>> >> A vast number of the packets that we send out from OpenSim (usually >95% according to the statistics printed to the<BR>> >> Linden viewer log on shutdown) are marked as reliable. This requires that the viewer respond with an ack, and it just<BR>> >> doesn't appear that this is done very well when a large number of reliables are sent. A lot of acks never come and we<BR>> >> often appear to end up resending thousands (or in the worst case tens of thousands) of packets.<BR>> >><BR>> >> In a private experiment I've set Header.Reliable = false for the LayerDataPacket and ObjectUpdatePacket (which appear to<BR>> >> be the greatest sent by count, and which are currently reliable by default in libOMV). Naturally, this cuts down the<BR>> >> vast number of resends (and possibly some of the packet_out_of_order messages that come out on the console log) without<BR>> >> any apparant ill effects. However, my testing has been pretty limited so I'm minded to wait until Monday before making<BR>> >> any trunk changes, since then I can get a better load test with multiple avatars (this doesn't stop anybody else testing<BR>> >> of course :-)<BR>> >><BR>> >> Any opinions on this? Is there a good reason for these packets to remain reliable (when resends are probably rare<BR>> >> anyway)? libOMV appears to mark every packet as reliable by default... and then OpenSim removes this from a couple of<BR>> >> them but not from others.<BR>> >><BR>> > _______________________________________________<BR>> > Opensim-dev mailing list<BR>> > Opensim-dev@lists.berlios.de<BR>> > https://lists.berlios.de/mailman/listinfo/opensim-dev<BR>> > <BR>> <BR>> <BR>> -- <BR>> justincc<BR>> Justin Clark-Casey<BR>> http://justincc.wordpress.com<BR>> _______________________________________________<BR>> Opensim-dev mailing list<BR>> Opensim-dev@lists.berlios.de<BR>> https://lists.berlios.de/mailman/listinfo/opensim-dev<BR><BR></body>
</html>