diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Prioritizer.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Prioritizer.cs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Prioritizer.cs b/OpenSim/Region/Framework/Scenes/Prioritizer.cs index a7637c0..4595a29 100644 --- a/OpenSim/Region/Framework/Scenes/Prioritizer.cs +++ b/OpenSim/Region/Framework/Scenes/Prioritizer.cs | |||
@@ -165,18 +165,20 @@ namespace OpenSim.Region.Framework.Scenes | |||
165 | { | 165 | { |
166 | if (!presence.IsChildAgent) | 166 | if (!presence.IsChildAgent) |
167 | { | 167 | { |
168 | // All avatars other than our own go into pqueue 1 | ||
169 | if (entity is ScenePresence) | ||
170 | return 1; | ||
171 | |||
168 | if (entity is SceneObjectPart) | 172 | if (entity is SceneObjectPart) |
169 | { | 173 | { |
174 | // Attachments are high priority, | ||
175 | if (((SceneObjectPart)entity).ParentGroup.RootPart.IsAttachment) | ||
176 | return 1; | ||
177 | |||
170 | // Non physical prims are lower priority than physical prims | 178 | // Non physical prims are lower priority than physical prims |
171 | PhysicsActor physActor = ((SceneObjectPart)entity).ParentGroup.RootPart.PhysActor; | 179 | PhysicsActor physActor = ((SceneObjectPart)entity).ParentGroup.RootPart.PhysActor; |
172 | if (physActor == null || !physActor.IsPhysical) | 180 | if (physActor == null || !physActor.IsPhysical) |
173 | pqueue++; | 181 | pqueue++; |
174 | |||
175 | // Attachments are high priority, | ||
176 | // MIC: shouldn't these already be in the highest priority queue already | ||
177 | // since their root position is same as the avatars? | ||
178 | if (((SceneObjectPart)entity).ParentGroup.RootPart.IsAttachment) | ||
179 | pqueue = 1; | ||
180 | } | 182 | } |
181 | } | 183 | } |
182 | } | 184 | } |