History

track encode stats

SamGondelman committed 9 years ago

Commit bf1065b1 parent a0f95ca1 file · +7 −0Browse files

Showing the changes to assignment-client/src/entities/EntityTreeSendThread.cpp (1 of 1 file). Show all

Unified · Split

assignment-client/src/entities/EntityTreeSendThread.cpp+7−0
@@ -414,8 +414,10 @@ bool EntityTreeSendThread::traverseTreeAndBuildNextPacketPayload(EncodeBitstream · 413 unmodified lines
414414 #ifdef SEND_SORTED_ENTITIES
415415 //auto entityTree = std::static_pointer_cast<EntityTree>(_myServer->getOctree());
416416 if (_sendQueue.empty()) {
417+ OctreeServer::trackEncodeTime(OctreeServer::SKIP_TIME);
417418 return false;
418419 }
420+ quint64 encodeStart = usecTimestampNow();
419421 if (!_packetData.hasContent()) {
420422 // This is the beginning of a new packet.
421423 // We pack minimal data for this to be accepted as an OctreeElement payload for the root element.
@@ -450,6 +452,8 @@ bool EntityTreeSendThread::traverseTreeAndBuildNextPacketPayload(EncodeBitstream · 28 unmodified lines
450452
451453 LevelDetails entitiesLevel = _packetData.startLevel();
452454 uint64_t sendTime = usecTimestampNow();
455+ auto nodeData = static_cast<OctreeQueryNode*>(params.nodeData);
456+ nodeData->stats.encodeStarted();
453457 while(!_sendQueue.empty()) {
454458 PrioritizedEntity queuedItem = _sendQueue.top();
455459 EntityItemPointer entity = queuedItem.getEntity();
@@ -476,6 +480,7 @@ bool EntityTreeSendThread::traverseTreeAndBuildNextPacketPayload(EncodeBitstream · 20 unmodified lines
476480 _sendQueue.pop();
477481 _entitiesInQueue.erase(entity.get());
478482 }
483+ nodeData->stats.encodeStopped();
479484 if (_sendQueue.empty()) {
480485 assert(_entitiesInQueue.empty());
481486 params.stopReason = EncodeBitstreamParams::FINISHED;
@@ -484,10 +489,12 @@ bool EntityTreeSendThread::traverseTreeAndBuildNextPacketPayload(EncodeBitstream · 2 unmodified lines
484489
485490 if (_numEntities == 0) {
486491 _packetData.discardLevel(entitiesLevel);
492+ OctreeServer::trackEncodeTime((float)(usecTimestampNow() - encodeStart));
487493 return false;
488494 }
489495 _packetData.endLevel(entitiesLevel);
490496 _packetData.updatePriorBytes(_numEntitiesOffset, (const unsigned char*)&_numEntities, sizeof(_numEntities));
497+ OctreeServer::trackEncodeTime((float)(usecTimestampNow() - encodeStart));
491498 return true;
492499
493500 #else // SEND_SORTED_ENTITIES