Energy drift

Please don't post Bullet support questions here, use the above forums instead.
mewert
Posts: 52
Joined: Sat Oct 08, 2005 1:16 am
Location: Itinerant

Post by mewert »

> 1) The Jacobian is the same for both LCP, so when implemented correctly the second LCP comes for free

Maybe I'm missing something but I don't see a whole lot of savings here.

Here is the system you are solving:
Ax = b subject to LCP constraints
Ay = c "

When solving this system with a sequential impulses technique, you compose the blocks of A on the fly.

So all I get for free by solving both systems at once ( rather than in two passes ) is I avoid 1 maxtrix-matrix multiply, for composing the Jacobian. Which is not much, really. This is at the cost of having to keep around the ( stack, or SPU ) memory allocated for y, c and a temporary vector or two. Plus increasing my code size a bit. There is the nice fact that you get good cache coherency, etc.. so there should be some savings in that respect. When looking at SPU's limited memory, I'm not crazy out about the idea, though.

Have I missed something? Is there anything else I should be getting for free? Can I avoid an additional complemenatiry test or something?

Maybe the free bit you are refering to is the precomputed J elements ( where A = JMJ').
gee
Posts: 14
Joined: Mon Aug 14, 2006 8:36 am
Location: Paris, France

Post by gee »

Thanks Dirk, I'll look into that.

@Mewert : I guess what he means is that calculating this LCP does not cost a lot, as the error is small the calculation of the right small impulse, should be faster than a whole LCP at the position level.