hos: Cleanup the project (#2634)
* hos: Cleanup the project Since a lot of changes has been done on the HOS project, there are some leftover here and there, or class just used in one service, things at wrong places, and more. This PR fixes that, additionnally to that, I've realigned some vars because I though it make the code more readable. * Address gdkchan feedback * addresses Thog feedback * Revert ElfSymbol
This commit is contained in:
parent
3f2486342b
commit
5d08e9b495
36 changed files with 261 additions and 382 deletions
|
@ -1,5 +1,4 @@
|
|||
using Ryujinx.Common;
|
||||
using System.Diagnostics;
|
||||
using System.Timers;
|
||||
|
||||
namespace Ryujinx.HLE
|
||||
|
@ -7,9 +6,8 @@ namespace Ryujinx.HLE
|
|||
public class PerformanceStatistics
|
||||
{
|
||||
private const double FrameRateWeight = 0.5;
|
||||
|
||||
private const int FrameTypeGame = 0;
|
||||
private const int PercentTypeFifo = 0;
|
||||
private const int FrameTypeGame = 0;
|
||||
private const int PercentTypeFifo = 0;
|
||||
|
||||
private double[] _averageFrameRate;
|
||||
private double[] _accumulatedFrameTime;
|
||||
|
@ -50,7 +48,6 @@ namespace Ryujinx.HLE
|
|||
_resetTimer = new Timer(1000);
|
||||
|
||||
_resetTimer.Elapsed += ResetTimerElapsed;
|
||||
|
||||
_resetTimer.AutoReset = true;
|
||||
|
||||
_resetTimer.Start();
|
||||
|
@ -75,10 +72,8 @@ namespace Ryujinx.HLE
|
|||
frameRate = _framesRendered[frameType] / _accumulatedFrameTime[frameType];
|
||||
}
|
||||
|
||||
_averageFrameRate[frameType] = LinearInterpolate(_averageFrameRate[frameType], frameRate);
|
||||
|
||||
_framesRendered[frameType] = 0;
|
||||
|
||||
_averageFrameRate[frameType] = LinearInterpolate(_averageFrameRate[frameType], frameRate);
|
||||
_framesRendered[frameType] = 0;
|
||||
_accumulatedFrameTime[frameType] = 0;
|
||||
}
|
||||
}
|
||||
|
@ -96,15 +91,13 @@ namespace Ryujinx.HLE
|
|||
percent = (_accumulatedActiveTime[percentType] / _percentTime[percentType]) * 100;
|
||||
}
|
||||
|
||||
_averagePercent[percentType] = percent;
|
||||
|
||||
_percentTime[percentType] = 0;
|
||||
|
||||
_averagePercent[percentType] = percent;
|
||||
_percentTime[percentType] = 0;
|
||||
_accumulatedActiveTime[percentType] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
private double LinearInterpolate(double lhs, double rhs)
|
||||
private static double LinearInterpolate(double lhs, double rhs)
|
||||
{
|
||||
return lhs * (1.0 - FrameRateWeight) + rhs * FrameRateWeight;
|
||||
}
|
||||
|
@ -133,26 +126,23 @@ namespace Ryujinx.HLE
|
|||
|
||||
private void EndPercentTime(int percentType)
|
||||
{
|
||||
double currentTime = PerformanceCounter.ElapsedTicks * _ticksToSeconds;
|
||||
|
||||
double elapsedTime = currentTime - _percentLastEndTime[percentType];
|
||||
double currentTime = PerformanceCounter.ElapsedTicks * _ticksToSeconds;
|
||||
double elapsedTime = currentTime - _percentLastEndTime[percentType];
|
||||
double elapsedActiveTime = currentTime - _percentStartTime[percentType];
|
||||
|
||||
lock (_percentLock[percentType])
|
||||
{
|
||||
_accumulatedActiveTime[percentType] += elapsedActiveTime;
|
||||
|
||||
_percentTime[percentType] += elapsedTime;
|
||||
_percentTime[percentType] += elapsedTime;
|
||||
}
|
||||
|
||||
_percentLastEndTime[percentType] = currentTime;
|
||||
_percentStartTime[percentType] = 0;
|
||||
_percentStartTime[percentType] = 0;
|
||||
}
|
||||
|
||||
private void RecordFrameTime(int frameType)
|
||||
{
|
||||
double currentFrameTime = PerformanceCounter.ElapsedTicks * _ticksToSeconds;
|
||||
|
||||
double elapsedFrameTime = currentFrameTime - _previousFrameTime[frameType];
|
||||
|
||||
_previousFrameTime[frameType] = currentFrameTime;
|
||||
|
@ -175,4 +165,4 @@ namespace Ryujinx.HLE
|
|||
return _averagePercent[PercentTypeFifo];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue