Merge pull request #10089 from abcdefg30/shellmapCPU

Try to win a small amount of performance when the shellmap is disabled
This commit is contained in:
Matthias Mailänder
2015-12-31 12:22:14 +01:00
3 changed files with 12 additions and 14 deletions

View File

@@ -491,7 +491,11 @@ namespace OpenRA
Sound.Tick();
Sync.CheckSyncUnchanged(world, orderManager.TickImmediate);
if (world != null)
if (world == null)
return;
// Don't tick when the shellmap is disabled
if (world.ShouldTick)
{
var isNetTick = LocalTick % NetTickScale == 0;
@@ -517,12 +521,13 @@ namespace OpenRA
PerfHistory.Tick();
}
else
if (orderManager.NetFrameNumber == 0)
orderManager.LastTickTime = RunTime;
else if (orderManager.NetFrameNumber == 0)
orderManager.LastTickTime = RunTime;
Sync.CheckSyncUnchanged(world, () => world.TickRender(worldRenderer));
}
else
PerfHistory.Tick();
}
}
}

View File

@@ -262,6 +262,7 @@ namespace OpenRA
public event Action<Actor> ActorAdded = _ => { };
public event Action<Actor> ActorRemoved = _ => { };
public bool ShouldTick { get { return Type != WorldType.Shellmap || Game.Settings.Game.ShowShellmap; } }
public bool Paused { get; internal set; }
public bool PredictedPaused { get; internal set; }
public bool PauseStateLocked { get; set; }
@@ -284,7 +285,7 @@ namespace OpenRA
public void Tick()
{
if (!Paused && (Type != WorldType.Shellmap || Game.Settings.Game.ShowShellmap))
if (!Paused)
{
WorldTick++;

View File

@@ -37,14 +37,6 @@ namespace OpenRA.Mods.Common.Widgets
Action onComplete;
readonly World world;
[ObjectCreator.UseCtor]
public VqaPlayerWidget(World world)
{
this.world = world;
}
public void Load(string filename)
{
if (filename == cachedVideo)
@@ -201,7 +193,7 @@ namespace OpenRA.Mods.Common.Widgets
Game.Sound.StopVideo();
video.Reset();
videoSprite.Sheet.GetTexture().SetData(video.FrameData);
world.AddFrameEndTask(_ => onComplete());
Game.RunAfterTick(onComplete);
}
public void CloseVideo()