View Full Version : Mechanics Stress Test

Nicholai Pestot
July 17 2013, 07:45:49 PM
While I'm working on the UI, I'd like to get some feedback on how much load the existing mechanics place on peoples machines

First build has an environment with 100 enemies, second with 500, third with 1000

Let me know how they perform.

100 (https://dl.dropboxusercontent.com/u/24030219/StressTest100.rar)
500 (https://dl.dropboxusercontent.com/u/24030219/StressTest500.rar)
1000 (https://dl.dropboxusercontent.com/u/24030219/StressTest1000.rar)

The shields/weapons on your ship have been significantly upgraded for this test.

July 17 2013, 11:16:53 PM
nothing exact


I am running an i7 950 with two separate ATI HD 5770s (never crossfired or even connected; each runs its own monitor).

Performance does NOT change regardless of quality or resolution; FPS is the same 640x480@Fastest as it is 1920x1080@Fantastic. Same for Windowed versus Fullscreen.

50 Enemy Test:

Initial Framerate: ~25 FPS
Average CPU: 14%
RAM Usage: ~86 MB

Each enemy killed is worth approximately +15 FPS; I can reach a max ~210 FPS just sitting still and shooting until the simulation resets. The framerate is also very unstable, fluctuating by ~2-4 at first but later up to 40 FPS(!) every second or so. This timing seems to sync up with missile launches.

100 Enemy Test:

Initial Framerate: ~8 FPS
Average CPU: 14%
RAM Usage: ~135 MB

Similar behavior to the 50 Enemy Test. Returns on killing enemies seem to be < 1 FPS per ship, leading to a max of 9 FPS. The fluctuation is < 1 FPS at this load, in line with the smaller fluctuations at lower FPS in the 50 Enemy Test.

Interestingly, only my own projectiles show up in the 100 Enemy Test while every projectile appears in the 50 Enemy Test. Missiles also seem to be missing from the 100 Enemy Test for a while, then suddenly appear. Intentional LOD or accidental limit bug?

Nicholai Pestot
July 18 2013, 08:57:33 AM

The effects you were seeing with projectiles disappearing with 100 enemies, is similar to what I am seeing with my internal testing@500 enemies. As you are suffering 8 fps and the projectiles fire at a speed of 10per second its entirely likely that there is a bug that occurs at those FPS ranges with projectile instantiation. I'm probably going to need a 'double step' check to account for this.

The fluctuations you are seeing with artillery ('missile') firing is puzzling. Artillery uses basically the same logic as the rapid-firing projectiles, simply slowed down to 1 shot every few seconds rather than 10 shots per second. Even the graphic for the artillery is just a fattened projectile. There may be something strange happening there with trail rendering - it's possible the wider projectile is doing something strange with particle counts (but 40fps worth? that seems extreme). The only other difference is the sound file it uses.

The FPS fluctuations you are seeing with enemy ships is consistent with my own metrics. I have some ideas on how to reduce this impact.

Thank you for this detailed feedback. It is most excellent. I'll probably have another stress test build up after work this evening, if your game?

Nicholai Pestot
July 18 2013, 07:40:46 PM
I believe I have resolved most of the issues.

First post updated. Now performing 100/500/1000 tests with enhanced optimisation.

-Removed player ship auto-target selection- It was an optional extra and I much prefer requiring the player to define targets for their batteries.
-Turrets no longer track outside a set 'max value' (at the moment I have set this to 4 times the range of the longest range weapon)
-Rapid fire weapons now better account for low FPS environments when instantiating projectiles.
-Generic logic optimisation improvements

I was not able to replicate the FPS drop you encountered with artillery. As such, I have not tried to fix this.