Box2Dweb very slow on node.js
- by Peteris
I'm using Box2Dweb on node.js. I have a rotated box object that I apply an impulse to move around. The timestep is set at 50ms, however, it bumps up to 100ms and even 200ms as soon as I add any more edges or boxes. Here are the edges I would like to use as bounds around the playing area:
// Computing the corners
var upLeft = new b2Vec2(0, 0),
lowLeft = new b2Vec2(0, height),
lowRight = new b2Vec2(width, height),
upRight = new b2Vec2(width, 0)
// Edges bounding the visible game area
var edgeFixDef = new b2FixtureDef
edgeFixDef.friction = 0.5
edgeFixDef.restitution = 0.2
edgeFixDef.shape = new b2PolygonShape
var edgeBodyDef = new b2BodyDef;
edgeBodyDef.type = b2Body.b2_staticBody
edgeFixDef.shape.SetAsEdge(upLeft, lowLeft)
world.CreateBody(edgeBodyDef).CreateFixture(edgeFixDef)
edgeFixDef.shape.SetAsEdge(lowLeft, lowRight)
world.CreateBody(edgeBodyDef).CreateFixture(edgeFixDef)
edgeFixDef.shape.SetAsEdge(lowRight, upRight)
world.CreateBody(edgeBodyDef).CreateFixture(edgeFixDef)
edgeFixDef.shape.SetAsEdge(upRight, upLeft)
world.CreateBody(edgeBodyDef).CreateFixture(edgeFixDef)
Can box2d really become this slow for even two bodies or is there some pitfall? It would be very surprising given all the demos which successfully use tens of objects.