Skip to content

Commit

Permalink
Merge pull request #1390 from peppy/thread-name-fix
Browse files Browse the repository at this point in the history
Fix regression in frame statistics display thread names
  • Loading branch information
smoogipoo authored Feb 13, 2018
2 parents 0299306 + 3d2017d commit 63c9440
Show file tree
Hide file tree
Showing 7 changed files with 16 additions and 18 deletions.
6 changes: 3 additions & 3 deletions osu.Framework/Development/ThreadSafety.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@ internal static void EnsureDrawThread()
Debug.Assert(IsDrawThread);
}

public static bool IsUpdateThread => Thread.CurrentThread.Name == UpdateThread.THREAD_NAME;
public static bool IsUpdateThread => Thread.CurrentThread.Name == GameThread.PrefixedThreadNameFor("Update");

public static bool IsDrawThread => Thread.CurrentThread.Name == DrawThread.THREAD_NAME;
public static bool IsDrawThread => Thread.CurrentThread.Name == GameThread.PrefixedThreadNameFor("Draw");

public static bool IsAudioThread => Thread.CurrentThread.Name == AudioThread.THREAD_NAME;
public static bool IsAudioThread => Thread.CurrentThread.Name == GameThread.PrefixedThreadNameFor("Audio");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ public FrameStatisticsMode State

public FrameStatisticsDisplay(GameThread thread, TextureAtlas atlas)
{
Name = thread.Thread.Name;
Name = thread.Name;
monitor = thread.Monitor;

Origin = Anchor.TopRight;
Expand Down
4 changes: 1 addition & 3 deletions osu.Framework/Threading/AudioThread.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,8 @@ namespace osu.Framework.Threading
{
public class AudioThread : GameThread
{
internal const string THREAD_NAME = "Framework.Audio.Thread";

public AudioThread(Action onNewFrame)
: base(onNewFrame, THREAD_NAME)
: base(onNewFrame, "Audio")
{
}

Expand Down
4 changes: 1 addition & 3 deletions osu.Framework/Threading/DrawThread.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,8 @@ namespace osu.Framework.Threading
{
public class DrawThread : GameThread
{
internal const string THREAD_NAME = "Framework.Draw.Thread";

public DrawThread(Action onNewFrame)
: base(onNewFrame, THREAD_NAME)
: base(onNewFrame, "Draw")
{
}

Expand Down
10 changes: 8 additions & 2 deletions osu.Framework/Threading/GameThread.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ public double InactiveHz
}
}

public static string PrefixedThreadNameFor(string name) => $"{nameof(GameThread)}.{name}";

public bool Running => Thread.IsAlive;

public virtual void Exit() => exitRequested = true;
Expand All @@ -73,15 +75,19 @@ public double InactiveHz

internal virtual IEnumerable<StatisticsCounterType> StatisticsCounters => Array.Empty<StatisticsCounterType>();

public GameThread(Action onNewFrame, string threadName)
public readonly string Name;

internal GameThread(Action onNewFrame, string name)
{
this.onNewFrame = onNewFrame;

Thread = new Thread(runWork)
{
Name = threadName,
Name = PrefixedThreadNameFor(name),
IsBackground = true,
};

Name = name;
Clock = new ThrottledFrameClock();
Monitor = new PerformanceMonitor(Clock, Thread, StatisticsCounters);
Scheduler = new Scheduler(null, Clock);
Expand Down
4 changes: 1 addition & 3 deletions osu.Framework/Threading/InputThread.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,8 @@ namespace osu.Framework.Threading
{
public class InputThread : GameThread
{
internal const string THREAD_NAME = "Framework.Input.Thread";

public InputThread(Action onNewFrame)
: base(onNewFrame, THREAD_NAME)
: base(onNewFrame, "Input")
{
}

Expand Down
4 changes: 1 addition & 3 deletions osu.Framework/Threading/UpdateThread.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,8 @@ namespace osu.Framework.Threading
{
public class UpdateThread : GameThread
{
internal const string THREAD_NAME = "Framework.Update.Thread";

public UpdateThread(Action onNewFrame)
: base(onNewFrame, THREAD_NAME)
: base(onNewFrame, "Update")
{
}

Expand Down

0 comments on commit 63c9440

Please sign in to comment.