Revision: 7491
          http://playerstage.svn.sourceforge.net/playerstage/?rev=7491&view=rev
Author:   natepak
Date:     2009-03-17 00:18:30 +0000 (Tue, 17 Mar 2009)

Log Message:
-----------
Throttle the gui update to 30hz

Modified Paths:
--------------
    code/branches/federation/gazebo/SConstruct
    code/branches/federation/gazebo/server/Simulator.cc
    code/branches/federation/gazebo/worlds/bandit.world

Modified: code/branches/federation/gazebo/SConstruct
===================================================================
--- code/branches/federation/gazebo/SConstruct  2009-03-17 00:01:48 UTC (rev 
7490)
+++ code/branches/federation/gazebo/SConstruct  2009-03-17 00:18:30 UTC (rev 
7491)
@@ -173,11 +173,13 @@
   CXXCOMSTR = 'Compiling $TARGET',
   CCCOMSTR = 'Compiling $TARGET',
   LINKCOMSTR = 'Linking $TARGET',
+  ARCOMSTR = 'Linking $TARGET',
 
   # Shared object compile strings
   SHCXXCOMSTR = 'Compiling $TARGET',
   SHCCCOMSTR = 'Compiling $TARGET',
   SHLINKCOMSTR = 'Linking $TARGET',
+  SHARCOMSTR = 'Linking $TARGET',
 
   HAS_ERROR = False,
 )

Modified: code/branches/federation/gazebo/server/Simulator.cc
===================================================================
--- code/branches/federation/gazebo/server/Simulator.cc 2009-03-17 00:01:48 UTC 
(rev 7490)
+++ code/branches/federation/gazebo/server/Simulator.cc 2009-03-17 00:18:30 UTC 
(rev 7491)
@@ -286,6 +286,9 @@
 /// Main simulation loop, when this loop ends the simulation finish
 void Simulator::MainLoop()
 {
+  double currTime, lastTime;
+  double freq = 30.0;
+
   this->physicsThread = new boost::thread( 
boost::bind(&Simulator::PhysicsLoop, this));
 
   if (this->gui)
@@ -293,8 +296,24 @@
       // Update the gui
     while (!this->userQuit)
     {
-      this->gui->Update();
-      usleep(1000);
+      currTime = this->GetWallTime();
+      if ( currTime - lastTime > 1/freq)
+      {
+        lastTime = this->GetWallTime();
+        this->gui->Update();
+        currTime = this->GetWallTime();
+
+        //printf("Curr Time[%f] LastTime[%f] Period[%f] %f]\n",currTime, 
lastTime, 1/freq, currTime-lastTime);
+        if (currTime - lastTime < 1/freq)
+        {
+          usleep((1/freq - (currTime - lastTime)) * 1e6);
+        }
+      }
+      else
+      {
+        //printf("Now Here[%f]\n",1/freq - (currTime - lastTime));
+        usleep((1/freq - currTime - lastTime) * 1e6);
+      }
     }
   }
 
@@ -545,8 +564,7 @@
         boost::recursive_mutex::scoped_lock lock(*this->mutex);
         world->Update();
       }
-
-      usleep(100);
+      usleep(1);
     }
 
     // Process all incoming messages from simiface

Modified: code/branches/federation/gazebo/worlds/bandit.world
===================================================================
--- code/branches/federation/gazebo/worlds/bandit.world 2009-03-17 00:01:48 UTC 
(rev 7490)
+++ code/branches/federation/gazebo/worlds/bandit.world 2009-03-17 00:18:30 UTC 
(rev 7491)
@@ -16,7 +16,7 @@
   <verbosity>5</verbosity>
 
   <physics:ode>
-    <stepTime>0.003</stepTime>
+    <stepTime>0.03</stepTime>
     <gravity>0 0 -9.8</gravity>
     <cfm>10e-5</cfm>
     <erp>0.3</erp>


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit

Reply via email to