diff --git a/OpenRA.Game/Graphics/WorldRenderer.cs b/OpenRA.Game/Graphics/WorldRenderer.cs index fbeed0b995..06174d88c2 100644 --- a/OpenRA.Game/Graphics/WorldRenderer.cs +++ b/OpenRA.Game/Graphics/WorldRenderer.cs @@ -190,9 +190,12 @@ namespace OpenRA.Graphics if (World.Type == WorldType.Regular) { - foreach (var g in World.ActorsHavingTrait().Where(a => !a.Disposed - && !World.FogObscures(a) - && !World.Selection.Contains(a))) + foreach (var g in World.ScreenMap.ActorsInBox(Viewport.TopLeft, Viewport.BottomRight) + .Where(a => + !a.Disposed && + !World.Selection.Contains(a) && + a.Info.HasTraitInfo() && + !World.FogObscures(a))) { if (Game.Settings.Game.StatusBars == StatusBarsType.Standard) new SelectionBarsRenderable(g, false, false).Render(this);