Skrivet av belga:
Vart du bor spelar ingen roll. När kablarna drogs för en sisådär 30-50 år sedan så existerade inte tanken på bredband via telenätet, så nätet är byggt för att hantera analog telefoni i grunden. Detta betyder att man kan bo granne med stationen, men kabeln är dragen 2km runt hela området innan den når ditt hus för till telefoni fungerar det. För bredband är det dock inte lika lyckat.
Troligen får ditt modem ca 40Mbit, vilket är rätt mycket mitt i intervallet. Sen får du alltid ut lite mindre på datorn, speciellt om det är fler uppkopplade. Men det bör inte vara några problem att spela på det så länge ingen sitter och laddar några filer/uppdateringar eller liknande. Driver man egna servrar kan det dock äta bandbredd rätt snabbt, men även idag så räcker en 4-5Mbit gott och väl till för att kunna spela på. Krävs det mer än så borde någon ge ansvarig för multiplayer en örfil för det urkassa jobbet han gjort.
Utöver det, så plockar TCP (som bredbandskollen mäter med) 8,5% av bandbredden, så om man inte har problem med packetloss på udp, så kan man bara dela resultatet med 0,9 (lite marginal behöver man alltid) för att på ett ungefär få ut värdet modemet synkar mot dslam.
_______________________________
Gnutta OT:
För att utveckla tanken kring "pingfiltret" lite mer, så är interleave något man alltid ska ha aktivt på förbindelsen, av följande anledning: (förenklat, men långt blev det ändå - sammanfattning efter röd underrubrik)
Säg att du har 50ms mot en spelserver, vilket fördelas 20ms från ditt hus till stationen och 30 ms vidare från ISP:s nät ut till servern.
Av de 20ms som ligger mellan modemet och stationen, så är egentligen bara 4ms sträckan mellan stationen och de andra 16ms är den tid modemet har på sig att korrigera paket som inte kommer fram fullständiga, så kallad forward error correction.
Det finns två protokoll som används när man hämtar information över internet. Det ena heter tcp och det andra udp.
TCP fungerar kortfattat så, att ifall ett paket går förlorat, skickas en ny förfrågan om att hämta paketet igen, så att man får fullständig data. Praktiskt när man surfar eller tankar, t.ex. - bättre att det tar en halv sekund längre att ladda, motför att man får se allt innehåll.
UDP är inte lika säkert - ifall ett paket går förlorat, så tappar man datan det bär. I gengäld så är det snäppet snabbare, eftersom en större del av paketen kan användas till själva datan och inte till overhead. Signalerna skickas lika snabbt, men varje paket innehåller mer data. I snabba onlinespel är det här praktiskt, eftersom du får veta mer om spelet vid en given tidpunkt och ifall du tappar data, så är det bättre att fortsätta strömmen, än att veta vad motståndaren gjorde för en sekund sedan (det är dumt att be servern om utdaterad data, istället för ny).
Rent krasst, så påverkar en liten packetloss (PL) inte hastigheten på bredbandet, utan svarstiderna. 1% packetloss, big deal - 10MB/GB måste skickas om. TCP bryr sig inte om lite packetloss, alltså.
Vad händer däremot med svarstiderna när du spelar? För TCP, så innebär varje förlorat paket, att svarstiden multipliceras med tre (okej, inte riktigt, men nästan) under tiden du väntar på att nästa uppdatering kommer från servern.. Om du har 50ms och 1% PL, så innebär det alltså att var hundrade paket, så har du 150ms ping och inte 50ms. Snittping på 51ms (+2%) och det blir lite segt då och då.
Säg att porten är dåligt inställd och du har 1% PL med 16ms interleave. När du ställer ned interleave (vi kan ta bort den helt i exemplet), så kanske PL ökar till 5%. När du inte har packetloss, har du då 34ms ping. Var tjugonde paket har 102ms ping. Nu är dessutom risken fem gånger så stor att två paket på rad försvinner - alltså att du får svarstid på 204ms. Nu ska vi inte gå in på statistik, men säg att snittping blir 52,6ms (+55%!). Låter ändå inte så hemskt i teorin, va, 52,6ms?
Det som är värt att tänka på, är dock att vi upplever väldigt liten skillnad på ett flöde som uppdateras var femte hundradel, motför ett som uppdateras var tredje hundradel. Vi uppfattar däremot ojämnheter väldigt väl. 60fps flyter på lika bra som 75fps - ingen klagar på ojämn spelupplevelse om man konstant ligger över 60fps. Om fps:en däremot hoppar mellan 30fps och 60fps från och till, då har man inte en bra spelupplevelse. Två frames (microstuttering, t.ex) för ofta, är nog för att döda spelupplevelsen för en del. Men det är inte där problemet ligger.
Problemet ligger i, att varje paket innehåller inte all data som servern uppdaterar dig med. Det är därför det krävs bandbredd.
Säg att spelet kräver 1,5mbit/s (väldigt mycket, även idag) för att du ska kunna hämta hem all data från servern i tid. Det är inte så mycket för en adsl-förbindelse på 20mbit/s, men varje udp-paket är högst 1468bit stort, vi säger 1,5kbit för exemplet. Om 5% av alla de paketen försvinner varje sekund, så har vi ett problem. Varje sekund, laddas 1000 paket för att du ska få all information om allt som händer på banan, men 50 av dem försvinner. Helt plötsligt så flyter 95% av spelet på, medan 5% av spelet står stilla varje sekund. I det här exemplet, kanske du ser 10% av all data som servern skickar ut varje sekund, på skärmen.
Ett exempel i exemplet: Det kanske krävs totalt fem paket varje sekund, fördelade över 50 paket, för att berätta vart en motspelare står och i vilken riktning de siktar, osv. Säg att du tappar alla dem under en sekund (det är trots allt slumpmässigt), hur kan du ta honom då? Hade du haft 1% PL, hade du kunnat plocka åt dig motståndarens position fem gånger under den sekunden, med en reaktionstid förskjuten med 1,6 hundradelar (för dina fingrars skull, försök att inte ha en APM på 3750). Utöver det, så innehåller de där 50 paketen information om mer än bara den där spelarens position - de där paketen kanske delar information med 250 andra paket, som nu helt plötsligt blir meningslösa för att spelet inte får komplett information från dem. 1% PL är illa nog, när man spelar, men 5% är katastrofalt i det här fallet!
Varför? Även fast du tar emot informationen med en mindre förskjutning, så går så pass mycket data förlorad, att om du har otur, så kan du ligga flera sekunder efter med vissa element. Ibland är det inget speciellt (spela roll hur det ser ut på andra sidan kartan), men andra gånger så kommer all PL på skärmen och då är det kört.
För att göra slut på exemplet och få PL till 0%, vore det rimliga i det här fallet att öka SNR (signal-to-noise-ratio - hur stark radiosignalen mellan dslam och modemet är över bruset/störningarna som går på teleledningen), för att minimera risken att de störningar som går på ledningen, förstör signalen. Översatt med belgas tidigare inlägg, så innebär det alltså att vi sänker hastigheten. Vi sprider ut modemets signal över ett mindre frekvensband, så att signalen vid varje "punkt" är starkare. Högre frekvenser är även mer störningskänsliga, än låga.
tl;dr för de som inte orkar läsa:
Ifall du tankar mycket, be om högre bandbredd (TCP bryr sig inte om ett eller två paket behöver skickas om).
Ifall du spelar mycket, tacka och ta emot lägsta hastigheten för ditt abonnemang, om det är vad som behövs för att du ska undvika packetloss. Då har du även mån att ställa interleave så lågt som möjligt (sätt den aldrig på 0ms!), utan att få packetloss. (UDP mår väldigt, väldigt dåligt av packetloss)
Tips för de som har många spelare hemma och upplever att det laggar: skaffa router med bra QoS ifall ni tankar mycket (så att spelen får gå först), samt be ISP att anpassa förbindelsen för AnnexM (om det är möjligt - ger upp till 3mbit uppström).
Mer läsning:
TCP / UDP
FEC (/ CRC)
PS.
Angående intervallshastigheterna, så är det för att skydda kunden som man har intervallen. Det man kan argumentera för, är att det borde finnas fler intervall, men då prisskillnaderna mellan de intervall som finns idag ligger kring 50-lappen, så känns det bara snålt att lägga in ett intervall 12-18 för 325kr och ett intervall 18-24 för 350kr. Eller nä, priset för 12-18 skulle nog vara 350kr då och 18-24 skulle gå upp i högre prisklass, eftersom xdsl är extremt situationskänsligt.