SlideShare a Scribd company logo
NETWORK PERFORMANCE
PERFORMANCE VS. NET SPEED
• You should know your needs then can make sure you on’t spend too much money for performance you
don’t need.
• There are some nonperformance issues that must be considered first:
 Design cost
 Quality(HW)
 Standardization
 Upgradability
 etc.
NETWORK PERFORMANCE
• Aspects:
 QOS
Overall system performance
 QOE
Impact of network behavior on end user or number of happy users
• Aim:
 Prioritize applications , users , data flows
 Guarantee a certain level of performance to a data flow
CONT’D
• Performance charges with all aspects of a connection;
• A connection is affected by:
 Delay
 Loss
 Noise , crosstalk
 Errors
 Jitter
 Attenuation
 Reflection
 etc.
WHY IS MY CONNECTION SLOW, WHY I AM NOT GETTING
THE ACTUAL BANDWIDTH THAT IS ASSIGNED TO ME.
THROUGHPUT
• Maximum RATE of transferred data over the net
• It depends on other terms:
 Network topology
 Client/server process speed
 Time of use
 Other users(in shared networks)
 Weather(in wireless networks)
 Network internal pipeline
NETWORK INTERNAL PIPELINE
• Maximum achievable throughput for a single tcp connection is determined by different factors:
• Maximum bandwidth of the slowest link in the path
• RTT
• Window size(RWIN , tcp receive window , buffering)
• Packet loss
• Congestion
• MSS(maximum segment size)
• BDP(bandwidth delay product)
MSS
• It is the largest amount of data, specified in bytes, that a computer or communication evice can handle
in a single unfragmented piece.
RWIN
• It is buffering used to handle delay in the system(default 64KiB)
• Even if there is no packet loss in the network, windowing can limit throughput
BDP(BANDWIDTH DELAY PRODUCT)
• It refers to the number of bytes to fill tcp path
BDP = bandwidth * RTT
HOW RTT – RWIN – BDP AFFECT THROUGHPUT?
• For example:
Bandwidth=6Mbps
RWIN=64KB
RTT=100ms
Then
BDP=600Kib=75KiB
Finally
64/75 *100 = 85% of 6Mbps = 5.12Mbps = 660-670KBps
PERFORMANCE MEASUREMENT
fundamentals of how network performance metric(latency , PL , throughput) can be calculated
Wireshark the packet analyzer
OVERVIEW:
• NETWORK LATENCY INDICATORES
 connection time
in tcp which is 3way handshake(syn,syn/ack,ack), time between syn and ack in the initial tcp session is a good indicator of
network latency
 roundtrip time
• time between a packet containing payload and its corresponding acknowledgment packet , it is a good indicator of round
trip network latency
• sometimes this procedure may get slow because of one end of connection , some systems combine ack responses
together into a single response
• PACKET LOSS INDICATORS
• TROUGHPUT INDICATORS
Rtt calculation:
 filter tcp.analysis.ack_rtt between two ip address to get the round trip statistics using io graph
tcp.nalysis.ack_rtt means time between syn and next packet
PACKET LOSS CALCULATION
• retrnsmissions occur when a packet does not reach the other side and is not acknowledged or when the
acknowledgment takes too much time to reach the initial sender.in both cases, the quality of the
network trasmission will be heavily impacted
• RETRANSMISSION RATE:
 number of retransmission packets compared to the initial packets sent , this rate clearly shows packet loss
 we can filter retransmissions by tcp.analysis.retransmission and specifying ip address of src/dest in io graph
• RETRANSMISSION DELAY:
 time interval between the initial packet sent and the first acknowledged retransmission
