Explanations On Various Topics


Lag Compensation: The online gaming consist of gaming server and client. The client is your PC system. With this technique, the game is trying to compensate the player movement delay. So what happens is the gaming server (Your real location is on the server) is trying to synchronize with the client. The enemy you see is his client, not his real location, which is on the server. This is happening in all online games. Watch the video below.


WATCH THIS A MUST VIDEO:

Lag:
This is a term that usually describes bad network performance. Except ping/latency there are other metrics, important to your connection - thats jitter, packet loss, RTT-round trip time, IND-interpolation delay, tickrate, sim-simulation rate.

Ping is a term often used by gamers & server admins (but not only). This is the time from A to B and back plus the reaction time (to process and send the data) of the computers/servers/hops within the same connection. If the lag is noticeable in FPS Shooters, players often "lag" or "teleport", many gamers confuse this with cheating. Another way to explain ping is the amount of time a packet (message) takes to go from your PC to the server, and then back to your PC. It can be confused with RTT (round trip time) and many games show RTT for ping.

latency is the time it takes a packet to get from one device to another. For ex. from the Game Server to your PC, or vice-versa.

It's important to know that ping and latency are not the same things but people often confuse them. Sometimes latency is referred to as travel time from A to B - true latency, sometimes as travel time from A to B and back. Ping tool in Windows measures the latency but not the actual ping, some people think that's the reason why others confuse it.


RTT-round trip time- The time the signal is sent + the time to process the received data.


Jitter is inconsistency or the variation of the latency. High jitter is bad. Your ping fluctuates and that affects the connection performance.

Packet Loss is self-explanatory. It's how many packets don’t reach their final destination within a certain amount of time. That causes the rubber-banding & the bad Hit-Reg and if it's severe you can be disconnected from the server. It can be caused by many factors. If its client side you can potentially fix it but if its form the server side you can't do shit about it.

Netcode
This is not a technical term. It's often used by gamers to describe bad game programming and show flaws in parts of the game that need fixing. It's usually network related.

Tick rate

This is the frequency with which the server updates or refreshes the game, this is hz/second. If the server is 60hz it refreshes the game 60 times/second for ex. If the server is 120hz it's 120 packets per second. And if you have 120hz monitor and can maintain at least 120FPS you can fully benefit from your monitor. Some players can have issues like stuttering if they dont meet some of the requirements-monitor hz, fps or if the connection isn't strong enough.

Bandwidth is the uploads and download speeds (data transfer rate/throughput). You cannot have the lowest latency and highest bandwidth at the same time. If you optimize for bandwidth your latency will be slightly higher and the opposite- if you optimize for latency your bandwidth will be slightly lower. So you need to decide which one to prioritize when tweaking. You can have 1gb up/down but that doesnt help in gaming, you need lower latency for that. If you have above around 35mbps download and around 15-20 upload, you pretty much can play any game without problems. 




A must watch content from Battle(Non)Sense: 

Framerate
Thats how many frames your computer can render for 1 second.

Frametimes
This is the time between the frames. You can measure it by dividing 1000 to whatever fps you have and thats the theoretical frametimes you should have.
For ex. 1000 devided by 60 is = to 16.666ms

On 60fps the frametimes are 16.7ms, on 144fps-6.95ms, 240fps-4.17ms, on 500fps -2ms. Thats why you need your FPS as high as possible even on 60hz monitor. The game is more responsive and registers your mouse click & movements faster. This complements perfectly with a good connection & high refresh rate monitor and helps with what we call a Hit-Reg. Sometimes if you have a very good connection (or just live close to the server) you don't need high FPS or good PC, that's the case in general but this player will have even better Hit-Reg with higher FPS.

Refresh Rate
In general thats the number of updates for 1 second.
In case of monitors this is how many times your Monitor updates the picture (what your video card renders on the screen) for 1 second. For ex. if you have 30FPS your 60hz monitor will show each frame two times. If your FPS is 120 on the same 60hz monitor it will show only 60 frames per second because the monitor cant refresh/update faster than that.

Grey to Grey (G to G) "response time": Pixels 
response times. How fast they switch colors. Part of Monitor reaction times. The time the pixels to show grey color. Grey is the fastest to show because is the simplest (black+white). This is part of the input lag.


"input lag": There are many kinds of input lag. Keyboard, mouse, from the Button to PC, PC to Monitor, Button to pixel or the time the Monitor receives the signal + processing & showing the picture ect. This is the technological time to complete a task.

DPC LATENCY
Means Deferred Procedure Call. This is the time the device's drivers complete a task. If that takes too long it will slow down other devices.

AFD Parameters

Afd.sys is the kernel-mode driver. In Windows versions before Win10 it was possible to tweak different parameters like DefaultSendWindow, Default Receive Window, Fast Copy Receive Threshold, Fast Send Datagram Threshold ect through the registry but now everything is handled by the driver automatically.

TcpMaxDupAcks

This determines the number of duplicate ACKs (acknowledgments) that must be received in a certain amount of time. After that, the dropped segment is resent (fast retransmit).

SackOpts
This is SACK (Selective Acknowledgement). It's important for connections using large TCP Window sizes.

Receive Window Auto-Tuning Level

(TCP Receive Window or RWIN) It's important in TCP connections. Especially in older Windows versions. If it's disabled it can limit the connection's throughput (up/down speeds). You have to test it to see if you can disable it or not. Normal is good for 90% of users. It has several possible settings, Normal is default:

disabled: uses a fixed value of 64kb (65535b).

highlyrestricted: the receive window expands slightly above the default value.
restricted: the receive window expands a little bit more above the default value.
normal: the receive window adjusts constantly according to the situation. Most versatile.
experimental: This expands the receive window above 16mb. This is a very rare scenario, in servers mostly. This is bad for gaming or any other kind of casual use.



NUMBER OF HOPS IN FPS SHOOTERS 


"Let’s start with the main cause of lag. When you are put on a server far away, you will experience more lag. It’s just like real life – the further you have to travel the longer it takes. Games are no different. What’s worse, other players in the game who are located nearer the server will have an advantage over you as their experience will be much more responsive."

Source:


In conclusion I will say that the distance affects the internet connection (like everything in life - longer time to travel) it's good to have more HOPS when you live far from the server but too many will degrade your performance. The Number of HOPS depends on how far you live from the Game Servers. For players who live close to Game Servers they should have no more than 4 HOPS, as this study suggests, for optimal connection performance. In longer distances they boost the signal but too many of them can cause a delay. The connection performance also depends on how good/fast the routers/switches are. Think of HOPS as a kind of relay, boosters, an intermediate point in your connection. In general HOP is a switch or router that redirects your signal (in form of packets) to another one. 

You can check how many HOPS you have to a certain gaming server with the tracert command:

Run CMD and type tracert and the IP address of the server you play on. For Example:
tracert 176.57.159.2
This test will show you the number of HOPS as well as the ping to each of them. 

This video from Battle(non)sense is a must watch. Thats why i post it 2nd time here. Netcode 101 :
https://youtu.be/hiHP0N-jMx8?list=PLPQpofohkjr0vt6uGS7qw4c1Tex7DGPfU
https://www.blurbusters.com/network-lag/

https://gyazo.com/ec88983fdf487f583866789d73983f32

https://gyazo.com/cd7ca242f200e0e7e9533a2681e874f3








to be continued .............






















No comments:

Post a Comment