diff options
author | UbitUmarov | 2012-03-21 21:19:29 +0000 |
---|---|---|
committer | UbitUmarov | 2012-03-21 21:19:29 +0000 |
commit | 68981d01f024f8a46949127e1cc23c81282f5220 (patch) | |
tree | d128e115a4e69c8b26473dab69494bd54468ec14 /OpenSim/Framework/PriorityQueue.cs | |
parent | minor clean (diff) | |
download | opensim-SC_OLD-68981d01f024f8a46949127e1cc23c81282f5220.zip opensim-SC_OLD-68981d01f024f8a46949127e1cc23c81282f5220.tar.gz opensim-SC_OLD-68981d01f024f8a46949127e1cc23c81282f5220.tar.bz2 opensim-SC_OLD-68981d01f024f8a46949127e1cc23c81282f5220.tar.xz |
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.
Diffstat (limited to 'OpenSim/Framework/PriorityQueue.cs')
-rw-r--r-- | OpenSim/Framework/PriorityQueue.cs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/OpenSim/Framework/PriorityQueue.cs b/OpenSim/Framework/PriorityQueue.cs index e7a7f7f..fe2a351 100644 --- a/OpenSim/Framework/PriorityQueue.cs +++ b/OpenSim/Framework/PriorityQueue.cs | |||
@@ -139,7 +139,12 @@ namespace OpenSim.Framework | |||
139 | { | 139 | { |
140 | // If there is anything in priority queue 0, return it first no | 140 | // If there is anything in priority queue 0, return it first no |
141 | // matter what else. Breaks fairness. But very useful. | 141 | // matter what else. Breaks fairness. But very useful. |
142 | for (int iq = 0; iq < NumberOfImmediateQueues; iq++) | 142 | // for (int iq = 0; iq < NumberOfImmediateQueues; iq++) |
143 | |||
144 | |||
145 | // keep original order | ||
146 | |||
147 | for (int iq = 0; iq < NumberOfQueues; iq++) | ||
143 | { | 148 | { |
144 | if (m_heaps[iq].Count > 0) | 149 | if (m_heaps[iq].Count > 0) |
145 | { | 150 | { |
@@ -151,7 +156,7 @@ namespace OpenSim.Framework | |||
151 | return true; | 156 | return true; |
152 | } | 157 | } |
153 | } | 158 | } |
154 | 159 | /* | |
155 | // To get the fair queing, we cycle through each of the | 160 | // To get the fair queing, we cycle through each of the |
156 | // queues when finding an element to dequeue. | 161 | // queues when finding an element to dequeue. |
157 | // We pull (NumberOfQueues - QueueIndex) items from each queue in order | 162 | // We pull (NumberOfQueues - QueueIndex) items from each queue in order |
@@ -193,7 +198,7 @@ namespace OpenSim.Framework | |||
193 | return true; | 198 | return true; |
194 | } | 199 | } |
195 | } | 200 | } |
196 | 201 | */ | |
197 | timeinqueue = 0; | 202 | timeinqueue = 0; |
198 | value = default(IEntityUpdate); | 203 | value = default(IEntityUpdate); |
199 | return false; | 204 | return false; |