Re:Show HN: Snabbt.js – a minimalistic animation library
by Kiro on Friday January 02, 2015 @04:40AM
(#8826201)
> allocates lots of typed arrays
Out of curiosity, can you show an example and how it should be done properly?
Re:Show HN: Snabbt.js – a minimalistic animation library
by mattdesl on Friday January 02, 2015 @10:41AM
(#8827069)
A better approach is to re-use arrays instead of creating intermediate ones, which is what gl-matrix[1] advocates. Each tween might still need its own matrix instance for start and end points, but at least these are not created per tick.
A similar approach is to use a "pool" of arrays[2] which allows you to re-use them without having to manually keep track of the temporary arrays.
Re:Show HN: Snabbt.js – a minimalistic animation library
by yesimahuman on Friday January 02, 2015 @11:30AM
(#8827326)
Similarly, PhysicsJS employs a "scratchpad" of pre-initialized vectors for fast intermediate computations. That way you aren't constructing new objects, but grabbing a free one, zeroing it, and using it as you would before. Seems quite performant.
https://github.com/wellcaffeinated/PhysicsJS/blob/master/src...
The code is basically just computing a 4x4 matrix for each card per frame built up from some tweened position/rotation/etc. Then it applies the matrix to the element's CSS. The code doesn't look optimized (ie allocates lots of typed arrays) but as the demo proves, its already pretty fast.