pybullet workaround for very slow Mac OSX GUI mode, since OpenGL can only run in main thread, just like the Python interpreter

improve quadruped.py script, to allow 'useRealTime' 0 or 1
This commit is contained in:
Erwin Coumans
2017-02-07 08:08:55 -08:00
parent 88fdffba04
commit 56b4ac278b
2 changed files with 62 additions and 24 deletions

View File

@@ -1,5 +1,6 @@
#include "SharedMemoryInProcessPhysicsC_API.h"
#include "../Utils/b3Clock.h"
#include "PhysicsClientSharedMemory.h"
#include"../ExampleBrowser/InProcessExampleBrowser.h"
@@ -8,7 +9,8 @@
class InProcessPhysicsClientSharedMemoryMainThread : public PhysicsClientSharedMemory
{
btInProcessExampleBrowserMainThreadInternalData* m_data;
b3Clock m_clock;
public:
InProcessPhysicsClientSharedMemoryMainThread(int argc, char* argv[])
@@ -41,9 +43,16 @@ public:
{
PhysicsClientSharedMemory::disconnectSharedMemory();
}
btUpdateInProcessExampleBrowserMainThread(m_data);
return PhysicsClientSharedMemory::processServerStatus();
unsigned long int ms = m_clock.getTimeMilliseconds();
if (ms>20)
{
m_clock.reset();
btUpdateInProcessExampleBrowserMainThread(m_data);
} else
{
//b3Clock::usleep(100);
}
return PhysicsClientSharedMemory::processServerStatus();
}