Tree of Savior Forum

Network code is the cause of a lot of fps/performance issues. Video inside

Network Code Bottleneck

Wrote a script to output the names of the objects as they load in. One of the major bottlenecks for ToS performance is the handling of network code. It appears to me that the game blocks and processes all of the received data before it’s able to continue on to the rendering code (probably single threaded). That’s what causes all these freezes whenever you’re running around and load new data. While the actual graphics code still needs optimization as well, there’s a ton that needs to be done in the network code as well. The code should be processing this data asynchronously so the rendering code doesn’t stop as it’s receiving the data.

Once the data is loaded and you move around, the freezing stops (unless there’s new data coming in) but the fps is still pretty low. This is where the rendering code still needs improvements.

Will it ever happen? Magic 8-Ball says Outlook not so good.

70 Likes

inb4 deleted thread
###################

10 Likes

If you have good internet you don’t really run into much networking problems.

However, the low FPS in TBL I believe should be improved.

there is hope for improvements in the game engine?

I don’t think so since they probably dont have a big budget to keep releasing new content and to fix the optimization trouble.
Wich one will keep the playerbase?

You should make a fix. maybe they’ll mention you when they steal it for the base game.

2 Likes

Screenshotted OP in case it gets ninja-censored.

3 Likes

Can it be fixed with addon?

2 Likes

I was thinking this, actually. Seeing as how the reason for the FPS drops isn’t so much people on your screen as much as the game being unable to register every action being thrown out without choking. It’s equivalent to a slow eater of whom is at a hot-dog eating contest.

That and while the efforts of those who created the sfx addons increased FPS, it didn’t so much solve the problem as much as just lessened the outcome rather than the skipping of data.

I’d normally blame the Korean latency laziness, but even they experience skips that support the fact that the actual processing of information is spaghetti. I mean hell, Elsword’s been alive for a decade and it’s only ever gotten one network update that in actuality never did much.

1 Like

I’ve seen this in numerous other korean games, like Aion:
when some action from other players is going on, the entire game blocks until it has recieved all the neccessary network data in order to fully process what’s going on.

Another thing why Aions asset loading was incredibly slow and caused fps drops was that its files, especially xml files, were encrypted in such a way that it’d take very long to decrypt and load them, causing huge fps drops when new character data needed to be loaded. Someone on the NA Aion forums decrypted all xml files and thus was able to remove all asset loading frame drops from the game.

I’m not sure how TOSs files are decrypted/managed but i wonder if this might be similar to Aions xml-case and using decrypted game files would give a huge boost for asset loading since the game wouldn’t have to do the decryption on the fly.

1 Like

@STAFF_John @STAFF_Ines @STAFF_Max @STAFF_No @STAFF_Ethan @STAFF_Amy

2 Likes

better make a copy of this

1 Like

inb4 white knights flag this thread to hell

7 Likes

Just hire @excrulon in the Dev team already @hkkim.

15 Likes

Slowly Walks in With his Shining White Armor

@Y100Grand Why would a white knight flag this thread? Hell this isn’t new. Anyone who has played ToS for a good amount of time knows the coding is horrible. Hell the game runs on one processor.

Dust his shoulder off

There was a ton of information awhile back where they did test to find why ToS ran like crap. It is what it is, and it’s highly doubtful as I’ve been saying for months that it will ever see much more then slight improvements.

5 Likes

In addition to that is game traffic is mostly TCP, requiring a full handshake. So this means everyone will get graphics lag, considering its a safe bet the average latency of a player is 100ms and up.

Since this game was developed in Korea, they did not experience any of these issues considering how good the Korean Internet infrastructure is. The problem now is taking their game and hosting it for an international audience where the average latency is waaay higher than the Korean average.

Disclaimer: The destination IP addresses were removed, so I do not get accused by IMC of blah blah exposing blah whatever.

AGAIN: Disclaimer: The destination IP addresses were removed, so I do not get accused by IMC of blah blah exposing blah whatever.

4 Likes

You can easily find the destination IP in one of the game config file, so no need to hide. It’s a public IP of AWS anyway.

I’m quite surprise they use TCP as well, considering many older games already use UDP.

1 Like

I don’t want my @ss banned and my effort in leveling my toon to get wasted. I do not want any misunderstanding with IMC.

I really hope that they gawdamned get their act together and realize that they gota preserve and nurture their customer base made up of mostly zealots. Why? Because they can milk the players for the next decade if they can only do this game right.

For ■■■■■ sake the players are coding mods. Its like, I like this game so much, ill spend my own time and effort for it. Translation: Take my money, don’t screw this up.

@hkkim

6 Likes

IMC be like

23 Likes