Skip to content
ChrisOelmueller edited this page Feb 16, 2013 · 3 revisions

Improve the overall performance of FIFE

Our problem

There are certain areas in the FIFE code base which are not very well optimized for performance. Some of these parts are frequently used by Unknown Horizons, tile overlay coloring for example (Used to display the building radius).

Our idea

Check the code for possible areas of improvement. Ideas:

Tile coloring

Needs caching.

Texture drawing

Textures are drawn in a way that is compatible with very old OpenGL specifications. Therefore it is far away from optimal performance.

Probably there are more areas that could be improved.

What you need

  • Excellent C++ programming skills
  • Possibly skills in OpenGL and SDL
  • Self motivated work, FIFE devs are not always available.
  • Estimated difficulties: other FIFE clients, testing and profiling, OpenGL & SDL
  • We expect a hard difficulty: You will need to dig into the FIFE code and bindings, proposing own ideas for improvements.

What we provide

As a pre-GSoC task you could try some of the following:

What we expect

You can shift around release goals and target dates in the planning stage as you like. Once your mentor and you agreed on a rough timetable, only light modifications should occur if there happens nothing unforeseeable.

  • No milestones from our side. Propose some to your mentors!
  • SoC Deadline: you implemented, documented and tested code which improves the performance of UH and you tested where possible that it does not break or reduce performance for other clients.

What you can add

In general: If your mentor agrees, you can change almost everything in our descriptions. They are just meant to provide guidance if you are not sure where to start or which way to choose.

You are especially free to alter the following parts:

  • More features for FIFE

Who looks after you

Your mentors for this task will probably be: prock, vtchill

These devs might also help out if your mentors are not around right now: nihathrael, totycro

Clone this wiki locally