Stop messing order of updates, destroing the defined order of the selected priority (by distance being the one that makes sense(?). So called fairness serves no usefull purpose. If a region is lagged or user has bad comms, and far objects updates don't arrive, at least nearby thinks do have a chance to keep ticking. Just test on a big region and observe rez order on arrival. lower viewer bandwith helps seeing the diference. No use to put in core since cmic loves the priority scrambling code i comented out.
parent
4f593fa8c3
commit
68981d01f0
|
@ -139,7 +139,12 @@ namespace OpenSim.Framework
|
|||
{
|
||||
// If there is anything in priority queue 0, return it first no
|
||||
// matter what else. Breaks fairness. But very useful.
|
||||
for (int iq = 0; iq < NumberOfImmediateQueues; iq++)
|
||||
// for (int iq = 0; iq < NumberOfImmediateQueues; iq++)
|
||||
|
||||
|
||||
// keep original order
|
||||
|
||||
for (int iq = 0; iq < NumberOfQueues; iq++)
|
||||
{
|
||||
if (m_heaps[iq].Count > 0)
|
||||
{
|
||||
|
@ -151,7 +156,7 @@ namespace OpenSim.Framework
|
|||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
// To get the fair queing, we cycle through each of the
|
||||
// queues when finding an element to dequeue.
|
||||
// We pull (NumberOfQueues - QueueIndex) items from each queue in order
|
||||
|
@ -193,7 +198,7 @@ namespace OpenSim.Framework
|
|||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
timeinqueue = 0;
|
||||
value = default(IEntityUpdate);
|
||||
return false;
|
||||
|
|
Loading…
Reference in New Issue