Ticket #129 (new task)

Opened 4 years ago

Last modified 4 years ago

Opportunities for optimization (startup)

Reported by: jan Assigned to:
Priority: minor Milestone: ASAP
Component: Game engine Keywords:
Cc:

Description (Last modified by Matei)

* tc_CalculateVariationKey: 1.72362 s (8010x): graphics/objectmanager.cpp // TODO (for some efficiency): use the pre-calculated choices for this object, // which has already worked out what to do for props, instead of passing the // selections into BuildVariation? and having it recalculate the props' choices. Release mode: 38.6697 ms

* Gamesetup/config.cpp: 300ms g_ConfigDB.Reload(CFG_SYSTEM); // 216ms LoadGlobals?(); // 64ms Release mode: 60ms

* plain_transform: 500ms flipping font texture files vertically. fix: convert them to e.g. DDS (possibly compressed, if that looks ok?!) same thing for art/textures/particles/sprite cursors also require runtime conversion. ironically enough, being DDS means they have to be converted back to TGA's BGR ordering (required by Windows for cursors) Release mode: 5ms

* CSimulation init: 5000ms Now about 600ms.

* font load: 350ms (total for 12 fonts) mostly spent building display lists. Better to store coords and render quads in immediate mode? Or use vertex arrays?

* GUI init: 900ms (having subtracted font load time)

[more will be added as they are found]

Change History

2006-06-26 15:42:18 changed by jan

  • description changed.

Most of these turn out to be non-issues in release mode. Unfortunately the overhead in debug mode is considerable and I don't see an easy to way to alleviate that, so running in release mode as much is possible is recommended.

2006-06-26 16:50:50 changed by jan

  • description changed.

With exception of GUI (haven't drilled down into that) and possibly font loading, time into main menu is looking quite good.

2006-09-07 13:07:10 changed by Matei

  • description changed.