play-co / timestep

GNU General Public License v3.0
16 stars 27 forks source link

MovieClip #129

Closed bchevalier closed 7 years ago

bchevalier commented 7 years ago

Why

How

Results

When it comes to the MovieClip component itself, it corresponds to a major boost (around 50% on the new skinning system). Therefore that is no surprise that Cats receives a good performance improvement >10%. It appears to be a minor improvement on Everwing though: ~1% in gameplay and 5% on the landing screen.

Engine tick

The ticking of the engine appears ~15% faster on Everwing's landing screen: Before

screen shot 2017-06-16 at 6 49 11 pm

After

screen shot 2017-06-26 at 8 22 56 pm

Chrome profile (macbook)

On Cats

Before

screen shot 2017-06-27 at 3 45 00 pm

After

screen shot 2017-06-27 at 3 36 49 pm

The time taken by the renderFrame method is roughly half what it used to be! Other performance improvements we can see on this profile comparison are due to all the optimizations that were done so far in timestep. We can notice that the time taken by the wrapRender method (which includes all the rendering pipeline) has been divided by 2.

On Everwing

Profiling on the landing page gives roughly 5% improvement: Before

screen shot 2017-06-17 at 2 37 54 pm

After

screen shot 2017-06-27 at 5 27 46 pm

For some reason the performance improvement of the renderFrame method is not as good as in Cats. The MovieClip component used in Everwing is older and might have been more efficient in the past.

Notes on follow-up work:

rogueSkib commented 7 years ago

Awesome, tested against EverWing, everything checks out, thanks @bchevalier !

DanMacDonald commented 7 years ago

Sweet!