Tree of Savior Forum

ELI5: The new FPS optimization

I have no real coding or computer science background. Does the fix seem reasonable in a real world application such as GVG or world bossing?

EDIT: Basically just looking at the last chart, are we going to see a theoretical 200% increase in overall rendering time / FPS?

No, the first chart is the overall rendering time to generate a frame, including characters and effects and all the other stuff. The first chart is (supposedly, according to IMC) the result of all of the changes they made.

“perf1 avg time: 31.6ms”
“perf2 avg time: 25.5ms”

For a difference of about 6.1ms.

After that this chart appears to degenerate into moon math. They described the average performance increase to be “0.8 times”, which I assume was referring to the fact that 25.5 is 80.69% of 31.6.

I believe what we’re looking at here was an overall framerate increase of 19.31%.

We don’t know what the environment was in which they were doing their tests, but I feel it’s a safe bet it wasn’t MVP/GVG type conditions. Even if it was, 19.31% isn’t enough to make these things playable.

In short, we’re still ■■■■■■.

2 Likes

Whats +19.31% of 5fps in GvG?

6 FPS :kissing_heart:

5 Likes

Don’t take my analysis too seriously. This chart is gibberish. The second chart has:

"perf1 avg time: 0.1ms / max time: 6.5ms

perf2 avg time: 0.5ms / max time: 74.8ms"

In which the “after improvements” measurement, in milliseconds went up by 0.4?? And then that was declared an average improvement of 4.5 times? 4.5 times what??

Why is the equation backwards in subsequent charts??? How does that lead to 4.5 of something?

Whoever translated this had no idea what they were looking at. Or they were given something that made no sense to begin with.

1 Like

For short this will only increase your fps by 2 . xD

These charts are really confusing and lacking in information.

We’re only given the differences in avg fps and worst case fps, but not the standard deviation of fps (which is the most important to be able to play anywhere near smoothly).

The avg fps went from 31 to 39 (rounded down), which would be fine, if only the game ran constantly at 39 fps…

The worst case fps however went from 3 to only 7 (rounded down), which give us the hint that the standard deviation is still insanely high (aka your fps will still oscilate a lot between very low and very high).

What we need to play this game reliably is a worst case fps of around 30, which would be equal to a max main loop time of 33ms. With the proposed optimzation, the max main loop time equals to 137ms, so we’re still a far way from there.

1 Like

What I am shocked to find out is how the quest is programmed.

The client apparently check with the server so often on quest update, that it hurt FPS! They reduced it now… but still! This would probably be one of the biggest improvement if sorted out properly.

I hope I read it wrong. I can’t fathom someone to program quest log to check with server at every loop for every quest.

It probably was, I mean when you activated orb or items that had toabsrob thing, if you were in a group of 2 or + doing the quest the game would just freeze every 0.5s till the absorption finished for example.

It was noticeable for me with the quests that tick regularly like the one in Fedimian Suburbs or Sentry Bailey Storage… every time the quest updated there is a stutter

Edit: auto correct

It’s to draw the UI. If you do a quest that has a “completion bar” on the UI on the right side of screen, you will see a very noticeable fps drop every time the completion bar gets updated.

10 Likes

As relevant as our last optimization

Best quote here :kissing_heart:

1 Like

There’s an ELI5 underneath each optimisation. It clearly indicates how much each problem area will improve by.

Disclaimer: This may not be all the problem areas. But it will drastically reduce certain problems.

Example: The quest loop section is referring to the lag that occurs when you get a quest item popup while you’ve got a lot of quests in your quest-list (everyone if they’re using BetterQuest). The quest list wasn’t designed for people to have every quest in the game on it, this causes that issue, the optimisation in that section will greatly reduce it. The problem is caused because upon picking up a quest item the game must scan through every single quest in your questlist to check whether the item is needed in that quest or not.

1 Like

LOL. I love you. /20char