Index: code/branches/network/src/orxonox/Orxonox.cc
===================================================================
--- code/branches/network/src/orxonox/Orxonox.cc	(revision 1421)
+++ code/branches/network/src/orxonox/Orxonox.cc	(revision 1422)
@@ -466,4 +466,8 @@
     timer_->reset();
 
+    float renderTime = 0.0f;
+    float frameTime = 0.0f;
+    clock_t time = 0;
+
     COUT(3) << "Orxonox: Starting the main loop." << std::endl;
 	  while (!bAbort_)
@@ -480,14 +484,21 @@
       evt.timeSinceLastEvent = calculateEventTime(now, eventTimes[0]);
       evt.timeSinceLastFrame = calculateEventTime(now, eventTimes[1]);
+      frameTime += evt.timeSinceLastFrame;
 
       // show the current time in the HUD
       // HUD::getSingleton().setTime(now);
+      if (frameTime > 0.4f)
+      {
+        HUD::getSingleton().setRenderTimeRatio(renderTime / frameTime);
+        frameTime = 0.0f;
+        renderTime = 0.0f;
+      }
 
       // Call those objects that need the real time
+      for (Iterator<TickableReal> it = ObjectList<TickableReal>::start(); it; ++it)
+        it->tick((float)evt.timeSinceLastFrame);
+      // Call the scene objects
       for (Iterator<Tickable> it = ObjectList<Tickable>::start(); it; ++it)
         it->tick((float)evt.timeSinceLastFrame * this->timefactor_);
-      // Call the scene objects
-      for (Iterator<TickableReal> it = ObjectList<TickableReal>::start(); it; ++it)
-        it->tick((float)evt.timeSinceLastFrame);
       // TODO: currently a hack. Somehow the console doesn't work with OrxonoxClass
       orxonoxConsole_->tick((float)evt.timeSinceLastFrame);
@@ -497,12 +508,16 @@
       ogreRoot._fireFrameStarted(evt);
 
-      ogreRoot._updateAllRenderTargets(); // only render in non-server mode
-
       // get current time
       now = timer_->getMilliseconds();
+      calculateEventTime(now, eventTimes[2]);
+
+      ogreRoot._updateAllRenderTargets(); // only render in non-server mode
+
+      // get current time
+      now = timer_->getMilliseconds();
 
       // create an event to pass to the frameEnded method in ogre
       evt.timeSinceLastEvent = calculateEventTime(now, eventTimes[0]);
-      evt.timeSinceLastFrame = calculateEventTime(now, eventTimes[2]);
+      renderTime += calculateEventTime(now, eventTimes[2]);
 
       // again, just to be sure ogre works fine
Index: code/branches/network/src/orxonox/hud/HUD.cc
===================================================================
--- code/branches/network/src/orxonox/hud/HUD.cc	(revision 1421)
+++ code/branches/network/src/orxonox/hud/HUD.cc	(revision 1422)
@@ -75,4 +75,14 @@
         fpsText->setCaption("init");
 
+        // creating text to display render time ratio
+        rTRText = static_cast<TextAreaOverlayElement*>(om->createOverlayElement("TextArea", "rTRText"));
+        rTRText->show();
+        rTRText->setMetricsMode(Ogre::GMM_PIXELS);
+        rTRText->setDimensions(0.001, 0.001);
+        rTRText->setPosition(10, 30);
+        rTRText->setFontName("Console");
+        rTRText->setCharHeight(20);
+        rTRText->setCaption("init");
+
         // create energy bar
         energyBar = static_cast<BarOverlayElement*>(om->createOverlayElement("Bar", "energyBar"));
@@ -99,4 +109,5 @@
         container->setMetricsMode(Ogre::GMM_RELATIVE);
         container->addChild(fpsText);
+        container->addChild(rTRText);
 
         energyBar->init(0.01, 0.94, 0.4, container);
@@ -133,4 +144,9 @@
         float fps = GraphicsEngine::getSingleton().getAverageFPS();
         fpsText->setCaption("FPS: " + Ogre::StringConverter::toString(fps));
+    }
+
+    void HUD::setRenderTimeRatio(float ratio)
+    {
+      rTRText->setCaption("Render time ratio: " + Ogre::StringConverter::toString(ratio));
     }
 
Index: code/branches/network/src/orxonox/hud/HUD.h
===================================================================
--- code/branches/network/src/orxonox/hud/HUD.h	(revision 1421)
+++ code/branches/network/src/orxonox/hud/HUD.h	(revision 1422)
@@ -49,4 +49,5 @@
         Ogre::OverlayContainer* container;
         Ogre::TextAreaOverlayElement* fpsText;
+        Ogre::TextAreaOverlayElement* rTRText;
         BarOverlayElement* energyBar;
         BarOverlayElement* speedoBar;
@@ -60,4 +61,5 @@
         void addRadarObject(Vector3 pos);
         RadarObject* getFirstRadarObject();
+        void setRenderTimeRatio(float ratio);
 
         static HUD* instance_s;
