The TilemapKit Roadmap is yours! All the ideas and discussions
6 votes Vote

TK: renderer performance optimizations (pass #1)

The renderer is now stable enough to optimize it. This means measuring the rendering loop's performance to find the most costly operations.

A lot can be done by inlining calculations in C functions and caching repeatedly used values. Also only updating changed sprite properties.

The goal is to have performance that's comparable or close to Cocos2D v3's tilemap renderer.

Estimation: 1-5 days (depending on how easily performance goals are satisfied)

sitterheim, 25.06.2015, 18:00
Response from the site administrator
sitterheim, 16.07.2015
Success: roughly 5-10 times faster now! :)
Idea status: completed


sitterheim, 15.07.2015, 15:38
First test was to off-load tile layer updates to a concurrent dispatch queue. This worked wonders on OS X since the test map went from 20 fps up to 60 fps on a quadcore with hyperthreading (8 logical cores, i7 CPU).

But on iOS (iPod Touch 5G) the effect was almost negligible since fps went up from 5.7 to 7.2. Still that was an easy win for SpriteKit (cocos2d unfortunately isn't thread-safe).

Leave a comment