This is all defined in a part of the code I never look at and only briefly understand. I do see however that the code starts with a time interval of 0.01 sec. That would give an upper limit to the framerate of 100 and at that point is not OS dependent. But after that all kind of other routines are called of which part is OS dependent.
As far as I remember is the full screen FPS capped by the monitor refresh rate, but the windowed mode is not capped. But, this might happen later on in the code in the OS dependent part.
Now seeing full screen FPS values of 100 on the mac in trunk, might suggest that Ahruman removed the limit of 60 for the mac . For the graphics it makes no sense to do more calculations than the monitor can refresh, but for collision calculations, it still makes sense to calculate more smaller changes if possible.
I recall Jens telling me some time back that the 100fps that my Mac shows as well in windowed mode are actually a lie, and the real frame rate is only shown in fullscreen mode.
Split from "Suggestion to increase missile damage" in Suggestions, as it seemed that there were two parallel discussions going on.
Regarding framerates, one must be very careful when making statements like "1.76.1 runs faster than trunk" or similar. In reality, benchmarking and performance comparisons are extremely complex tasks. I find it very unlikely that someone would be able to define a minor speed improvement in trunk (or a performance regression for that matter) without very well set-up and executed benchmark or without profiling, for those with direct access to the source. I can easily say that trunk runs slower on my system sometimes than 1.76.1, but does this mean anything? Certainly trunk will run slower than 1.76.1 if the test run on trunk was done with 120 entities in the universe and 90 collision checks happening and the test run on 1.76.1 was done with 40 entities and 1 collision check ongoing. In order to be able to directly compare, one must set up a test run which will be exactly the same on both versions and will stress the system in the exact same way and still, things like available computer memory, cache hits etc. should be taken into account when benchmarking between different runs.
So, let's not jump to conclusions about the speed differences between trunk and older versions. There are indeed performance optimizations in trunk at the moment and they should be visible if a proper benchmark is run between the two versions. Would they affect the game in a way that playability is different? I don't really think so. If there are cases where there is a visible performance drop between versions, then my best guess is local driver issues (see recent Tricky's framerate horrors with Nvidia's multi-threading driver setting) and not changes in code performance.
The difference I noticed happened with only 5 OXPs installed, exactly same OXPs in both 1.76.1 & 1.77 trunk.
Loaded same save on both occasions. In 1.76.1 right after launch I had 54 entities present, shift+F reported a fluctuating FPS value of 59-60, no more stutters than usual (a tiny hiccup every time a ship is added). But 1.77 trunk showed 53-56 FPS with fewer entities (only 44) present, and player ship movement didn't feel as smooth as I'm used to, hence my question about additional checks running.
another_commander wrote:
(see recent Tricky's framerate horrors with Nvidia's multi-threading driver setting)
In which thread (I'd like to see what this is about and my searchign efforts failed)?
(see recent Tricky's framerate horrors with Nvidia's multi-threading driver setting)
In which thread (I'd like to see what this is about and my searchign efforts failed)?
I think a_c refers to this thread - specifically, Threaded Optimisation on nVidia cards, which if enabled can do strange things to Oolite's fps (and other misdemeanours).
Heh - 'other misdemeanours' brings to mind a classic Ian Drury song. <chuckles>
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
I get a steady 99 FPS on my machine in full screen mode and using no shaders. Using simple shaders I range from 50 to 80 FPS. Full shaders is a little sluggish for me on this machine. This is using Windows 7 and Oolite 1.76.1 alpha release. My monitor refresh rate is set to 85.
SolarTech proudly presents the Plasma Turret Regulator Device Apparatus, aka the Turret Toggler
Having exchanged Win XP for Win 7 64-bit today, I now get a steady 75fps - which matches my monitor's maximum refresh rate. It would seem that my GPU and monitor prefer Win 7 - the game runs smooth! I've been absorbed this evening with configuring Win 7 to my liking, training it. I think I like it - a lot!
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
Just as XP was WinME "done right", Win7 is Vista "done right".
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied