From 9866eb93f8ad4c0c2cc657ba0dbec75fb4c758ea Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Fri, 11 Jul 2008 16:50:43 +0000 Subject: [PATCH] Tweaked the KdTree intersection performance testing code block --- src/osgViewer/View.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/osgViewer/View.cpp b/src/osgViewer/View.cpp index 836894810..f8f92e02e 100644 --- a/src/osgViewer/View.cpp +++ b/src/osgViewer/View.cpp @@ -1826,34 +1826,43 @@ bool View::computeIntersections(float x,float y, osgUtil::LineSegmentIntersector const_cast(camera)->accept(iv); #else - // timing test code paths + // timing test code paths for comparing KdTree based intersections vs conventional intersections iv.setUseKdTreeWhenAvailable(true); iv.setDoDummyTraversal(true); const_cast(camera)->accept(iv); + osg::Timer_t before = osg::Timer::instance()->tick(); const_cast(camera)->accept(iv); osg::Timer_t after_dummy = osg::Timer::instance()->tick(); + int intersectsBeforeKdTree = picker->getIntersections().size(); + iv.setDoDummyTraversal(false); const_cast(camera)->accept(iv); osg::Timer_t after_kdTree_2 = osg::Timer::instance()->tick(); + int intersectsBeforeConventional = picker->getIntersections().size(); + iv.setUseKdTreeWhenAvailable(false); const_cast(camera)->accept(iv); osg::Timer_t after = osg::Timer::instance()->tick(); + int intersectsAfterConventional = picker->getIntersections().size(); + double timeDummy = osg::Timer::instance()->delta_m(before, after_dummy); double timeKdTree = osg::Timer::instance()->delta_m(after_dummy, after_kdTree_2); double timeConventional = osg::Timer::instance()->delta_m(after_kdTree_2, after); osg::notify(osg::NOTICE)<<"Using Dummy "<