Difference between revisions of "Development:Performance"

From VsWiki
Jump to: navigation, search
m (updated)
 
(6 intermediate revisions by 2 users not shown)
Line 9: Line 9:
 
: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. 100 Nicander vs. 100 Lancelot: <10 fps (comms on) <25 fps (comms off)
  
:9K fighters in 9 groups, friendly. 500 Nicander vs. 500 Lancelot: <10 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 Communication
+
* Fix bolt collision speed
: [[User:jackS|jackS]] 23:43, 20 June 2006 (PDT)
+
* AI ... irregularities in AggressiveAI::Execute
:Yes - it was masked by other bottlenecks, but it is indeed a source of slowness - testing with combat shows this
+
: Potential fix applied-- not yet verified
: Related - repeated scanning for contraband _during_ hostilities seems unwaranted (and potentially a source of slowness if there are any ships with cargo) ... scanning for contraband needs to be a "policing" action rather than a random action (i.e. not performed during "military" engagements... let the semantic fuzz begin)
+
* Fix Order::GetEffectiveRelationship to use hash table and no while loop
* Make targetting cheaper--especially when no target is able to be selected
+
: 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
:[[User:jackS|jackS]] 23:43, 20 June 2006 (PDT)
 
:some progress on this front - at the very least, it decays gracefully now
 
 
* Fix loading times
 
* 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
 
* 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

Latest revision as of 08:39, 9 August 2006

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