Network  performance overview
TROUGHPUT INDICATORS
you may filter your desired hosts first then select the graph(in general it is whole count of sent data back and forth)
TCP/UDP/HTTP STREAMS DELAY MEASUREMENT
NORMAL DELAY:
• Some delays are normal and does not need calculation:
• delay before TCP RST is normal, maybe user switch another window , it is transparent
• delay before TLS encrypted alert
• Delays before a Periodic Set of Packets in a Connection that is Otherwise Idle
DELAYS THAT SHOULD BE CONSIDERED
DELAY BEFORE SYN/ACK
• the time between the SYN and SYN/ACK in the TCP handshake can be used to determine the round trip
time between the hosts
Network  performance overview
CONVERSATION TIMESTAMPS
• Wireshark numbers each separate TCP conversation with a TCP Stream Index (tcp.stream) value starting
with 0
Network  performance overview
• we can look for delays within a specific TCP stream. First we need to enable Wireshark to track time
within separate TCP conversations.
• After you enable the Calculate conversation timestamp preference setting, two additional time fields
will be visible at the end of the TCP header:
 Time since first frame in this TCP stream (tcp.time_relative)
 Time since previous frame in this TCP stream (tcp.time_delta)
• filter syn and syn/ack packets then compare tcp.time_delta
between them to findout RTT in tcp streams.
DELAYS BEFORE A CLIENT COMPLETES THE 3-WAY TCP
HANDSHAKE
• time between the syn/ack and client's ack can be used to findout delay
DELAYS BEFORE A SERVER SENDS A RESPONSE
• client requests, server ack followed quickly, but data flow has delay ,perhaps server is low in processing
or ask another server for info or is under attack
there are some other options which I ignored due to avoid more complexity like:
• Delays before the Next Packet in a Data Stream
• Delays before an ACK from a TCP peer
• Delays before a Window Update
UDP
• UDP is a connectionless transport protocol with a very simple 8-byte header. Unlike TCP, UDP has no
sequencing or acknowledgement capability. To detect delays in a UDP conversation, we can use two
time fields—frame.time_delta and frame.time_delta_displayed. use for example udp and
dns.time;udp is not connection oriented so we measure delays between requests and responses.
Network  performance overview
• sorted by bps a->b or
add frame.delta_time to columes and sort based on most delayed udp connections
• we can see that two dns esponse is slower than other(here a bit)(maybe dnsserver does not these
names in its cache):
• dns response time in io graph view:
• same but using wireshark's dns.time:
HTTP
• When we measure HTTP response time, we look at the delta time between a service request (such as an
HTTP GET request) and the response (such as an HTTP 200 OK). The HTTP response time field is called
http.time. to measure the time use http.time filter:it calculates time from client request until http data
flow:
• http.time colume:
• http.time io graph:
• reassembly enabled:
• If you disable Allow subdissector to reassemble TCP streams, Wireshark will measure the time from the
HTTP Request and the actual response packet.
• reassembly disabled:
• for enable/disable reassembly do as follow:
PRACTICAL QOS/QOE:
ONLINE GAMING
• how online gaming works:
• It takes time for the server to validate user input, so delay occur
• How to solve latency in online gaming?
Three main solutions:
• Prediction
1. Player
2. Opponent
• Time manipulation
1. Time delay
2. Time warp
3. Data compression
• Visual tricks
PREDICTION
PLAYER PREDICTION:
local system renders client's actions immediately without any delay(ie waiting for server to
acknowledge action)
ALGORITHM:
o sample user input
o pack data and send to server
o determine visible objects and game state
o render scene based on local actions receive updates from server and unpack
o correct any discrepancies
o repeat
CON’S
• there is variation between client side prediction and actual server side game response , client makes
adjustments in the game state , server updates client’s state, it could be sudden and cause jitter, so
looses consistency of the game.
• client could use polling interval between rendered local world and the server's update at a later time
instead of immediately rendering the latest update,
• some smoothing algorithms let game progress smoothly to the server world state
PREDICTION
OPPONENT
• the client predicts the behavior of the opponent before the server actually sends them to the client
• client predict opponent path with its last state direction and speed of the move
• movement's range is set by predetermined threshold, if the predicted location goes outside the
threshold, an update for new position will be sent.
• it requires an algorithm extrapolate the location of each client for each frame rendered
• smaller threshold, more fiddle in opponent location prediction
TIME MANIPULATION
DELAY
• there is a delay in processing to equalize latency, it ensures that all clients have the same effective
latency in the game.
TIME MANIPULATION
TIME WARP
• consider a plyer shoots at an opponent at time t0 but by the time message arrives at the server at time
t2,the opponent moved at time t1.then server uses time warp to roll back the events it had processed
since the client provided the input.
TIME MANIPULATION
DATA COMPRESSION
• reducing size of the message sent between a server and a client can reduce latency.
types of compression:
 lossless
 opponent prediction delta compression
 delta compression
 interest management
 peer to peer
 update aggregation
