Skip to content

Ideas 2012:PerformanceTuning

Chris Oelmueller edited this page Feb 18, 2013 · 1 revision

Performance Tuning

Our problem

Unknown Horizons suffers from performance problems in many different areas, including GUI, Rendering, and AI. This is a problem for most players as the gaming experience is not very smooth when the game flow is often interrupted by lags or noticeable delay.

Our idea

The main task for the student in this task is to improve the performance of Unknown Horizons where possible.

This especially includes the user-interface and therefore communication between Unknown Horizons and FIFE (our engine).

What you need

  • (Very) Good Python skills (must)
  • Basic C++ skills (must)
  • Knowledge of swig (bonus)
  • Experience in the use of profilers (bonus)
  • Estimated difficulty: Medium - Hard

This idea will require the continuous use of different debuggers, profilers and extensive testing.

What we provide

As a pre-GSoC task you could try some of the following:
  • Ideas:
    • Check guichan (gui framework) rendering slowness
    • Checking if anything can be outsourced to threads
    • Trying to get generic game utility as C++ into fife, where we could access it (storage, shapes, extensive calculations)
    • Refactoring code such that fewer function calls are needed
    • Trying to reduce calculations in general where possible.

What we expect

We expect you to work together with the entire team, this entails:

  • Weekly reports of your progress at our weekly dev meeting on IRC
  • Availability on IRC when you are working on Unknown Horizons
  • Active participation in the discussions on IRC/Mailing List/Forums
  • Daily status reports to your mentor (by mail)

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!

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.

Who looks after you

Your mentors for this task will probably be one of:

  • nihathrael
  • totycro

These devs might also help out if your mentors are not around right now: gscai

Clone this wiki locally