Showing the changes to assignment-client/src/entities/EntityTreeSendThread.cpp (1 of 1 file). Show all
Unified · Split
| @@ -17,7 +17,7 @@ · 16 unmodified lines | |||
| 17 | 17 | ||
| 18 | #include "EntityServer.h" | 18 | #include "EntityServer.h" |
| 19 | 19 | ||
| 20 | //#define SEND_SORTED_ENTITIES | 20 | #define SEND_SORTED_ENTITIES |
| 21 | 21 | ||
| 22 | void EntityTreeSendThread::preDistributionProcessing() { | 22 | void EntityTreeSendThread::preDistributionProcessing() { |
| 23 | auto node = _node.toStrongRef(); | 23 | auto node = _node.toStrongRef(); |
| @@ -89,7 +89,7 @@ void EntityTreeSendThread::traverseTreeAndSendContents(SharedNodePointer node, O · 65 unmodified lines | |||
| 89 | if (nodeData->getUsesFrustum()) { | 89 | if (nodeData->getUsesFrustum()) { |
| 90 | // DEBUG HACK: trigger traversal (Repeat) every so often | 90 | // DEBUG HACK: trigger traversal (Repeat) every so often |
| 91 | const uint64_t TRAVERSE_AGAIN_PERIOD = 4 * USECS_PER_SECOND; | 91 | const uint64_t TRAVERSE_AGAIN_PERIOD = 4 * USECS_PER_SECOND; |
| 92 | bool repeatTraversal = usecTimestampNow() > _traversal.getStartOfCompletedTraversal() + TRAVERSE_AGAIN_PERIOD; | 92 | bool repeatTraversal = _traversal.finished() && usecTimestampNow() > _traversal.getStartOfCompletedTraversal() + TRAVERSE_AGAIN_PERIOD; |
| 93 | if (viewFrustumChanged || repeatTraversal) { | 93 | if (viewFrustumChanged || repeatTraversal) { |
| 94 | ViewFrustum viewFrustum; | 94 | ViewFrustum viewFrustum; |
| 95 | nodeData->copyCurrentViewFrustum(viewFrustum); | 95 | nodeData->copyCurrentViewFrustum(viewFrustum); |
| @@ -272,8 +272,8 @@ void EntityTreeSendThread::startNewTraversal(const ViewFrustum& view, EntityTree · 176 unmodified lines | |||
| 272 | break; | 272 | break; |
| 273 | case DiffTraversal::Repeat: | 273 | case DiffTraversal::Repeat: |
| 274 | _traversal.setScanCallback([&] (DiffTraversal::VisibleElement& next) { | 274 | _traversal.setScanCallback([&] (DiffTraversal::VisibleElement& next) { |
| 275 | if (next.element->getLastChangedContent() > _traversal.getStartOfCompletedTraversal()) { | 275 | uint64_t timestamp = _traversal.getStartOfCompletedTraversal(); |
| 276 | uint64_t timestamp = _traversal.getStartOfCompletedTraversal(); | 276 | if (next.element->getLastChangedContent() > timestamp) { |
| 277 | next.element->forEachEntity([&](EntityItemPointer entity) { | 277 | next.element->forEachEntity([&](EntityItemPointer entity) { |
| 278 | // Bail early if we've already checked this entity this frame | 278 | // Bail early if we've already checked this entity this frame |
| 279 | if (_entitiesInQueue.find(entity.get()) != _entitiesInQueue.end()) { | 279 | if (_entitiesInQueue.find(entity.get()) != _entitiesInQueue.end()) { |