Core/Misc: Code cleanup

Remove more unused code in UpdateTime class

(cherry picked from commit 6c4f71c84b)
This commit is contained in:
jackpoz
2020-07-24 13:59:51 +02:00
committed by Shauren
parent cf94f4a8ed
commit b327414abb
2 changed files with 4 additions and 74 deletions

View File

@@ -25,69 +25,15 @@ WorldUpdateTime sWorldUpdateTime;
UpdateTime::UpdateTime()
{
_averageUpdateTime = 0;
_totalUpdateTime = 0;
_updateTimeTableIndex = 0;
_maxUpdateTime = 0;
_maxUpdateTimeOfLastTable = 0;
_maxUpdateTimeOfCurrentTable = 0;
_updateTimeDataTable = { };
}
uint32 UpdateTime::GetAverageUpdateTime() const
{
return _averageUpdateTime;
}
uint32 UpdateTime::GetTimeWeightedAverageUpdateTime() const
{
uint32 sum = 0, weightsum = 0;
for (uint32 diff : _updateTimeDataTable)
{
sum += diff * diff;
weightsum += diff;
}
if (weightsum == 0)
return 0;
return sum / weightsum;
}
uint32 UpdateTime::GetMaxUpdateTime() const
{
return _maxUpdateTime;
}
uint32 UpdateTime::GetMaxUpdateTimeOfCurrentTable() const
{
return std::max(_maxUpdateTimeOfCurrentTable, _maxUpdateTimeOfLastTable);
_lastUpdateTime = 0;
}
uint32 UpdateTime::GetLastUpdateTime() const
{
return _updateTimeDataTable[_updateTimeTableIndex != 0 ? _updateTimeTableIndex - 1 : _updateTimeDataTable.size() - 1];
return _lastUpdateTime;
}
void UpdateTime::UpdateWithDiff(uint32 diff)
{
_totalUpdateTime = _totalUpdateTime - _updateTimeDataTable[_updateTimeTableIndex] + diff;
_updateTimeDataTable[_updateTimeTableIndex] = diff;
if (diff > _maxUpdateTime)
_maxUpdateTime = diff;
if (diff > _maxUpdateTimeOfCurrentTable)
_maxUpdateTimeOfCurrentTable = diff;
if (++_updateTimeTableIndex >= _updateTimeDataTable.size())
{
_updateTimeTableIndex = 0;
_maxUpdateTimeOfLastTable = _maxUpdateTimeOfCurrentTable;
_maxUpdateTimeOfCurrentTable = 0;
}
if (_updateTimeDataTable[_updateTimeDataTable.size() - 1])
_averageUpdateTime = _totalUpdateTime / _updateTimeDataTable.size();
else if (_updateTimeTableIndex)
_averageUpdateTime = _totalUpdateTime / _updateTimeTableIndex;
_lastUpdateTime = diff;
}

View File

@@ -19,20 +19,10 @@
#define __UPDATETIME_H
#include "Define.h"
#include <array>
#include <string>
#define AVG_DIFF_COUNT 500
class TC_GAME_API UpdateTime
{
using DiffTableArray = std::array<uint32, AVG_DIFF_COUNT>;
public:
uint32 GetAverageUpdateTime() const;
uint32 GetTimeWeightedAverageUpdateTime() const;
uint32 GetMaxUpdateTime() const;
uint32 GetMaxUpdateTimeOfCurrentTable() const;
uint32 GetLastUpdateTime() const;
void UpdateWithDiff(uint32 diff);
@@ -41,13 +31,7 @@ class TC_GAME_API UpdateTime
UpdateTime();
private:
DiffTableArray _updateTimeDataTable;
uint32 _averageUpdateTime;
uint32 _totalUpdateTime;
uint32 _updateTimeTableIndex;
uint32 _maxUpdateTime;
uint32 _maxUpdateTimeOfLastTable;
uint32 _maxUpdateTimeOfCurrentTable;
uint32 _lastUpdateTime;
};
class TC_GAME_API WorldUpdateTime : public UpdateTime