Difference between revisions of "Common Testing"

From Elite Wiki
(Performance Test)
m (Minor editing)
Line 1: Line 1:
 
Here are some tests that can be performed regardless of the operating system.
 
Here are some tests that can be performed regardless of the operating system.
  
= Performance Test =
+
== Performance Test ==
  
The main functionality in Oolite is to process the game loop. It reads user input, processes the world including running all expansions, then renders out the world view. For meaningful tests you need to have a repeatable base. A good metric for performance is the frames per second (FPS) that Oolite can process.
+
The main functionality in Oolite is to process the "game loop". This reads user input, processes the world including running all your OXP/OXZs, and then renders out the world view. For meaningful tests you need to have a repeatable base. A good metric for performance is the number of frames per second (FPS) that Oolite can process.
  
If you want to check performance, you must check with fps uncapped, otherwise you are always getting v-sync fps, which is usually a low number like 60 for a 60Hz monitor, 144 for a 144Hz one etc. Add the '''"animation_timer_interval" = x;''' in OoliteDefaults.plist, where x is 1.0/MaximumFPSYouWantToAchieve. I usually set it to 0.001 which tells Oolite to "go for 1000 fps if you can". Then you can compare actual performance between builds.
+
If you want to check performance, you must check with fps uncapped, otherwise you are always getting v-sync fps, which is usually a low number like 60 for a 60Hz monitor, 144 for a 144Hz one ''etc''.  
Also disable v-sync to have uncapped fps. You do this by setting the OoliteDefaults.plist key '''"v-sync" = NO;'''.
 
  
When comparing builds performance check always with more or less the same amount of entities in the system. If in one case you get 250 entities and in the other you get 70 results may be biased. Try to compare instances where the two system entity numbers are as close as possible. Shift+F shows you this info in test release builds. phkb prepared an expansion for that: [https://app.box.com/s/xrkkr5ylizshjng2dpc8uu9q6b39zt49 CustomPopulator.oxp.zip]. And as other expansions may drag on performance, make sure this is the only one you are running on top of a vanilla Oolite.
+
Add the '''"animation_timer_interval" = x;''' in your OoliteDefaults.plist, where x is 1.0/Maximum FPS You Want To Achieve. I usually set it to 0.001 which tells Oolite to "go for 1000 fps if you can". Then you can compare actual performance between builds.
 +
 
 +
Also, disable v-sync to have uncapped fps. You do this by setting the OoliteDefaults.plist key '''"v-sync" = NO;'''.
 +
 
 +
When comparing the performance of builds, always check with more or less the same number of entities in the system. If in one case you get 250 entities and in the other you get 70, then results may be biased (it takes much more processing power to manage the 250). Try to compare instances where the two system entity numbers are as close as possible. Shift+F shows you this info in the Oolite "Test Release" builds. Phkb wrote an expansion for that: [https://app.box.com/s/xrkkr5ylizshjng2dpc8uu9q6b39zt49 CustomPopulator.oxp.zip]. And as other OXP/OXZs may inhibit the build performance, make sure this is the only one you are running on top of a [[Vanilla game]].
  
 
After starting Oolite, press Shift-F to show the frame rate on the screen, then fly around.
 
After starting Oolite, press Shift-F to show the frame rate on the screen, then fly around.
 +
 +
=== Note ===
 +
Note that the settings discussed here are ''not'' those from the [[Hidden Settings in Oolite]] wiki page.

Revision as of 11:48, 22 April 2026

Here are some tests that can be performed regardless of the operating system.

Performance Test

The main functionality in Oolite is to process the "game loop". This reads user input, processes the world including running all your OXP/OXZs, and then renders out the world view. For meaningful tests you need to have a repeatable base. A good metric for performance is the number of frames per second (FPS) that Oolite can process.

If you want to check performance, you must check with fps uncapped, otherwise you are always getting v-sync fps, which is usually a low number like 60 for a 60Hz monitor, 144 for a 144Hz one etc.

Add the "animation_timer_interval" = x; in your OoliteDefaults.plist, where x is 1.0/Maximum FPS You Want To Achieve. I usually set it to 0.001 which tells Oolite to "go for 1000 fps if you can". Then you can compare actual performance between builds.

Also, disable v-sync to have uncapped fps. You do this by setting the OoliteDefaults.plist key "v-sync" = NO;.

When comparing the performance of builds, always check with more or less the same number of entities in the system. If in one case you get 250 entities and in the other you get 70, then results may be biased (it takes much more processing power to manage the 250). Try to compare instances where the two system entity numbers are as close as possible. Shift+F shows you this info in the Oolite "Test Release" builds. Phkb wrote an expansion for that: CustomPopulator.oxp.zip. And as other OXP/OXZs may inhibit the build performance, make sure this is the only one you are running on top of a Vanilla game.

After starting Oolite, press Shift-F to show the frame rate on the screen, then fly around.

Note

Note that the settings discussed here are not those from the Hidden Settings in Oolite wiki page.