History

fix repeat First traversals mid-First-traversal

Andrew Meadows committed 9 years ago

Commit b7882731 parent d54fa201 file · +4 −4Browse 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+4−4
@@ -17,7 +17,7 @@ · 16 unmodified lines
1717
1818 #include "EntityServer.h"
1919
20−//#define SEND_SORTED_ENTITIES
20+#define SEND_SORTED_ENTITIES
2121
2222 void EntityTreeSendThread::preDistributionProcessing() {
2323 auto node = _node.toStrongRef();
@@ -89,7 +89,7 @@ void EntityTreeSendThread::traverseTreeAndSendContents(SharedNodePointer node, O · 65 unmodified lines
8989 if (nodeData->getUsesFrustum()) {
9090 // DEBUG HACK: trigger traversal (Repeat) every so often
9191 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;
9393 if (viewFrustumChanged || repeatTraversal) {
9494 ViewFrustum viewFrustum;
9595 nodeData->copyCurrentViewFrustum(viewFrustum);
@@ -272,8 +272,8 @@ void EntityTreeSendThread::startNewTraversal(const ViewFrustum& view, EntityTree · 176 unmodified lines
272272 break;
273273 case DiffTraversal::Repeat:
274274 _traversal.setScanCallback([&] (DiffTraversal::VisibleElement& next) {
275− if (next.element->getLastChangedContent() > _traversal.getStartOfCompletedTraversal()) {
276− uint64_t timestamp = _traversal.getStartOfCompletedTraversal();
275+ uint64_t timestamp = _traversal.getStartOfCompletedTraversal();
276+ if (next.element->getLastChangedContent() > timestamp) {
277277 next.element->forEachEntity([&](EntityItemPointer entity) {
278278 // Bail early if we've already checked this entity this frame
279279 if (_entitiesInQueue.find(entity.get()) != _entitiesInQueue.end()) {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t