mirror of
https://github.com/overte-org/overte.git
synced 2025-04-21 09:24:00 +02:00
add packets per second to octree processing stats
This commit is contained in:
parent
2aa345dfc6
commit
40cdd8646e
4 changed files with 22 additions and 0 deletions
|
@ -53,6 +53,7 @@ OctreeStatsDialog::OctreeStatsDialog(QWidget* parent, NodeToOctreeSceneStats* mo
|
|||
_localElementsMemory = AddStatItem("Elements Memory");
|
||||
_sendingMode = AddStatItem("Sending Mode");
|
||||
|
||||
_processedPackets = AddStatItem("Processed Packets");
|
||||
_processedPacketsElements = AddStatItem("Processed Packets Elements");
|
||||
_processedPacketsEntities = AddStatItem("Processed Packets Entities");
|
||||
_processedPacketsTiming = AddStatItem("Processed Packets Timing");
|
||||
|
@ -219,6 +220,8 @@ void OctreeStatsDialog::paintEvent(QPaintEvent* event) {
|
|||
// Processed Packets Elements
|
||||
auto averageElementsPerPacket = entities->getAverageElementsPerPacket();
|
||||
auto averageEntitiesPerPacket = entities->getAverageEntitiesPerPacket();
|
||||
|
||||
auto averagePacketsPerSecond = entities->getAveragePacketsPerSecond();
|
||||
auto averageElementsPerSecond = entities->getAverageElementsPerSecond();
|
||||
auto averageEntitiesPerSecond = entities->getAverageEntitiesPerSecond();
|
||||
|
||||
|
@ -228,6 +231,8 @@ void OctreeStatsDialog::paintEvent(QPaintEvent* event) {
|
|||
|
||||
QString averageElementsPerPacketString = locale.toString(averageElementsPerPacket);
|
||||
QString averageEntitiesPerPacketString = locale.toString(averageEntitiesPerPacket);
|
||||
|
||||
QString averagePacketsPerSecondString = locale.toString(averagePacketsPerSecond);
|
||||
QString averageElementsPerSecondString = locale.toString(averageElementsPerSecond);
|
||||
QString averageEntitiesPerSecondString = locale.toString(averageEntitiesPerSecond);
|
||||
|
||||
|
@ -235,6 +240,13 @@ void OctreeStatsDialog::paintEvent(QPaintEvent* event) {
|
|||
QString averageUncompressPerPacketString = locale.toString(averageUncompressPerPacket);
|
||||
QString averageReadBitstreamPerPacketString = locale.toString(averageReadBitstreamPerPacket);
|
||||
|
||||
label = _labels[_processedPackets];
|
||||
statsValue.str("");
|
||||
statsValue <<
|
||||
"" << qPrintable(averagePacketsPerSecondString) << " per second";
|
||||
|
||||
label->setText(statsValue.str().c_str());
|
||||
|
||||
label = _labels[_processedPacketsElements];
|
||||
statsValue.str("");
|
||||
statsValue <<
|
||||
|
|
|
@ -66,6 +66,7 @@ private:
|
|||
|
||||
int _entityUpdateTime;
|
||||
int _entityUpdates;
|
||||
int _processedPackets;
|
||||
int _processedPacketsElements;
|
||||
int _processedPacketsEntities;
|
||||
int _processedPacketsTiming;
|
||||
|
|
|
@ -101,6 +101,8 @@ void OctreeRenderer::processDatagram(const QByteArray& dataByteArray, const Shar
|
|||
sequence, flightTime, packetLength, dataBytes);
|
||||
}
|
||||
|
||||
_packetsInLastWindow++;
|
||||
|
||||
int elementsPerPacket = 0;
|
||||
int entitiesPerPacket = 0;
|
||||
|
||||
|
@ -185,12 +187,15 @@ void OctreeRenderer::processDatagram(const QByteArray& dataByteArray, const Shar
|
|||
|
||||
const quint64 USECS_PER_SECOND = 1000 * 1000;
|
||||
if (sinceLastWindow > USECS_PER_SECOND) {
|
||||
float packetsPerSecondInWindow = (float)_packetsInLastWindow / (float)(sinceLastWindow / USECS_PER_SECOND);
|
||||
float elementsPerSecondInWindow = (float)_elementsInLastWindow / (float)(sinceLastWindow / USECS_PER_SECOND);
|
||||
float entitiesPerSecondInWindow = (float)_entitiesInLastWindow / (float)(sinceLastWindow / USECS_PER_SECOND);
|
||||
_packetsPerSecond.updateAverage(packetsPerSecondInWindow);
|
||||
_elementsPerSecond.updateAverage(elementsPerSecondInWindow);
|
||||
_entitiesPerSecond.updateAverage(entitiesPerSecondInWindow);
|
||||
|
||||
_lastWindowAt = now;
|
||||
_packetsInLastWindow = 0;
|
||||
_elementsInLastWindow = 0;
|
||||
_entitiesInLastWindow = 0;
|
||||
}
|
||||
|
|
|
@ -64,6 +64,7 @@ public:
|
|||
float getAverageElementsPerPacket() const { return _elementsPerPacket.getAverage(); }
|
||||
float getAverageEntitiesPerPacket() const { return _entitiesPerPacket.getAverage(); }
|
||||
|
||||
float getAveragePacketsPerSecond() const { return _packetsPerSecond.getAverage(); }
|
||||
float getAverageElementsPerSecond() const { return _elementsPerSecond.getAverage(); }
|
||||
float getAverageEntitiesPerSecond() const { return _entitiesPerSecond.getAverage(); }
|
||||
|
||||
|
@ -80,6 +81,8 @@ protected:
|
|||
|
||||
SimpleMovingAverage _elementsPerPacket;
|
||||
SimpleMovingAverage _entitiesPerPacket;
|
||||
|
||||
SimpleMovingAverage _packetsPerSecond;
|
||||
SimpleMovingAverage _elementsPerSecond;
|
||||
SimpleMovingAverage _entitiesPerSecond;
|
||||
|
||||
|
@ -88,6 +91,7 @@ protected:
|
|||
SimpleMovingAverage _readBitstreamPerPacket;
|
||||
|
||||
quint64 _lastWindowAt = 0;
|
||||
int _packetsInLastWindow = 0;
|
||||
int _elementsInLastWindow = 0;
|
||||
int _entitiesInLastWindow = 0;
|
||||
|
||||
|
|
Loading…
Reference in a new issue