Page 1 of 3

The nature of OXP on frame rate...

Posted: Mon May 26, 2008 9:20 pm
by dalek501
I seem to be experiencing random frame rate problems. I say random, because it doesn't neccessarily seem to be just down to the amount of action on screen.

For example leaving the station and angling up so there is nothing on screen but dust and stars, it has happened. Or plowing towards the sun for a skim when there is no other ship around. It seems to last for around 5-10 seconds sometimes (occasionally longer) before 'freeing' back up.

I have a P4 3.3 ghz, 1 gb ram and a nvidia Geforce FX5600 card with latest drivers. I have tried shutting down all unnecesary running items as far as I dare.

I was wondering exactly what the nature of the OXPs are on the frame rate? I have around 27 OXPs. Is that too many? Do they affect general play or is it only when leaving a station or hyperspacing that you experience slow-ups from them?

I can accept problems at launching or hyperspacing but I find the slowing down during play annoying! :shock: :wink:

Posted: Mon May 26, 2008 9:26 pm
by Disembodied
I think it would depend on what OXPs you have. Some are hungrier than others! The version of Oolite you're using can also have an effect.

One thing about the game is that it models everything going on in the system whether you can see it or not – so somewhere, pirates are jumping traders, miners are mining asteroids, and so on. Pre- (I think) 1.69, a large object blowing up would create a LOT of debris, which all actually exists in the game, and has to be modelled (this was limited in later versions). So if you're running an older version with OXPs which can create big ships which blow up, you could have a lot of debris out there slowing things down. Or there could be lots of mission scripts holding things up. Or some combination of the above.

Posted: Mon May 26, 2008 10:22 pm
by dalek501
I see. I'm running 1.71.

I've managed to shut down a virus scanner which I forgot I had running. That seems to have eased the problem. A bit.

Now I know a bit more about how OXPs work maybe I can tinker a bit and take a few out until I need them.

...

Posted: Mon May 26, 2008 10:23 pm
by Lestradae
Adding in a second gig of RAM might free up a lot.

Posted: Tue May 27, 2008 7:59 am
by Commander McLane
Disembodied gave the correct interpretation:

The main difference between any old version of Elite and Oolite is that Oolite is not player-centered. Old Elite basically worked by adding the odd ship around the player, and nothing happened outside his scanner range. And there was only interaction between NPCs and the player.

