Tree of Savior Forum

Micro-stutter / FPS-drop every second (fix included for the devs of ToS)

I’m not talking about permanently low FPS because of a bad graphics card. I have around 200-300 FPS (i7 4790k, gtx 1070, 8 gb, 144 Hz, vsync off).

I’m talking about the delay / stutter that comes every second and makes the game experience absolutely horrible (playing Wiz/Pyro/Linker, hopefully irrelevant though). Just open the map (M key) on any field map and run around, it becomes even more evident. Even with the overlay map invisible, all of the maps are stuttering horribly every 1-2 seconds. The number one requirement for any game is that it runs fluidly. Else you can’t expect anyone to play it, let alone invest money into the game. Your game is going to die if you don’t fix the stutter issue.

I also spent about 4 hours on google to see if anyone managed to fix this issue. However it turns out this is not the fault of the users, it’s the fault of bad coding from the programmers of ToS.

I’m a very experienced game developer myself (14 years of gamedev) and I can see this is most definitely a CPU-bound issue resulting from bad programming / implementation of things that happen in the main loop of the game.

The game is running certain repetitive tasks in the same loop as the render loop (= same thread) resulting in hickups when it should really be asynchronous to achieve fluid gameplay.

The fix is rather easy: Make those synchronous coroutines running in the background asynchronous. Et voila, all the FPS issues and lags are gone because the render thread is completely independent from the background tasks.

I can see that most functions in this game run synchronously. Just kill 10 mobs instantly and notice the delay while the game recalculates stuff. Those calculations should happen asynchronously, not delaying the frame.

Performance improvements are important. Not just important, they are required.
I played this game for a while and it certainly piqued my interest but I’m not going to play a game that stutters every second. I’ll come back if you fix it.

Please send this to the developers / programmers of the game.

The devs might be inexperienced and need to investigate this issue. The keyword is async.

@GM_Francis @GM_Sebastian

Relevant links:
http://hastebin.com/oqugujabey.scala

No more addon development or even playing Tree of Savior until imc gets their act together. This includes:

  • Fixing performance issues once and for all. This means >= 30 fps no matter what you’re doing in the game and no more microstutters/freezes.
4 Likes

I just got pokerus :disappointed:


lag and unbalances are all worlds problems…

problems we all wish an end to…

I don’t know if youve been around for a while. They already improved the fps a little a couple of months ago. I am worried that that was all they were capable of.
In my opinion there are three possibilities:
a) they are working on a solution and it will take a while to be implemented. They are working on a lot of other stuff as well. And everytime they fix something, a new (or old) Bug Shows up.
B) they simply don’t know how to fix it .
C) it would be too expensive too fix it, so they only do minor fixes.

One example is gravity Pole of psychokino. That skill needs to be channeled and it would pull all enemies around into that Pole. You had a fancy particle System, some dmg and an aoe cc. The skill kept crashing the Client - either yours or the Client of a random Player nearby. It took serveral months for the devs, to let us know they know about it.
Another couple of months later they “fixed the Bug”. The solution is a reduced particle System , a reduced cc( because Mobs and ppl are able to Walk out of it now) and I tell you what - it still crashes the game. Surprise surprise.

Its just one if many many examples. Since you are very experienced in Game development you know how likely it is that the developers will somehow read this thread and say "Oh - asynchronous programming is the solution! Why didn’t we ever thought of that?"
I bet they know what causes the Problem but they don’t have the time , money or ppl to solve it.

Cheers :smile:

Edit: ouh Boy, the horror when you hit m/n accidently and say “Oh sh*t, the Mobs are gonna kill me while i wait for the world Map to load”. #just ToS things

Based on the GM meet up IMC has some big plans to improve performance, so let’s hope they get on that, from the event it seems like that’s their top priority.

If you experience micro stuttering every second with decent fps so its not weak pc issue, try hovering over cancel button in questlog on quests if its flickering abandon quests or finish them and it may stop. I experienced this bug recently and had no way to find out what was causing it when I was doing quests in different area of bugged quest. It stopped for me after I canceled the cultprit quest which I had no issues with before on other characters.

Thanks for trying to help but this thread was posted before the second optimisation. The micro stutter is said to have been resolved.

Well I got it just a couple of days ago because of buggy quest, and I’ve seen couple of threads about similliar issue to mine with no replies.

Similar issue.
Orsha server.
After yesterday maintenance.
Log off alot of times after lag time and later lost missions runs today for this issue (log in again and i can’t see re-enter option because probably all the party kicked).
Only my issue or general issue?

I don’t know if this only me but I have some idea for the loading screen. I think they should load the animation or transfer the data after the loading is completely finish. Because from what I’ve experienced, the loading is not completely gone but the animation is already going in the background. This makes the loading takes more time because of the multiload for the game.