diff --git a/libraries/voxel-server-library/src/VoxelNodeData.cpp b/libraries/voxel-server-library/src/VoxelNodeData.cpp index 3926435157..1d42173e7d 100644 --- a/libraries/voxel-server-library/src/VoxelNodeData.cpp +++ b/libraries/voxel-server-library/src/VoxelNodeData.cpp @@ -73,12 +73,12 @@ bool VoxelNodeData::shouldSuppressDuplicatePacket() { // How long has it been since we've sent one, if we're still under our max time, then keep considering // this packet for suppression uint64_t now = usecTimestampNow(); - long sinceFirstSuppressedPacket = now - _firstSuppressedPacket; + int sinceFirstSuppressedPacket = now - _firstSuppressedPacket; const long MAX_TIME_BETWEEN_DUPLICATE_PACKETS = 1000 * 1000; // 1 second. if (sinceFirstSuppressedPacket < MAX_TIME_BETWEEN_DUPLICATE_PACKETS) { // Finally, if we know we've sent at least one duplicate out, then suppress the rest... - if (_duplicatePacketCount > 1) { + if (_duplicatePacketCount >= 1) { shouldSuppress = true; } } else { diff --git a/libraries/voxel-server-library/src/VoxelSendThread.cpp b/libraries/voxel-server-library/src/VoxelSendThread.cpp index 34d6bd24c8..b76b7edcd4 100644 --- a/libraries/voxel-server-library/src/VoxelSendThread.cpp +++ b/libraries/voxel-server-library/src/VoxelSendThread.cpp @@ -290,8 +290,8 @@ int VoxelSendThread::deepestLevelVoxelDistributor(Node* node, VoxelNodeData* nod uint64_t now = usecTimestampNow(); nodeData->setLastTimeBagEmpty(now); } - nodeData->stats.sceneCompleted(); + packetsSentThisInterval += handlePacketSend(node, nodeData, trueBytesSent, truePacketsSent); if (_myServer->wantDisplayVoxelStats()) { nodeData->stats.printDebugDetails(); @@ -305,6 +305,7 @@ int VoxelSendThread::deepestLevelVoxelDistributor(Node* node, VoxelNodeData* nod if (isFullScene) { nodeData->nodeBag.deleteAll(); } + nodeData->stats.sceneStarted(isFullScene, viewFrustumChanged, _myServer->getServerTree().rootNode, _myServer->getJurisdiction()); // This is the start of "resending" the scene. @@ -430,9 +431,6 @@ int VoxelSendThread::deepestLevelVoxelDistributor(Node* node, VoxelNodeData* nod _tempPacket.reset(); } } - if (nodeData->isPacketWaiting()) { - packetsSentThisInterval += handlePacketSend(node, nodeData, trueBytesSent, truePacketsSent); - } // send the environment packet if (shouldSendEnvironments) {