Author Topic: Frame rate, it's been dropping.  (Read 2133 times)

0 Members and 1 Guest are viewing this topic.

Offline Spoon

  • 212
  • ヾ(´︶`♡)ノ
Frame rate, it's been dropping.
A bit of background:
Recently, I ran into this issue where the framerate would take a massive nosedive when targetting multiple ships, using a F hotkey. I complained a bit to poor DahBlount about it, setup a retail testcase and narrowed down the nightlies. The test case is simple, a whole bunch of hercs in an otherwise empty mission. All under the F12 hotkey.

Now, with the 17-11-24 nightly, there wasn't a massive noticable framedrop, while with the 17-12-06 build, framerates would drop to a paltry 24 fps the moment the F12 key was pressed and the targetting brackets popped up. DahBlount and m!m (I think?) got onto the case and did some coder magic to batch render stuff and what not. I'm not a programmer, I know jack****. And sure enough, framerates went back to previous levels.

However.

Framerates were still kind of bad. Constantly dipping under 60, in senarios where you wouldn't really expect them to. I stared myself blind on the Render Hud Gauge numbers.

(There's not a lot of hud stuff going on here, why would it have numbers higher than all the other things combined? This mission just has a bunch of rocks and a handful of ships, its barely going at 60fps?)

While Axem was looking into possible optimizations of LUA on Frame things. Surely these numbers seemed excessively high compared to the rest of the engine subsystem profiling?

But then this morning I woke up and thought to myself "why don't I just... run some benchmarks?" So run benchmarks I did:

(Click for google doc instead)

The test I did was simple, but consistent each time. I ran the above retail (with mediavps) test case, I'd start frap's benchmark from mission start, and when the inmission timer hits 10, I hit the F12 hotkey for the brackets. For 20 seconds total.

At first my objective was simply seeing how bad the targetting brackets affected the frame rate. Starting with the 'EX-12' build (which is basically a nightly from somewhere early feb, but with multilock things). Well, that framedrop doesn't seem so bad? It drops a bit from the 80's to 72.
Then I ran the build I knew was borked, where you can see the framerate nosediving after F12.
And then I ran the build from 2017-11-24, which I had narrowed down as being okay before. This is where things got interesting for me. Since I was looking for the impact of the targetting brackets, I was suprised to see it dropped to the exactly same framerate as the EX12 build. But the other very noticable thing, is how the framerate is nearly _double_ before the hotkey is pressed.

And then I ran 3_7_4 and well. The numbers spoke for themselves. There was no drop whatsoever with the hotkey. But the framerate otherwise seemed to hold steady at 125 compare to the 138-140 from the other build.
So I started the narrowing down process. 3_7_4 was released in 2016 in July. At what point did things degrade so much? After repeating the test over and over I finally hit the build from 2016-07-27. This one seemed fine like 3_7_4. But then the 16-08-15 build started getting finicky. There was a noticable drop, but not as much as all the builds that put the framerate to a consistent 72. What followed was some more narrowing down.
I didn't nail the exact build because I got a bit tired of it at this point. But its safe to say that somewhere between 2016-08-01 and 2016-08-09, something started putting a dent in the framerate when it comes to the target brackets.

Now that's just the targetting brackets being hosed. But lets fastforward back to the present. I am aware we've had a bunch of lightning rendering changes, and everythings looks a lot nicer with the GGX we have currently. But the framerate (for me at least) seems to be going down the ****ter with recent builds. (Yes, I know, its still 80 to 90 fps, but compared to the ~130 we've had before? That's a good 40 frames gone.)
Another thing I noticed during testing was that there was a noticable drop when looking directly at the sun. Take a look at the 02 24 Stargaze numbers (most recent nightly I could find). When it goes from 100 to 70 is where I rotate the ship to look into the sun. Then the part where it drops to 60, is where I also hit the F12 key while having the sun in my FoV. (and the last three 90's when I rotate my view to empty space).

Then I ran the build from 17-11-24 again, twice. And did the same as before, look into the sun. No drop in framerate. Any drop in there is because of the targetting brackets being active and in view.

So to sum things up after all this rambling:

Hud brackets started tanking FPS somewhere at the start of August 2016
Recent builds from somewhere around the start of December 2017 have started tanking FPS overall. Looking at the sun being a noticable drop.


*Note regarding the NO FB bits: As I started testing the older builds, there was a point where the framebuffer thruster flag changed names, so most of the older builds were tested without them. With every other setting being the same. I did some tests after that on recent builds with framebuffer thrusters disabled. It seems to gain my particular system roughly 9-10 frames with them disabled. It seems to be unrelated to any of the other things I mentioned though. As the drops with brackets and the sun were the same with or without FB on or off. But it did foul the test a little bit.

My setup is a i7-2600k (stock speed), 16gb ram, and a GTX960 (upgraded recently from a 760. The 960 was not my first, second or even third choice. But thanks to those awful cryptocurrency miners, getting any kind of videocard nowadays is nearly impossible. Everything is out of stock and triple the price they are suppose to be. This was the only one that had enough displayports for my new triplescreen setup and wasn't pricejacked up to infinity) on windows 7.
Sure, hardly the latest and greatest. But probably a more powerful machine than many an average pc gamer is going to try playing freespace with, I'd wager.

[attachment stolen by Russian hackers]
Urutorahappī!!

[02:42] <@Axem> spoon somethings wrong
[02:42] <@Axem> critically wrong
[02:42] <@Axem> im happy with these missions now
[02:44] <@Axem> well
[02:44] <@Axem> with 2 of them

 

Offline m!m

  • 211
Re: Frame rate, it's been dropping.
The time range (August 2016) is exactly when my TTF changes were merged which also changed how most 2D operation were done. Could you test this again specifically with the 02 August 2016 and 01 August 2016 builds?

 

Offline Spoon

  • 212
  • ヾ(´︶`♡)ノ
Re: Frame rate, it's been dropping.
Added 02 august to the google doc. That seems to be the culprit build.
Urutorahappī!!

[02:42] <@Axem> spoon somethings wrong
[02:42] <@Axem> critically wrong
[02:42] <@Axem> im happy with these missions now
[02:44] <@Axem> well
[02:44] <@Axem> with 2 of them

 

Offline m!m

  • 211
Re: Frame rate, it's been dropping.
I made some changes to how FSO handled HUD bracket rendering which improved the performance significantly for me: https://github.com/scp-fs2open/fs2open.github.com/pull/1627

 

Offline Spoon

  • 212
  • ヾ(´︶`♡)ノ
Re: Frame rate, it's been dropping.
This build actually managed to make things worse on my end. Now I just get a consistent 72 fps regardless if the targetting brackets are up or not.

And in that asteroid mission; from this profiling it just seems the same numbers that used to be on render hud gauge are now just shifted to nanovg flush frame. Ergo, no kind of gain there?


Urutorahappī!!

[02:42] <@Axem> spoon somethings wrong
[02:42] <@Axem> critically wrong
[02:42] <@Axem> im happy with these missions now
[02:44] <@Axem> well
[02:44] <@Axem> with 2 of them