Development:Performance

From VsWiki
Revision as of 07:39, 9 August 2006 by Shark (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Current (23:43, 20 June 2006 (PDT)) test performance:

(VS Windows Test-rig):

1K fighters in 1 group, all friendly: playable, sufficient
10K fighters split into 10 groups, all friendly: sub-par, semi-playable
9K fighters in 9 groups, friendly. 100 Nicander vs. 100 Lancelot: <10 fps (comms on) <25 fps (comms off)
9K fighters in 9 groups, friendly. 500 Nicander vs. 500 Lancelot: 7-9 fps (comms off, 0 missiles on lancelot)


  • CommunicationXML with sound files == ueberslow
  • Fix bolt collision speed
  • AI ... irregularities in AggressiveAI::Execute
Potential fix applied-- not yet verified
  • Fix Order::GetEffectiveRelationship to use hash table and no while loop
Will not be easy since Comm AI's and Fire is not guaranteed to be first order in order queue, etc. may need to promote hit stats up higher to unit fields :-/ Difficult to keep optimization apart from interfering with modularity
  • Fix loading times
  • Pressing 'd' (dock) key can completely pause the game for a noticeable amount of time, even when docking does not occur (e.g. target random fighter far away. press 'd')


Addressed:

  • Fixed apart in bolt collision. Bolt collision is still the bottleneck, but not by as much
  • Made bolts collide in x-order rather than texture order
  • Sort bolts on x rather than radius squared
  • Added bolt draw culling
  • Fix repair function cost to not be proportional to the time of a physics frame
  • Make targetting cheaper--especially when no target is able to be selected
some progress on this front - at the very least, it decays gracefully now. Heuristics and vegastrike.config constants likely need some pondering. Abject pauses appear to be removed.
23:43, 20 June 2006 (PDT)
  • Fix Communication
23:43, 20 June 2006 (PDT)
  • Fix Target acquisition backoff
23:43 1 July 2006