mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-07-16 20:26:17 +02:00
add stat for average billboard and identity packets per frame
This commit is contained in:
parent
8a796be785
commit
ff788a340b
2 changed files with 15 additions and 1 deletions
|
@ -35,7 +35,9 @@ AvatarMixer::AvatarMixer(const QByteArray& packet) :
|
||||||
_trailingSleepRatio(1.0f),
|
_trailingSleepRatio(1.0f),
|
||||||
_performanceThrottlingRatio(0.0f),
|
_performanceThrottlingRatio(0.0f),
|
||||||
_sumListeners(0),
|
_sumListeners(0),
|
||||||
_numStatFrames(0)
|
_numStatFrames(0),
|
||||||
|
_sumBillboardPackets(0),
|
||||||
|
_sumIdentityPackets(0)
|
||||||
{
|
{
|
||||||
// make sure we hear about node kills so we can tell the other nodes
|
// make sure we hear about node kills so we can tell the other nodes
|
||||||
connect(NodeList::getInstance(), &NodeList::nodeKilled, this, &AvatarMixer::nodeKilled);
|
connect(NodeList::getInstance(), &NodeList::nodeKilled, this, &AvatarMixer::nodeKilled);
|
||||||
|
@ -118,12 +120,15 @@ void AvatarMixer::broadcastAvatarData() {
|
||||||
billboardPacket.append(otherNode->getUUID().toRfc4122());
|
billboardPacket.append(otherNode->getUUID().toRfc4122());
|
||||||
billboardPacket.append(otherNodeData->getAvatar().getBillboard());
|
billboardPacket.append(otherNodeData->getAvatar().getBillboard());
|
||||||
nodeList->writeDatagram(billboardPacket, node);
|
nodeList->writeDatagram(billboardPacket, node);
|
||||||
|
|
||||||
|
++_sumBillboardPackets;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (otherNodeData->getIdentityChangeTimestamp() > 0
|
if (otherNodeData->getIdentityChangeTimestamp() > 0
|
||||||
&& (forceSend
|
&& (forceSend
|
||||||
|| otherNodeData->getIdentityChangeTimestamp() > _lastFrameTimestamp
|
|| otherNodeData->getIdentityChangeTimestamp() > _lastFrameTimestamp
|
||||||
|| randFloat() < BILLBOARD_AND_IDENTITY_SEND_PROBABILITY)) {
|
|| randFloat() < BILLBOARD_AND_IDENTITY_SEND_PROBABILITY)) {
|
||||||
|
|
||||||
QByteArray identityPacket = byteArrayWithPopulatedHeader(PacketTypeAvatarIdentity);
|
QByteArray identityPacket = byteArrayWithPopulatedHeader(PacketTypeAvatarIdentity);
|
||||||
|
|
||||||
QByteArray individualData = otherNodeData->getAvatar().identityByteArray();
|
QByteArray individualData = otherNodeData->getAvatar().identityByteArray();
|
||||||
|
@ -131,6 +136,8 @@ void AvatarMixer::broadcastAvatarData() {
|
||||||
identityPacket.append(individualData);
|
identityPacket.append(individualData);
|
||||||
|
|
||||||
nodeList->writeDatagram(identityPacket, node);
|
nodeList->writeDatagram(identityPacket, node);
|
||||||
|
|
||||||
|
++_sumIdentityPackets;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -219,12 +226,17 @@ void AvatarMixer::sendStatsPacket() {
|
||||||
QJsonObject statsObject;
|
QJsonObject statsObject;
|
||||||
statsObject["average_listeners_last_second"] = (float) _sumListeners / (float) _numStatFrames;
|
statsObject["average_listeners_last_second"] = (float) _sumListeners / (float) _numStatFrames;
|
||||||
|
|
||||||
|
statsObject["average_billboard_packets_per_frame"] = (float) _sumBillboardPackets / (float) _numStatFrames;
|
||||||
|
statsObject["average_identity_packets_per_frame"] = (float) _sumIdentityPackets / (float) _numStatFrames;
|
||||||
|
|
||||||
statsObject["trailing_sleep_percentage"] = _trailingSleepRatio * 100;
|
statsObject["trailing_sleep_percentage"] = _trailingSleepRatio * 100;
|
||||||
statsObject["performance_throttling_ratio"] = _performanceThrottlingRatio;
|
statsObject["performance_throttling_ratio"] = _performanceThrottlingRatio;
|
||||||
|
|
||||||
ThreadedAssignment::addPacketStatsAndSendStatsPacket(statsObject);
|
ThreadedAssignment::addPacketStatsAndSendStatsPacket(statsObject);
|
||||||
|
|
||||||
_sumListeners = 0;
|
_sumListeners = 0;
|
||||||
|
_sumBillboardPackets = 0;
|
||||||
|
_sumIdentityPackets = 0;
|
||||||
_numStatFrames = 0;
|
_numStatFrames = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,6 +37,8 @@ private:
|
||||||
|
|
||||||
int _sumListeners;
|
int _sumListeners;
|
||||||
int _numStatFrames;
|
int _numStatFrames;
|
||||||
|
int _sumBillboardPackets;
|
||||||
|
int _sumIdentityPackets;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* defined(__hifi__AvatarMixer__) */
|
#endif /* defined(__hifi__AvatarMixer__) */
|
||||||
|
|
Loading…
Reference in a new issue