TIME MANIPULATION
VISUAL TRICK
• use animation for movements, for example a boat movement.

More Related Content

PPT
Tcp Reliability Flow Control
Ram Dutt Shukla
 
PPTX
Tcp(no ip) review part2
Diptanshu singh
 
PPT
Tcp Immediate Data Transfer
Ram Dutt Shukla
 
PPTX
Tcp(no ip) review part1
Diptanshu singh
 
PDF
Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network
partha pratim deb
 
PPT
Traffic Characterization
Ismail Mukiibi
 
PPTX
Analysis of TCP variants
Institute of Technology, Nirma University
 
PPT
Lect9
Abdo sayed
 
Tcp Reliability Flow Control
Ram Dutt Shukla
 
Tcp(no ip) review part2
Diptanshu singh
 
Tcp Immediate Data Transfer
Ram Dutt Shukla
 
Tcp(no ip) review part1
Diptanshu singh
 
Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network
partha pratim deb
 
Traffic Characterization
Ismail Mukiibi
 
Lect9
Abdo sayed
 

What's hot (20)

PPTX
Working of TCP
Sandesh Bakadra
 
PPTX
Congestion Control
VaishnaviVaishnavi17
 
PPTX
Congestion control in tcp
samarai_apoc
 
PDF
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
IOSR Journals
 
PPT
Tcp Congestion Avoidance
Ram Dutt Shukla
 
PDF
NZNOG 2020: Buffers, Buffer Bloat and BBR
APNIC
 
PPT
Tcp congestion control
Abdo sayed
 
PDF
RIPE 80: Buffers and Protocols
APNIC
 
PPTX
Tcp congestion avoidance
Ahmed Kamel Taha
 
PPT
Quality of service
Ismail Mukiibi
 
PPTX
NTP Server - How it works?
Davoud Teimouri
 
PPTX
Congestion control
Madhusudhan G
 
PPT
Tcp congestion avoidance algorithm identification
Bala Lavanya
 
PDF
Congestion control
Abhay Pai
 
DOC
Retransmission Tcp
Ram Dutt Shukla
 
PPTX
Qo s routing
rajib_
 
PPT
Congestion control avoidance
Anthony-Claret Onwutalobi
 
PPT
Real-Time Streaming Protocol -QOS
Jayaprakash Nagaruru
 
PPT
T Tcp
Ram Dutt Shukla
 
PDF
Congestion control 1
Aman Jaiswal
 
Working of TCP
Sandesh Bakadra
 
Congestion Control
VaishnaviVaishnavi17
 
Congestion control in tcp
samarai_apoc
 
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
IOSR Journals
 
Tcp Congestion Avoidance
Ram Dutt Shukla
 
NZNOG 2020: Buffers, Buffer Bloat and BBR
APNIC
 
Tcp congestion control
Abdo sayed
 
RIPE 80: Buffers and Protocols
APNIC
 
Tcp congestion avoidance
Ahmed Kamel Taha
 
Quality of service
Ismail Mukiibi
 
NTP Server - How it works?
Davoud Teimouri
 
Congestion control
Madhusudhan G
 
