diff --git a/SimDynamics/DynamicsEngine/BulletEngine/BulletCoinQtViewer.cpp b/SimDynamics/DynamicsEngine/BulletEngine/BulletCoinQtViewer.cpp index 1a92a4d2fb73badbeae2c6e884499f0334669596..a83c0a639182823060855531212053abed483415 100644 --- a/SimDynamics/DynamicsEngine/BulletEngine/BulletCoinQtViewer.cpp +++ b/SimDynamics/DynamicsEngine/BulletEngine/BulletCoinQtViewer.cpp @@ -17,6 +17,7 @@ namespace SimDynamics BulletCoinQtViewer::BulletCoinQtViewer(DynamicsWorldPtr world) +: warned_norealtime(false) { bulletTimeStepMsec = 16; // 60FPS bulletMaxSubSteps = 1; @@ -164,7 +165,15 @@ void BulletCoinQtViewer::stepPhysics() } */ if ((ms / 1000.0f) > bulletMaxSubSteps * bulletTimeStepMsec) { - VR_INFO << "Elapsed time (" << (ms / 1000.0f) << "ms) too long: Simulation is not running in realtime." << endl; + if (!warned_norealtime) + { + VR_INFO << "Elapsed time (" << (ms / 1000.0f) << "ms) too long: Simulation is not running in realtime." << endl; + warned_norealtime = true; + } + } + else + { + warned_norealtime = false; } btScalar dt1 = btScalar(ms / 1000000.0f); diff --git a/SimDynamics/DynamicsEngine/BulletEngine/BulletCoinQtViewer.h b/SimDynamics/DynamicsEngine/BulletEngine/BulletCoinQtViewer.h index f1dbf4c4765fde55e250b9600c85fc3a1886938c..26c239726f76fd83da4ebfe8819b0c8920ae3fe3 100644 --- a/SimDynamics/DynamicsEngine/BulletEngine/BulletCoinQtViewer.h +++ b/SimDynamics/DynamicsEngine/BulletEngine/BulletCoinQtViewer.h @@ -169,6 +169,8 @@ protected: int bulletTimeStepMsec; int bulletMaxSubSteps; + bool warned_norealtime; + bool enablePhysicsUpdates; boost::recursive_mutex engineMutex;