Oolite is completely different to that. As you enter a system either by jumping in or by launching after loading a game, the whole system is created and populated in all its glory. And, wherever you are in the system, all the NPCs interact not only with you, but with each other as well. So some military ships may blow up a Thargoid Carrier at the witchpoint, whilst you are in the final stages of approaching the station, or even while you are docked! You won't see it, you won't know it, nevertheless it is happening. And of course these actions need to be constantly processed. And in case of big explosions, a lot of debris is created and starts floating away from the explosion. Even if you never noticed the explosion itself, you will find every single bit of the debris hours later, penetrating deeper and deeper into the void (provided you didn't jump out an in again, of course). So Oolite has to keep track of every single entity in the system, whether it is in your angle of view or not, whether it is close enough to be drawn anyway or not.

The keeping track part is relatively easy, but creating all the parts is a relatively expensive operation, therefore the noticable studder when it happens.

The debris created from an explosion is calculated from the mass of the exploding object, which itself is calculated from its dimensions, I think. Staying with the example of the Thargoid Carrier, it is relatively huge. So in 1.65 and until a while later, blowing it up would result in creating about 300 to 400(!) pieces of alloy (after the explosion itself and the only temporarily existing wreckage components). All this debris is of course in the first split second very compact, so a lot of collisions between the small bits took place. That means that Oolite has to check every single alloy for collisions with every single other alloy, and this was even more resource-consuming. Thus, shortly after the explosion of a Thargoid Carrier, the number of entities could jump to about 400, while the number of collisions would completely jump out of the roof, to some 30.000 to 40.000(!), for about a second or two. On my system that meant a sudden drop in framerate from 100 to about 3 or 4 for about one or two seconds. Then it would return to a playable level of 50 or perhaps 33. Not to 100, because the burden of having to keep track of 300 entities still weighed on my computer. On my configuration having more than ca. 270 entities will result in a permant drop of framerate from 100 to 50. For even more entities it will drop further, although I feel it's playable also with 25 FPS. I guess the limits depend very much on the computer configuration.

Anyway, the considerable hickups produced by Thargoid Carriers lead to the programming decision to limit the debris created in explosions.

But still, if there is a lot of action going on in your system, even if you as player are nowhere near the hotspots and don't even notice, you will notice the hickups especially from creating a lot of entities in short time.

Posted: Tue May 27, 2008 8:48 am
by dalek501
Cool. All that makes sense to me! So would Lestradae's idea improve things? Or would a faster processor do the trick? Or Both!? Short of buying a new computer I may be able to stretch to more RAM if it would make a difference?

Posted: Tue May 27, 2008 9:37 am
by krombart
I am experiencing the same problems. My Configuration is as follows:

Athlon64 XP 3700+ (although I use a 32 bit operations system)
1024 MiB Ram (2x512 MB Dual Channel)
Samsung SP2504C HD (does read from at over 65MiB per second)
Nvidia GeForce 7300 GT

I bought 2Gib Ram and tested the above configuration with 2Gib Ram, but
the random changes in FPS are still there (Galatic Navy OXP is unplayable with this! :( )

Fortunately the store took back the 2Gib Ram Chips (as they have been of no use to me) and refunded me the money. Great Shop!

As I had the 2 Gib Ram Oolite used between 700 and 800 MiB ram. So ram is not the problem.

So .... what's the problem here?

Posted: Tue May 27, 2008 9:42 am
by another_commander
How often do these slowdowns happen? Are they more than once per entry in a new system?

krombart: You are on Linux, correct?

Posted: Tue May 27, 2008 10:18 am
by dalek501
In my case yes, they can happen more than once in the same system. But the previous explanations of what is happening in each system at any given time explains it for me.

What had seemed odd to me, is that I have been in big battles with no real slow down, but then had a problem when little seemed to be happening.

But now I understand.

Posted: Tue May 27, 2008 11:02 am
by krombart
Yes I'm on Linux

For more verbosity: I use the Nvidia Driver 173.08 (Beta Driver)

I tested that a bit: I removed my whole addons folder, created a new jameson, edited the savegame to have 1 M credits to do a little testing.

In a flight to leesti nothing happend at all, I didn't even meet another ship.
Midway from Witchspace Beacon to Planet the FPS dropped from average 50 to average 20 for 5 seconds. My FPS is changing between 20 an 100 with an average of 50.

Do a little shopping at Leesti and flying to the next system. After Entry I meat a few ships and shot them. FPS around 60 average. Midway through the system FPS at average 20. fight midway through the system FPS at average 20.

With my whole AddOns Folder :

aegidian-special.oxp
aphidv2.oxp
AsteroidStorm.oxp
att1.oxp
behemoth.oxp
black_baron.oxp
BlackMonks.oxp
Cargo_wrecks_teaser.oxp
cobra3njx.oxp
cobraclipperPC.oxp
Commies.oxp
Config
custsounds.oxp
Dictators v1.2.oxp
Dredger.oxp
dwcobra3.oxp
eagle2.oxp
ettBeaconLauncher.oxp
Executive Spaceways v2.2.oxp
ferdelance_ng.oxp
FTZ v0.13.oxp
Fuel Tank v2.0.oxp
Galactic_Navy.oxp
genship.oxp
globestations.oxp
greekshipset1.oxp
GrittyCoriolis.oxp
gwxstations.oxp
hOopyCasino.oxp
Hotrods.oxp
impcourier2.oxp
ionics-1.2.1.oxp
ixianships.oxp
Lave.oxp
localhero_1_05.oxp
longway.oxp
murgh_Xships.oxp
newships.oxp
nuvipers.oxp
oldships.oxp
Ore_processor.oxp
outrider.oxp
RandomHits.oxp
Rock_Hermit_Locator1.2.1.oxp
spyhunter.oxp
s-ships1.oxp
System_Redux.oxp
taranis.oxp
tianve.oxp
tori.oxp
transhab.oxp
UPS-courier v1.4.0.oxp
wolfwoods_variants.oxp
x-ships.oxp
YOUR_AD_HERE.oxp
YOUR_AD_HERE_set_A.oxp
YOUR_AD_HERE_set_B.oxp
YOUR_AD_HERE_set_C.oxp
YOUR_AD_HERE_set_D.oxp
YOUR_AD_HERE_set_E.oxp
Zz-Oo-Haul.oxp

I have overall average of 20 if nothings happens and 15 to 9 in fight. So maybe one could say: "It scales, but performance was not best to start from."

Now on Oolite 1.71.2 *G*

Posted: Tue May 27, 2008 11:57 am
by Commander McLane
Myself I am on a MacBook Pro with a 2GHz Core Duo, an ATI Radeon X1600 with 128MB VRam and only 512 MB Ram. Yet I have the average 100 frames per second.

But there are a few OXPs in your collection that I deinstalled, because they resulted in a considerable drop in framerate. E.g. YOUR_AD_HERE slowed my system very much down when I tried it, so I don't use it anymore.

Which galaxy are you currently in? You have a couple of local OXPs from Galaxy 1 (black_baron, Lave, longway, spyhunter, taranis and tianve) and also one from Galaxy 2 (ionics). Outside their respective galaxies they are of no real use. Although they also shouldn't consume considerable processor-power.

Ixianships features the infamous Ixian Battlecruiser, a ship bigger than a station (but you know that, you have posted the screenshots), that nevertheless attempts to dock with a station, a manoeuver that generally results in quite spectacular explosions. Until this peculiar behaviour was stopped in 1.71(?), as a further result of this the station would be knocked off its position and sent into the void with relativistic speeds, which was a particularly weird experience for those commanders who managed to be on that station while this happened, and tried to launch afterwards.

Don't know whether some of the other OXPs a particularly resource-hungry. Perhaps somebody else does?

Posted: Tue May 27, 2008 12:16 pm
by Svengali
My Localhero take some more ressources too. If you don't want to do these missions - just remove it. You could only rename the folder of currently unused oxps -> 'Localhero.oxp' to 'Localhero'.

BTW: What kind of oxp is 'Config' ?

Posted: Tue May 27, 2008 12:22 pm
by Eric Walch
Svengali wrote:
BTW: What kind of oxp is 'Config' ?
It is just the Config folder I assume. I also have it to override some of oolites internal files like the keyconfig.plist.

Re: The nature of OXP on frame rate...

Posted: Tue May 27, 2008 12:30 pm
by Frame
dalek501 wrote:
I seem to be experiencing random frame rate problems. I say random, because it doesn't neccessarily seem to be just down to the amount of action on screen.

For example leaving the station and angling up so there is nothing on screen but dust and stars, it has happened. Or plowing towards the sun for a skim when there is no other ship around. It seems to last for around 5-10 seconds sometimes (occasionally longer) before 'freeing' back up.

I have a P4 3.3 ghz, 1 gb ram and a nvidia Geforce FX5600 card with latest drivers. I have tried shutting down all unnecesary running items as far as I dare.

I was wondering exactly what the nature of the OXPs are on the frame rate? I have around 27 OXPs. Is that too many? Do they affect general play or is it only when leaving a station or hyperspacing that you experience slow-ups from them?

I can accept problems at launching or hyperspacing but I find the slowing down during play annoying! :shock: :wink:

Could you do this for me, and everybody else who wishes to test this..

Launch from a station... now hang around and see if it launches big ships with escorts...

when it does, notice if, when the first escort is launched, if your frames drop dramaticly...

Right up and until the first escort is crashing into the rear of the big ship , that is usally an Anaconda or Boa...

after that you will see the rest of the escorts launching, and your frame rate should have stabalized again..

furthemore.. abnormal behaviour...

if you stick around you will prolly see that the escorts, are either

A entering a wormhole in the docking lane
B missing the Wormhole cause the wormhole was created by the big ship that was bumped out of the docking lane, when the first escort crashed into it

In case of B

You will prolly now see scavengers in the form of some adders and a single cobra mk III, that are picking up alloys from the escort ship that crashed...

After that the scavengers come to a hold.. if there is a cobra MK III, it will usally head for the sun..

on a side note: the funny part.. the Escorts now begins to escort the adder Scavengers, the Scavengers then turn to be shuttles and head to the planet surface, where if it got escorts, the escorts will impact with the surface...

Posted: Tue May 27, 2008 12:30 pm
by CaptKev
System Redux uses quite a bit of memory for it's 1024 x 512 textures, you could use the 256 x 128 pixel alternatives instead.