Let me clarify: We have a certain amount of latency when streaming games from both local and internet servers. In either case, how do we improve that latency and what limits will we run in to as the technology progresses?

  • Nighed@sffa.community
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    1 year ago

    The base limit is the speed of light/electricity it takes X time for a signal to travel. This is your base latency. For example it takes about 70ms for light to travel half way round the world (it has to go round, not through). This can be improved by talking to servers that are closer to you and by taking links that are direct. But can’t be improved beyond the rules of physics.

    On top of this you get really small amounts of processing delays as data is passed through various routers/computers on the way to the destination.

    The real problem comes from congestion - if there is a lot of data being transferred between two destinations, the infrastructure between them might not be able to cope. This may result in messages being queued (causing a delay) or dropped (your controls don’t make it to the server!) To avoid this, the network will route your message via somewhere else with less demand, increasing the distance and delay (but spreading the load)

    Unfortunately, if that overloaded cable is the one bringing data into your neighborhood, then there likely isn’t an alternative route. In the UK at least, we are (finally) building out a fiver to the premises internet network that effectively fixes any local bottlenecks.

    If you want to see where your latency is coming from, you can run a trace route using various applications (or even directly in windows). This will show you the latency between each router that your data is traveling through on its route to it’s destination.

    Edit addition: for game streaming the network delays are added onto the natural delays of running the game (controls -> computer -> processing -> display/speakers).

    The other big additional delay for streaming is that in order to reduce the network load of streaming the game the image is compressed and encoded to be sent to you (much more than is done for your monitor cable).

    This is a computationaly intensive operation that can take a good few ms. The better the computers at either end, the faster this can be done. However the big way forward here is hardware encoding/decoding. By using hardware that is made to just do encoding/decoding and nothing else this can be done much faster.

    These encoders are commonly on graphics cards, and the graphics parts of CPUs. As newer encoding formats are created and hardware encoders created (and actually included) this area will becomeuch faster.

    Source: programmer with a computer science degree and a vague interest in networking.

    On mobile, so sorry for bad editing.