Tcp congestion avoidance algorithm identification
Bala Lavanya
 
Congestion control
Abhay Pai
 
Retransmission Tcp
Ram Dutt Shukla
 
Qo s routing
rajib_
 
Congestion control avoidance
Anthony-Claret Onwutalobi
 
Real-Time Streaming Protocol -QOS
Jayaprakash Nagaruru
 
Congestion control 1
Aman Jaiswal
 
Ad

Similar to Network performance overview (20)

PDF
Pre-Con Education: Recognizing Your Network's Key Performance Indicators Th...
CA Technologies
 
PPT
Network Application Performance
Shumon Huque
 
PPTX
High performance browser networking ch1,2,3
Seung-Bum Lee
 
PPT
Week3.1
Digvijay Singh
 
PDF
Computer network (13)
NYversity
 
PPTX
7 tcp-congestion
Olivier Bonaventure
 
PDF
Wireshark course, Ch 05: Advanced statistics tools
Yoram Orzach
 
PPT
Troubleshooting TCP/IP
vijai s
 
PPT
Learn TransportLayer of the OSI model to day with me.
SilasHAKUZWIMANA
 
PPT
House - Dynamic Bandwidth Throttling in a Client Server ...
webhostingguy
 
PDF
Chapter 3 - Transport Layer
Andy Juan Sarango Veliz
 
PPTX
Network latency - measurement and improvement
Matt Willsher
 
PPT
Chapter 2 - Analyzing Technical Goals and Tradeoffs.ppt
kong100
 
PDF
Availability Computer Communication Network .pdf
YashShirude1
 
PDF
presentationphysicallyer.pdf talked about computer networks
HetfieldLee
 
PPT
Unit_I - 3
Angayarkanni Annamalai
 
PPT
Wireshark Basics
Yoram Orzach
 
PPT
Availability or downtime of the servers can be found out
circularsuom
 
PPT
lec 3 4 Core Delays Thruput Net Arch.ppt
MahamKhurram4
 
Pre-Con Education: Recognizing Your Network's Key Performance Indicators Th...
CA Technologies
 
Network Application Performance
Shumon Huque
 
High performance browser networking ch1,2,3
Seung-Bum Lee
 
Computer network (13)
NYversity
 
7 tcp-congestion
Olivier Bonaventure
 
Wireshark course, Ch 05: Advanced statistics tools
Yoram Orzach
 
Troubleshooting TCP/IP
vijai s
 
Learn TransportLayer of the OSI model to day with me.
SilasHAKUZWIMANA
 
House - Dynamic Bandwidth Throttling in a Client Server ...
webhostingguy
 
Chapter 3 - Transport Layer
Andy Juan Sarango Veliz
 
Network latency - measurement and improvement
Matt Willsher
 
Chapter 2 - Analyzing Technical Goals and Tradeoffs.ppt
kong100
 
Availability Computer Communication Network .pdf
YashShirude1
 
presentationphysicallyer.pdf talked about computer networks
HetfieldLee
 
Wireshark Basics
Yoram Orzach
 
Availability or downtime of the servers can be found out
circularsuom
 
lec 3 4 Core Delays Thruput Net Arch.ppt
MahamKhurram4
 
Ad

Recently uploaded (20)

PPTX
原版北不列颠哥伦比亚大学毕业证文凭UNBC成绩单2025年新版在线制作学位证书
e7nw4o4
 
PDF
KIPER4D situs Exclusive Game dari server Star Gaming Asia
hokimamad0
 
PPTX
The Internet of Things (IoT) refers to a vast network of interconnected devic...
chethana8182
 
PPTX
The Monk and the Sadhurr and the story of how
BeshoyGirgis2
 
PPTX
The Internet of Things (IoT) refers to a vast network of interconnected devic...
chethana8182
 
PDF
DNSSEC Made Easy, presented at PHNOG 2025
APNIC
 
