[sldev] Why does the simulator do object culling for clients?

John Hurliman jhurliman at wsu.edu
Wed Jul 18 15:54:17 PDT 2007


Tateru Nino wrote:
> Dale Glass wrote:
>   
>> On Thu, Jul 19, 2007 at 01:38:02AM +1000, Tateru Nino wrote:
>>   
>>     
>>> Considering the amount of ghosting we generally see (due to lost
>>> ObjectKill packets), I'm wondering if it isn't a good idea for the
>>> viewer to be able to periodically poll 'stale' objects (ones that have
>>> had no Update for a while) just to verify that they're still present.
>>> Having avatars and objects that have long since gone hang around in your
>>> viewer for an hour or two - that can be a little odd, or even unsettling
>>> at times.
>>>     
>>>       
>> That sounds like a hack.
>>
>> ObjectKill is sent over UDP, I suppose? I haven't looked at networking
>> code much yet. But if so, polling isn't the right way to do it, the
>> problem is that the message should be reliable and isn't. So move it to
>> TCP, ensuring it's always delivered. Then so long the sim and viewer
>> aren't buggy that should be all that's needed.
>>
>> Imagine the amount of extra bandwidth needed for periodically checking
>> all the objects you can see if you set draw distance to 512M.
>>
>>   
>>     
> Many of our most common complaints are caused by dropped messages that
> should be reliable, but aren't. :)
>   

Isn't ObjectKill sent as "Reliable"? If there is a problem with the 
ACKing code that's a whole different story, and if the connection 
quality is poor enough that packets are being given up on after the 
minimum five resends or whatever it is then switching to TCP probably 
won't fix the connection.


More information about the SLDev mailing list