Showing posts with label optimization. Show all posts
Showing posts with label optimization. Show all posts

Optimizing Tennix for Maemo

As I promised some weeks ago, here are the results of our take on optimizing a SDL game (Tennix) for the Maemo devices. All other platforms on which Tennix runs obviously also profit from these optimizations. The presentation with all the details is available here: Optimizing an open source game for mobile devices (PDF). I also have two videos for you: Tennix running on a tablet before and after the optimizations.

Conclusions: Do profile (using oprofile or gprof) your applications to find bottlenecks. Look at callgraphs (using graphviz) to determine function usage. Most of the time, small code changes result in big performance boosts. Some Maemo-specific hints for SDL development are available in Game development in the Maemo Wiki.

The optimized release of Tennix (0.7.0) is available in Maemo Extras already. Go get it! :)

Optimizing the code of a SDL game

Maybe you have tried it already: Tennix has been available for Maemo for quite some time now. The current version still has room for improvement (performance-wise), and the gameplay part runs a bit slow. That's why our team uses it as an optimization target for a course at the uni until the end of January.

Two benefits: You get a playable, fast tennis game for your tablets, and we get a bit more proficient in writing more efficient code and making better use of the current hardware. This will obviously also benefit the Desktop version of Tennix, as both use the same codebase.

I hope to be able to draw some conclusions and give you an overview of what we were able to do in a few weeks. Until now, try out Tennix and get used to its (relatively slow) speed, so that you feel the improvements when the optimized release is out :)