AnalyticalGraphicsInc/cesium — pull request #622 by mramato (2013-04-06 00:15:14+00:00)
Title: Simple but effective performance improvements

Me and @shunter found some areas of the code that were causing major slow-downs and memory churn. There is still plenty of room for improvement, but these targeted changes help out a lot.

1. Interpolation proved to be a huge part of memory churn, so this change adds result parameters for them and updated the one function using them to use result parameters.

2. DynamicProperties with constant, infinite values were doing way more work than necessary and now do almost no work. (fixes #411).

3. There was another widget layout issue in Animation.js that was missed with #617

4. There was a bug in VertextBufferFacade were it was recreating buffers every frame. This was because of a re-named variable that was never updated.

5. Minor tweak to BoundingSphere where it should have been using a scratch parameter but wasn't.

To compare performance, I used Chrome's profiling tools using FAA.czml (available in the website Gallery directory). Garbage collection goes down significantly, as does the amount of time spend in the above areas of the code.