PDF
The Internet of Things (IoT) refers to a vast network of interconnected devic...
chethana8182
 
PPT
1965 INDO PAK WAR which Pak will never forget.ppt
sanjaychief112
 
PDF
PDF document: World Game (s) Great Redesign.pdf
Steven McGee
 
PPTX
SEO Trends in 2025 | B3AITS - Bow & 3 Arrows IT Solutions
B3AITS - Bow & 3 Arrows IT Solutions
 
PDF
Latest Scam Shocking the USA in 2025.pdf
onlinescamreport4
 
PPTX
Generics jehfkhkshfhskjghkshhhhlshluhueheuhuhhlhkhk.pptx
yashpavasiya892
 
PDF
KIPER4D situs Exclusive Game dari server Star Gaming Asia
hokimamad0
 
PDF
LB# 820-1889_051-7370_C000.schematic.pdf
matheusalbuquerqueco3
 
PPTX
dns domain name system history work.pptx
MUHAMMADKAVISHSHABAN
 
PDF
Data Protection & Resilience in Focus.pdf
AmyPoblete3
 
PPTX
Slides Powerpoint: Eco Economic Epochs.pptx
Steven McGee
 
PPTX
Artificial-Intelligence-in-Daily-Life (2).pptx
nidhigoswami335
 
PPT
Transformaciones de las funciones elementales.ppt
rirosel211
 
PPTX
Crypto Recovery California Services.pptx
lionsgate network
 
原版北不列颠哥伦比亚大学毕业证文凭UNBC成绩单2025年新版在线制作学位证书
e7nw4o4
 
KIPER4D situs Exclusive Game dari server Star Gaming Asia
hokimamad0
 
The Internet of Things (IoT) refers to a vast network of interconnected devic...
chethana8182
 
The Monk and the Sadhurr and the story of how
BeshoyGirgis2
 
The Internet of Things (IoT) refers to a vast network of interconnected devic...
chethana8182
 
DNSSEC Made Easy, presented at PHNOG 2025
APNIC
 
The Internet of Things (IoT) refers to a vast network of interconnected devic...
chethana8182
 
1965 INDO PAK WAR which Pak will never forget.ppt
sanjaychief112
 
PDF document: World Game (s) Great Redesign.pdf
Steven McGee
 
SEO Trends in 2025 | B3AITS - Bow & 3 Arrows IT Solutions
B3AITS - Bow & 3 Arrows IT Solutions
 
Latest Scam Shocking the USA in 2025.pdf
onlinescamreport4
 
Generics jehfkhkshfhskjghkshhhhlshluhueheuhuhhlhkhk.pptx
yashpavasiya892
 
KIPER4D situs Exclusive Game dari server Star Gaming Asia
hokimamad0
 
LB# 820-1889_051-7370_C000.schematic.pdf
matheusalbuquerqueco3
 
dns domain name system history work.pptx
MUHAMMADKAVISHSHABAN
 
Data Protection & Resilience in Focus.pdf
AmyPoblete3
 
Slides Powerpoint: Eco Economic Epochs.pptx
Steven McGee
 
Artificial-Intelligence-in-Daily-Life (2).pptx
nidhigoswami335
 
Transformaciones de las funciones elementales.ppt
rirosel211
 
Crypto Recovery California Services.pptx
lionsgate network
 

