StyleCop clean OpenRA.Game

This commit is contained in:
Matthias Mailänder
2015-01-02 15:11:36 +01:00
parent 9dd607c846
commit 44cd174a8d
61 changed files with 628 additions and 581 deletions

View File

@@ -18,108 +18,31 @@ namespace OpenRA.Support
{
public static class PerfHistory
{
static readonly Color[] colors = { Color.Red, Color.Green,
static readonly Color[] Colors = { Color.Red, Color.Green,
Color.Orange, Color.Yellow,
Color.Fuchsia, Color.Lime,
Color.LightBlue, Color.Blue,
Color.White, Color.Teal };
static int nextColor;
public static Cache<string, PerfItem> items = new Cache<string, PerfItem>(
public static Cache<string, PerfItem> Items = new Cache<string, PerfItem>(
s =>
{
var x = new PerfItem(s, colors[nextColor++]);
if (nextColor >= colors.Length) nextColor = 0;
var x = new PerfItem(s, Colors[nextColor++]);
if (nextColor >= Colors.Length) nextColor = 0;
return x;
});
public static void Increment(string item, double x)
{
items[item].val += x;
Items[item].Val += x;
}
public static void Tick()
{
foreach (var item in items.Values)
if (item.hasNormalTick)
foreach (var item in Items.Values)
if (item.HasNormalTick)
item.Tick();
}
}
public class PerfItem
{
public readonly Color c;
public readonly string Name;
public double[] samples = new double[100];
public double val = 0.0;
int head = 1, tail = 0;
public bool hasNormalTick = true;
public PerfItem(string name, Color c)
{
Name = name;
this.c = c;
}
public void Tick()
{
samples[head++] = val;
if (head == samples.Length) head = 0;
if (head == tail && ++tail == samples.Length) tail = 0;
val = 0.0;
}
public IEnumerable<double> Samples()
{
var n = head;
while (n != tail)
{
--n;
if (n < 0) n = samples.Length - 1;
yield return samples[n];
}
}
public double Average(int count)
{
var i = 0;
var n = head;
double sum = 0;
while (i < count && n != tail)
{
if (--n < 0) n = samples.Length - 1;
sum += samples[n];
i++;
}
return sum / i;
}
public double LastValue
{
get
{
var n = head;
if (--n < 0) n = samples.Length - 1;
return samples[n];
}
}
}
public struct PerfSample : IDisposable
{
readonly string item;
readonly long ticks;
public PerfSample(string item)
{
this.item = item;
ticks = Stopwatch.GetTimestamp();
}
public void Dispose()
{
PerfHistory.Increment(item, 1000.0 * Math.Max(0, Stopwatch.GetTimestamp() - ticks) / Stopwatch.Frequency);
}
}
}
}

View File

@@ -0,0 +1,78 @@
#region Copyright & License Information
/*
* Copyright 2007-2015 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information,
* see COPYING.
*/
#endregion
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using OpenRA.Primitives;
namespace OpenRA.Support
{
public class PerfItem
{
public readonly Color C;
public readonly string Name;
double[] samples = new double[100];
public double Val = 0.0;
int head = 1, tail = 0;
public bool HasNormalTick = true;
public PerfItem(string name, Color c)
{
Name = name;
C = c;
}
public void Tick()
{
samples[head++] = Val;
if (head == samples.Length) head = 0;
if (head == tail && ++tail == samples.Length) tail = 0;
Val = 0.0;
}
public IEnumerable<double> Samples()
{
var n = head;
while (n != tail)
{
--n;
if (n < 0) n = samples.Length - 1;
yield return samples[n];
}
}
public double Average(int count)
{
var i = 0;
var n = head;
double sum = 0;
while (i < count && n != tail)
{
if (--n < 0) n = samples.Length - 1;
sum += samples[n];
i++;
}
return sum / i;
}
public double LastValue
{
get
{
var n = head;
if (--n < 0) n = samples.Length - 1;
return samples[n];
}
}
}
}

View File

@@ -0,0 +1,35 @@
#region Copyright & License Information
/*
* Copyright 2007-2015 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information,
* see COPYING.
*/
#endregion
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using OpenRA.Primitives;
namespace OpenRA.Support
{
public struct PerfSample : IDisposable
{
readonly string item;
readonly long ticks;
public PerfSample(string item)
{
this.item = item;
ticks = Stopwatch.GetTimestamp();
}
public void Dispose()
{
PerfHistory.Increment(item, 1000.0 * Math.Max(0, Stopwatch.GetTimestamp() - ticks) / Stopwatch.Frequency);
}
}
}

View File

@@ -30,16 +30,16 @@ namespace OpenRA.Support
List<PerfTimer> children;
long ticks;
static ThreadLocal<PerfTimer> Parent = new ThreadLocal<PerfTimer>();
static ThreadLocal<PerfTimer> parentThreadLocal = new ThreadLocal<PerfTimer>();
public PerfTimer(string name, float thresholdMs = 0)
{
this.name = name;
this.thresholdMs = thresholdMs;
parent = Parent.Value;
parent = parentThreadLocal.Value;
depth = parent == null ? (byte)0 : (byte)(parent.depth + 1);
Parent.Value = this;
parentThreadLocal.Value = this;
ticks = Stopwatch.GetTimestamp();
}
@@ -48,7 +48,7 @@ namespace OpenRA.Support
{
ticks = Stopwatch.GetTimestamp() - ticks;
Parent.Value = parent;
parentThreadLocal.Value = parent;
if (parent == null)
Write();