RinaldoGandolphi wrote: »The problem with games performance issues likes solely with their use of the TCP protocols. TCP has a ridiculous amount of overhead, and every single packet or group of packets had to be ACK. To make matters worse TCP has built in congestion controls that assume packets not ACK or revived with the TTL value are assumed to be loss due to network congestion, so it will dial
Back throughput and attempt to resend.
When you got two zergs in pvp all mashing skills and sending the server packets it must ACK and process with TCP what do you think is going to happen?
There is reason no other triple A studio since the early 2000’s has used TCP for any real time or FPS combat game.
ZOS is t going to re write their net ode to properly use a UDP implementation so no amount of game changes short of straight cooldowns is going to do much of anything to fix the issues, 99% of the problem lies with the idiotic choice to use TCP which scales poorly and has a huge amount of overhead. TCP wasn’t designed for this, there is a reason other real time games started using UDP instead with their own custom stack on top of it and client prediction.
Good luck
ok i'm not an IT former, i only studied maths.
from what i understand this is related to single vs multi packages sent to server issue.
Can this issue be fixed ?
Knightpanther wrote: »Trust me its addons, I never use them and I only ever experience bad server performance in Cyrodiil, and that is pretty rare for me.
Be safe
RinaldoGandolphi wrote: »Using TCP for this game was a huge design blunder on their part, and I don't think they will re-write it and move away from TCP to UDP although doing so would probably solve most of their lag issues.
Gandrhulf_Harbard wrote: »Knightpanther wrote: »Trust me its addons, I never use them and I only ever experience bad server performance in Cyrodiil, and that is pretty rare for me.
Be safe
I've been having desync with looting corpses since I returned a couple of weeks ago.
A lot of posts, including some from ZOS say "hey, it's the add ons".
So I uninstalled all my add-ons, and played for a day.
Desync still happened just as much, occasional "lag spikes" still occurred just as often.
But the game-play experience, because the native UI is so appallingly bad, was excruciatingly bad I gave up and went back to my add-ons.
Having played with and without add-ons on the same day, on the same server, with the same internet connection I feel fairly certain in saying the effect of add-ons on game performance is, effectively, negligible.
The key factor is almost certainly on ZOS' side of the fence.
All The Best
The reason server performance is so terrible is because they have utterly failed to keep up with the growth of the game's population. They are either unwilling or unable to spend the money necessary to upgrade the servers to what they actually need to be to accommodate the current player base and rate of growth. Any other reason given is just an excuse.
These are not an issue when we are talking about Big O notation. The additional + or - in a damage calculation do not affect the run time in a meaningful fashion. F(x) = x and F(x) = 3*x+5 are both classified as O(n).imo the server got this bad performance because all the calculation responsable for the lag and frame rate drop are made server side. Those calculations are liked to:
- many skills have multiple effects (dmg, buffs, debuffs) which make the calculation more complicated and time consuming
Well, stripping these away would make the combat more clunky. Performing actions on your character should feel fluid and entertaining. What difference would it make if you had a huge lag where you can perform actions every 2 seconds versus a scenario where you had a minimal lag and you could perform actions every 2 seconds?- skills don't have a long enough global cooldown to prevent too much ping a request to the server
- animation cancelling with LA weaving is increasing the stress on servers
Yet again, these do not affect the big O notation.- there is too many buffs and debuffs available and they are splitted into major and minor buffs
Yes, dynamic environment means the collision detection algorithm has a bigger Big O notation. With static environment you could use sweep and prune with a O(n), but with dynamic environment, the notation changes on the worst case scenario to a O(n^2). But! A static environment would be quite boring and would feel like it is not 'alive'.- objects, containers and npc are dynamic so the server has to tell the client were they are (npc) and what they are and what they content (objects and container)
to name a few..
As said, making the skills have only 1 effect would not affect the calculation's big o notation in a meaningful way, rendering the 'fix' useless to combat lag and ping. The same thing with buff/debuff proposition. Switching the location data from server to client would still keep the collision detection algorithm's Big O notation as O(n^2). And worst of all, every action performed on client side is vulnerable to hacking and cheating - and cheat detection is usually quite demanding process when it comes to run times!i really think Zenimax devs should have a look on those points and improve them instead of putting more ressources in hardware.
a way to adress those issues is as follow:
- Make skills have only 1 dmg, heal or buff effect
- Increase the global cooldown to skills to 1 sec and make LA share the same global cooldown (clunky combat maybe but at least you don't play on a slideshow)
- remove the animation cancelling on LA as they share the same gcd with skills
- standerdize buffs and debuffs, no more minor and major one (less factors for the calculation), and make some of those buffs and debuffs available through foods, drinks and potions
- npc position should be known from the client rather than the server so less useless informations transiting, the same thing for objects
- container should have an RNG tool when interacting with it, so the server won't have to comunicate to the client what they contain. also since rng players will be able to interact with the same container and get different loot depending on their rng. each container have 1 loot.
hope this can help you Zenimax devs