This commit is contained in:
Andrew Meadows 2017-08-07 12:00:10 -07:00
parent 64fa3ec88f
commit bf27412091
2 changed files with 2 additions and 11 deletions

View file

@ -167,7 +167,6 @@ void TreeTraversalPath::startNewTraversal(const ViewFrustum& viewFrustum, Entity
}; };
} else { } else {
_currentView = viewFrustum; _currentView = viewFrustum;
_getNextElementCallback = [&]() { _getNextElementCallback = [&]() {
return _forks.back().getNextElementDifferential(_currentView, _completedView, _startOfCompletedTraversal); return _forks.back().getNextElementDifferential(_currentView, _completedView, _startOfCompletedTraversal);
}; };
@ -296,17 +295,14 @@ void EntityTreeSendThread::traverseTreeAndSendContents(SharedNodePointer node, O
} }
} }
if (!_path.empty()) { if (!_path.empty()) {
int32_t numElements = 0;
uint64_t t0 = usecTimestampNow(); uint64_t t0 = usecTimestampNow();
uint64_t now = t0; uint64_t now = t0;
uint32_t numEntities = 0;
EntityTreeElementPointer nextElement = _path.getNextElement();
const ViewFrustum& currentView = _path.getCurrentView(); const ViewFrustum& currentView = _path.getCurrentView();
TreeTraversalPath::ConicalView conicalView(currentView); TreeTraversalPath::ConicalView conicalView(currentView);
EntityTreeElementPointer nextElement = _path.getNextElement();
while (nextElement) { while (nextElement) {
nextElement->forEachEntity([&](EntityItemPointer entity) { nextElement->forEachEntity([&](EntityItemPointer entity) {
++numEntities;
bool success = false; bool success = false;
AACube cube = entity->getQueryAACube(success); AACube cube = entity->getQueryAACube(success);
if (success) { if (success) {
@ -322,7 +318,6 @@ void EntityTreeSendThread::traverseTreeAndSendContents(SharedNodePointer node, O
_sendQueue.push(TreeTraversalPath::PrioritizedEntity(entity, WHEN_IN_DOUBT_PRIORITY)); _sendQueue.push(TreeTraversalPath::PrioritizedEntity(entity, WHEN_IN_DOUBT_PRIORITY));
} }
}); });
++numElements;
now = usecTimestampNow(); now = usecTimestampNow();
const uint64_t PARTIAL_TRAVERSAL_TIME_BUDGET = 100000; // usec const uint64_t PARTIAL_TRAVERSAL_TIME_BUDGET = 100000; // usec
@ -348,9 +343,7 @@ void EntityTreeSendThread::traverseTreeAndSendContents(SharedNodePointer node, O
// so we "clear" _sendQueue by setting it equal to an empty queue // so we "clear" _sendQueue by setting it equal to an empty queue
_sendQueue = EntityPriorityQueue(); _sendQueue = EntityPriorityQueue();
std::cout << "adebug -end" std::cout << "adebug -end"
<< " E = " << numElements << " Q.size = " << sendQueueSize
<< " e = " << numEntities
<< " Q = " << sendQueueSize
<< " dt = " << dt1 << std::endl; // adebug << " dt = " << dt1 << std::endl; // adebug
std::cout << "adebug" << std::endl; // adebug std::cout << "adebug" << std::endl; // adebug
} }

View file

@ -91,14 +91,12 @@ public:
void dump() const; void dump() const;
const ViewFrustum& getCurrentView() const { return _currentView; } const ViewFrustum& getCurrentView() const { return _currentView; }
//float computePriority(EntityItemPointer& entity) const { return _computePriorityCallback(entity); }
protected: protected:
ViewFrustum _currentView; ViewFrustum _currentView;
ViewFrustum _completedView; ViewFrustum _completedView;
std::vector<Fork> _forks; std::vector<Fork> _forks;
std::function<EntityTreeElementPointer()> _getNextElementCallback { nullptr }; std::function<EntityTreeElementPointer()> _getNextElementCallback { nullptr };
//std::function<float(EntityItemPointer)> _computePriorityCallback { nullptr };
uint64_t _startOfCompletedTraversal { 0 }; uint64_t _startOfCompletedTraversal { 0 };
uint64_t _startOfCurrentTraversal { 0 }; uint64_t _startOfCurrentTraversal { 0 };
}; };