Network performance overview

  • 2. PERFORMANCE VS. NET SPEED • You should know your needs then can make sure you on’t spend too much money for performance you don’t need. • There are some nonperformance issues that must be considered first:  Design cost  Quality(HW)  Standardization  Upgradability  etc.
  • 3. NETWORK PERFORMANCE • Aspects:  QOS Overall system performance  QOE Impact of network behavior on end user or number of happy users • Aim:  Prioritize applications , users , data flows  Guarantee a certain level of performance to a data flow
  • 4. CONT’D • Performance charges with all aspects of a connection; • A connection is affected by:  Delay  Loss  Noise , crosstalk  Errors  Jitter  Attenuation  Reflection  etc.
  • 5. WHY IS MY CONNECTION SLOW, WHY I AM NOT GETTING THE ACTUAL BANDWIDTH THAT IS ASSIGNED TO ME.
  • 6. THROUGHPUT • Maximum RATE of transferred data over the net • It depends on other terms:  Network topology  Client/server process speed  Time of use  Other users(in shared networks)  Weather(in wireless networks)  Network internal pipeline
  • 7. NETWORK INTERNAL PIPELINE • Maximum achievable throughput for a single tcp connection is determined by different factors: • Maximum bandwidth of the slowest link in the path • RTT • Window size(RWIN , tcp receive window , buffering) • Packet loss • Congestion • MSS(maximum segment size) • BDP(bandwidth delay product)
  • 8. MSS • It is the largest amount of data, specified in bytes, that a computer or communication evice can handle in a single unfragmented piece.
  • 9. RWIN • It is buffering used to handle delay in the system(default 64KiB) • Even if there is no packet loss in the network, windowing can limit throughput
  • 10. BDP(BANDWIDTH DELAY PRODUCT) • It refers to the number of bytes to fill tcp path BDP = bandwidth * RTT
  • 11. HOW RTT – RWIN – BDP AFFECT THROUGHPUT? • For example: Bandwidth=6Mbps RWIN=64KB RTT=100ms Then BDP=600Kib=75KiB Finally 64/75 *100 = 85% of 6Mbps = 5.12Mbps = 660-670KBps
  • 12. PERFORMANCE MEASUREMENT fundamentals of how network performance metric(latency , PL , throughput) can be calculated
  • 14. OVERVIEW: • NETWORK LATENCY INDICATORES  connection time in tcp which is 3way handshake(syn,syn/ack,ack), time between syn and ack in the initial tcp session is a good indicator of network latency  roundtrip time • time between a packet containing payload and its corresponding acknowledgment packet , it is a good indicator of round trip network latency • sometimes this procedure may get slow because of one end of connection , some systems combine ack responses together into a single response • PACKET LOSS INDICATORS • TROUGHPUT INDICATORS
  • 15. Rtt calculation:  filter tcp.analysis.ack_rtt between two ip address to get the round trip statistics using io graph
  • 16. tcp.nalysis.ack_rtt means time between syn and next packet
  • 17. PACKET LOSS CALCULATION • retrnsmissions occur when a packet does not reach the other side and is not acknowledged or when the acknowledgment takes too much time to reach the initial sender.in both cases, the quality of the network trasmission will be heavily impacted • RETRANSMISSION RATE:  number of retransmission packets compared to the initial packets sent , this rate clearly shows packet loss  we can filter retransmissions by tcp.analysis.retransmission and specifying ip address of src/dest in io graph • RETRANSMISSION DELAY:  time interval between the initial packet sent and the first acknowledged retransmission
  • 20. you may filter your desired hosts first then select the graph(in general it is whole count of sent data back and forth)
  • 22. NORMAL DELAY: • Some delays are normal and does not need calculation: • delay before TCP RST is normal, maybe user switch another window , it is transparent • delay before TLS encrypted alert • Delays before a Periodic Set of Packets in a Connection that is Otherwise Idle
  • 23. DELAYS THAT SHOULD BE CONSIDERED
  • 24. DELAY BEFORE SYN/ACK • the time between the SYN and SYN/ACK in the TCP handshake can be used to determine the round trip time between the hosts
  • 26. CONVERSATION TIMESTAMPS • Wireshark numbers each separate TCP conversation with a TCP Stream Index (tcp.stream) value starting with 0
  • 28. • we can look for delays within a specific TCP stream. First we need to enable Wireshark to track time within separate TCP conversations.
  • 29. • After you enable the Calculate conversation timestamp preference setting, two additional time fields will be visible at the end of the TCP header:  Time since first frame in this TCP stream (tcp.time_relative)  Time since previous frame in this TCP stream (tcp.time_delta) • filter syn and syn/ack packets then compare tcp.time_delta between them to findout RTT in tcp streams.
  • 30. DELAYS BEFORE A CLIENT COMPLETES THE 3-WAY TCP HANDSHAKE • time between the syn/ack and client's ack can be used to findout delay
  • 31. DELAYS BEFORE A SERVER SENDS A RESPONSE • client requests, server ack followed quickly, but data flow has delay ,perhaps server is low in processing or ask another server for info or is under attack
  • 32. there are some other options which I ignored due to avoid more complexity like: • Delays before the Next Packet in a Data Stream • Delays before an ACK from a TCP peer • Delays before a Window Update
  • 33. UDP • UDP is a connectionless transport protocol with a very simple 8-byte header. Unlike TCP, UDP has no sequencing or acknowledgement capability. To detect delays in a UDP conversation, we can use two time fields—frame.time_delta and frame.time_delta_displayed. use for example udp and dns.time;udp is not connection oriented so we measure delays between requests and responses.
  • 35. • sorted by bps a->b or add frame.delta_time to columes and sort based on most delayed udp connections
  • 36. • we can see that two dns esponse is slower than other(here a bit)(maybe dnsserver does not these names in its cache):
  • 37. • dns response time in io graph view:
  • 38. • same but using wireshark's dns.time:
  • 39. HTTP • When we measure HTTP response time, we look at the delta time between a service request (such as an HTTP GET request) and the response (such as an HTTP 200 OK). The HTTP response time field is called http.time. to measure the time use http.time filter:it calculates time from client request until http data flow:
  • 43. • If you disable Allow subdissector to reassemble TCP streams, Wireshark will measure the time from the HTTP Request and the actual response packet.
  • 45. • for enable/disable reassembly do as follow:
  • 47. • how online gaming works:
  • 48. • It takes time for the server to validate user input, so delay occur • How to solve latency in online gaming?
  • 49. Three main solutions: • Prediction 1. Player 2. Opponent • Time manipulation 1. Time delay 2. Time warp 3. Data compression • Visual tricks
  • 50. PREDICTION PLAYER PREDICTION: local system renders client's actions immediately without any delay(ie waiting for server to acknowledge action)
  • 51. ALGORITHM: o sample user input o pack data and send to server o determine visible objects and game state o render scene based on local actions receive updates from server and unpack o correct any discrepancies o repeat
  • 52. CON’S • there is variation between client side prediction and actual server side game response , client makes adjustments in the game state , server updates client’s state, it could be sudden and cause jitter, so looses consistency of the game. • client could use polling interval between rendered local world and the server's update at a later time instead of immediately rendering the latest update, • some smoothing algorithms let game progress smoothly to the server world state
  • 53. PREDICTION OPPONENT • the client predicts the behavior of the opponent before the server actually sends them to the client • client predict opponent path with its last state direction and speed of the move
  • 54. • movement's range is set by predetermined threshold, if the predicted location goes outside the threshold, an update for new position will be sent. • it requires an algorithm extrapolate the location of each client for each frame rendered • smaller threshold, more fiddle in opponent location prediction
  • 55. TIME MANIPULATION DELAY • there is a delay in processing to equalize latency, it ensures that all clients have the same effective latency in the game.
  • 56. TIME MANIPULATION TIME WARP • consider a plyer shoots at an opponent at time t0 but by the time message arrives at the server at time t2,the opponent moved at time t1.then server uses time warp to roll back the events it had processed since the client provided the input.
  • 57. TIME MANIPULATION DATA COMPRESSION • reducing size of the message sent between a server and a client can reduce latency. types of compression:  lossless  opponent prediction delta compression  delta compression  interest management  peer to peer  update aggregation
  • 58. TIME MANIPULATION VISUAL TRICK • use animation for movements, for example a boat movement.