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.
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.