Lag (datorslang)
Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från
versionen som granskades den 10 mars 2018; kontroller kräver
185 redigeringar .
Lag (av engelska lag , [læɡ] - "delay", "delay") - en fördröjning i driften av en datorapplikation när den inte svarar på användarinmatning i tid. Dess derivata "lag" används i stor utsträckning av internetanvändare för att beteckna förseningar i driften av olika internettjänster och onlinespel. Spelare använder också ordet "lag" i förhållande till själva programmets förseningar. Hittas ofta i onlinespel. Ur teknisk synvinkel är det en manifestation av påverkan av latensen för dataöverföring och bearbetning på kvaliteten på realtidssystemet .
spelets reaktionsfördröjning
Analys
Även i ett enspelarspel består fördröjningen mellan att trycka och bilden av flera delar [1] [2] :
- Fysisk stängning av knappen.
- Tangentbord/mus-gränssnittssvar. Svar från undersystemet för bearbetning av tangentbord/mus.
- Beräkning av fysik av spelmotorn .
- Inaktiv tid i renderingsköer [2] .
- Frame rendering.
- En enkel färdig bildruta från slutet av renderingen till att byta buffert och sedan - innan den passerar genom videogränssnittet.
- Om spelet är i fönsterläge, även ramlöst, är fönsterhanterarens arbete inklämt mellan dem [2] .
- Reaktionen hos enheter som omvandlar signalen i monitorn [3] [4] [2] (förstora bilden [3] [5] , förbättra kvaliteten [6] ) - speciellt om det istället för en monitor finns en TV och det har inget "spel"-läge.
- Fysisk respons hos LCD-pixlar [3] .
I ett nätverksspel läggs den tid det tar för paket att resa från dator till dator
till detta .
Spelar också rollen som mikrolag eller stammar - frames som är ritade längre än andra [7] . Vanligtvis händer mikrolags när saker i spelet blir allvarliga [7] (skottlossning i FPS, tung trafik i ett lopp) - därför påverkar mikrolags upplevelsen av spelet ännu mer än den genomsnittliga fördröjningen.
För att minska förseningarna, tillämpa följande åtgärder:
- Från spelarens sida:
- Höghastighetsangentbord och möss - spelare använder enheter med en bussfrekvens på 1000 Hz, knappar med kort rörelse och linjär respons , optomekaniska brytare.
- Öka bildfrekvensen - köpa en snabb dator, minska bildkvaliteten.
- Att hitta en flaskhals i spelet som kommer att minska latensen på en given dator.
- Snabb monitor. "Spellägen" i TV-apparater.
- Snabb nätverksanslutning. Inaktivera hushåll som upptar hela nätverket - till exempel nedladdning av stora filer. QoS i routern, konfigurerad till förmån för spelet.
- Från utvecklaren och utgivaren:
- Optimering av olika delsystem i spelet - grafik, nätverk, dataladdning ...
- Spelare i onlinespel är indelade i regioner (Europa, CIS, USA ...) och servern ligger närmare dem.
Eftersläpning i onlinespel
Om förseningar från en knapp till en bild började bekämpas först på 2010-talet, började datanätverksförseningar spela en roll från de första åren av spel på Internet och är nästan alltid mer betydande än andra typer av förseningar (förutom speciella fall - eSports , det vill säga att spela på ett olastat lokalt nätverk). I synnerhet färdas ljus längs jordens ekvator på 130 ms - en sådan ping anses oacceptabel av moderna spelare, och detta är teoretiskt sett den minsta siffran när spelare befinner sig i olika delar av jorden.
Strängt taget levereras varje överfört paket med en fördröjning, men fördröjningar är vanligtvis bara märkbara förseningar som stör ett normalt spel. Samtidigt beror spelares uppfattning om lags på många faktorer, främst relaterade till noggrannheten och reaktionstiden som krävs vid ett givet spelögonblick [8] . Vanligtvis orsakas nätverksfördröjning av nätverkspaketförlust och tillhörande återöverföring av förlorade nätverkspaket.
Arkitekturen i Doom (1993) var den enklaste: varje spelare har ett komplett spelläge. Varje cykel (35 cykler per sekund, 1 cykel = 28 ms) skickar spelaren ut kontrollknappar till de andra. Så snart spelaren har samlat på sig knappar från alla deltagare i nätverksspelet spenderar han en ny cykel [9] . Samma ljus färdas genom USA på 15 ms, och den här arkitekturen räcker även för ett modemspel genom flera amerikanska delstater.
Det är sådan skillnad
mellan moderna spel och Doom .
- En sådan arkitektur är felaktig i andra avseenden: den är instabil mot fusk , den låter dig knappast gå in i spelet du har startat eller kasta ut spelaren ...
- Telefonen använder kanalväxling - PBX ger abonnenten en garanterad bandbredd med en stabil fördröjning. På Internet , paketväxling - en deltagare skickar ett meddelande ( paket ) till en annan, och mellannoder tar reda på hur det ska levereras. Detta ökar kapaciteten för kanalerna och överlevnadsförmågan för Internet - men vilken som helst av noderna på nätverket kan lösa överbelastning genom att släppa paketet, fördröja det, starta det längs en annan väg, etc., vilket också ökar fördröjningen.
- Om paketen tar lång tid fördröjs kontrollen. Det är därför Doom inte spelar bra vid förseningar som överstiger spelcykeln.
Vanligtvis löses frågan om förseningar på detta sätt. Spelet har två tillstånd - "garanterat" och "avancerat" [10] . "Garanterat" är vad som hände på servern och kan inte ändras på något sätt genom att plötsligt anlända paket, och kan släpa efter avsevärt - mer än 100 ms. "Forward"-tillståndet bestäms av spelarens lokala kontroll och paketen för de spelare som har bra uppkoppling. Således, trots dålig anslutning, har varje spelare responsiva kontroller. Stereotypa nätverksfördröjningar ser ut så här:
- om en annan anslutning försvinner under en kort tid, "fryser" hans karaktär först (står stilla eller rör sig i en rak linje), och hoppar sedan över. Om anslutningen konstant är dålig, rör sig karaktären i ryck;
- om din anslutning bryts under en kort tid pausas hela spelet (förlust av anslutning och slutar beräkna det avancerade tillståndet) och hoppar sedan omedelbart till ett nytt tillstånd.
Sedan Dooms dagar har det funnits två sätt att skjuta i spel - omedelbar beräkning av en kulas bana ( hitscan ) och en långsam projektil ( projektil ). (Intermediate - en snabb kula - implementeras extremt sällan och i mycket realistiska spel fokuserade på prickskytte- och artilleridueller kommer vi att utelämna det.) Med projektiler kommer spelet inte att avvika särskilt mycket från sanningen om spelaren siktar på det avancerade tillståndet, och träffar beräknas enligt den garanterade [11] . Det är omöjligt att beräkna banor på det här sättet - det finns inget avancerat tillstånd på servern alls, de är olika för olika spelare, och det finns kraftfulla typer av hitscan-vapen som ett prickskyttegevär , för vilka "hit-miss"-frågan är arkiverad . Därför används i många motorer ( Källa ) den så kallade fördröjningskompensationen - servern gör ett antagande om vilken bild klienten såg vid skotttillfället [12] . Utåt ser det ut så här: spelaren lutade sig ur skyddet, gömde sig framgångsrikt och dödades redan där, på en säker plats [12] .
Inverkan av olika videoadapterfunktioner på fördröjning för en spelare
Baslinjen är ett enspelar- eller LAN -spel (nätverkslatenserna är försumbara), dubbelbuffring är avstängd, spelet är konfigurerat så att systemets bildhastighet är stabil och överstiger monitorns.
- Försämring av bildkvalitet - minskar latensen även om prestandan begränsas av en annan komponent (CPU/videokort) och den totala bildhastigheten inte ökar [2] .
- Dubbelbuffring – ökar fördröjningen avsevärt [13] .
- Trippelbuffring - ökar latensen ännu mer [13] .
- nVidia G-Sync , AMD FreeSync - under sådana förhållanden (bildhastigheten för systemet är högre än skärmens) är meningslösa. Om den är mindre ökar de fördröjningen något [13] .
- Höghastighetssynkronisering (trippelbuffring, som fortsätter att fylla buffertar utanför skärmen istället för att vänta på synkronisering) - under sådana förhållanden ökar fördröjningen något [13] . Om bildrutehastigheten för systemet är lägre än monitorns, är det meningslöst.
- Fönsterläge, även ett kantlöst fönster, ökar latensen jämfört med helskärmsläge [2] [14] .
- Artificiell bildhastighetsbegränsning - minskar latensen om prestandan begränsas av grafikkortet [15] .
- nVidia Ultra-Low Latency / AMD Anti-Lag - meningslös, bildhastighetsbegränsning är mer effektiv [15] .
Berättelse
Under en lång tid reducerades den minskade spelfördröjningen till att öka bildfrekvenserna . Samtidigt hade spelkonsoler initialt en fördel - från de första generationerna producerade de en hög bildfrekvens (50/60 Hz), detta uppnåddes genom specialiserade lösningar som begränsade speldesignen [16] , men gjorde systemet billigare: för Exempelvis Sega Mega Drive 16-bitars med en frekvens på 7,6 MHz, och liknande prestanda 80386 är redan 32-bitars [17] och 12…40 MHz.
I början av 2000-talet började spel på PC konsekvent ge samma 60 Hz som på konsoler, och under hela 2000-talet förbättrades bildkvaliteten genom att programmera grafikkortet med shaders . Det tog flera renderingspass för att lägga till belysning, reflektioner, etc. [18] , och för att förhindra att processorn väntade gjordes renderingen försenad [19] . Den här tekniken har spelat ett grymt skämt: om grafikkortet laddas till det yttersta ökar fördröjningen från att klicka till bilden. Att begränsa bildfrekvensen, till och med upp till 95 %, vilket gör spelet praktiskt taget "CPU-beroende", minskar latensen [15] .
Latensen har legat i skymundan hela den här tiden eftersom det är svårt att mäta - det kräver en modifierad mus (om du trycker på knappen tänds en LED ) och en höghastighetskamera [2] . Forskarna kunde mäta en siffra på upp till 120 ms, och även vid en bildhastighet på 120 fps är det cirka 40 ms [13] [15] . En sådan fördröjning kallas ibland för "kikarfördelen" - att titta ut bakom ett hinder vet i förväg att försvararen är vid en given punkt och kan skjuta framåt, men försvararen kan inte [2] . 2020 dök nVidia Reflex -teknologi upp - den tillåter spelet att övervaka laddningen av grafikkortet, och detta minskar förseningen avsevärt [2] . Tekniken är tillgänglig med vilken bildskärm som helst och även på relativt gamla grafikkort (från och med GeForce 900 ), men spelet måste stödja det. (Den andra delen av nVidia Reflex, latensberäkning, kräver en specifik bildskärm och tar hänsyn till allt utom mushastighet och bildskärmspixlar.)
Hundradelar av en sekund är viktiga i rytmspel , alla händelser är helt förutsägbara, och de spelas vanligtvis på konsoler, där utgångsenheten är en TV med sina egna bildförbättringsalgoritmer. Det är därför Guitar Hero och liknande spel har fördröjningskalibrering [20] .
se även
Anteckningar
- ↑ Utforska inmatningsfördröjning inifrån och ut . Hämtad 28 april 2022. Arkiverad från originalet 28 april 2022. (obestämd)
- ↑ 1 2 3 4 5 6 7 8 9 Vi introducerar NVIDIA Reflex: Optimera och mäta fördröjning i konkurrenskraftiga spel | NVIDIA . Hämtad 20 november 2020. Arkiverad från originalet 19 november 2020. (obestämd)
- ↑ 1 2 3 Minute Science: Input Lag vs. Svarstid - YouTube . Hämtad 28 april 2022. Arkiverad från originalet 28 april 2022. (obestämd)
- ↑ Faktorer som påverkar PC-skärmens lyhördhet | PC-skärmar . Hämtad 28 april 2022. Arkiverad från originalet 25 april 2022. (obestämd)
- ↑ Duck Hunt på en HDTV 2 på YouTube
- ↑ Spellägesinställningar på din Samsung TV | Samsung Australien . Hämtad 28 april 2022. Arkiverad från originalet 12 november 2020. (obestämd)
- ↑ 1 2 Hur man fixar stamning i spel - Bildfrekvens, bildtid och RTSS - YouTube . Hämtad 29 april 2022. Arkiverad från originalet 29 april 2022. (obestämd)
- ↑ Markera Claypool, Kajal Claypool. Latens kan döda: precision och deadline i onlinespel // Proceeding MMSys '10 Proceedings av den första årliga ACM SIGMM-konferensen om multimediasystem. - New York, NY: ACM, 2010. - P. 215-222 . - ISBN 978-1-60558-914-5 . - doi : 10.1145/1730836.1730863 .
- ↑ Doom nätverkskomponent | Doom Wiki | fandom . Hämtad 8 maj 2022. Arkiverad från originalet 7 juli 2022. (obestämd)
- ↑ Förutsägelse på klientsidan och serveravstämning - Gabriel Gambetta . Hämtad 8 maj 2022. Arkiverad från originalet 5 maj 2022. (obestämd)
- ↑ Fördröjningskompensation - Officiell TF2 Wiki | Officiell Team Fortress Wiki . Hämtad 8 maj 2022. Arkiverad från originalet 8 maj 2022. (obestämd)
- ↑ 1 2 Fördröjningskompensation - Gabriel Gambetta . Hämtad 8 maj 2022. Arkiverad från originalet 27 april 2022. (obestämd)
- ↑ 1 2 3 4 5 Nvidia Fast Sync bättre än G-Sync och V-Sync? - Youtube . Hämtad 29 april 2022. Arkiverad från originalet 25 mars 2022. (obestämd)
- ↑ (Kantlöst) Fönsterläge Ska du använda det? - Youtube . Hämtad 29 april 2022. Arkiverad från originalet 29 april 2022. (obestämd)
- ↑ 1 2 3 4 NVIDIA Reflex Low Latency - Hur det fungerar och varför du vill använda det på YouTube
- ↑ James Hague. Stumbling Into the Cold Expanse of Real Programming Arkiverad 11 november 2020 på Wayback Machine . Översättning
- ↑ Till exempel släpptes Disneys Aladdin och Lejonkungen endast i skyddat läge 80386.
- ↑ Unreals återgivningspass - Overklig konstoptimering . Hämtad 28 april 2022. Arkiverad från originalet 19 april 2022. (obestämd)
- ↑ Multiple-Pass-rendering - Win32-appar | Microsoft docs . Hämtad 28 april 2022. Arkiverad från originalet 28 april 2022. (obestämd)
- ↑ Hur man fixar fördröjningen i Guitar Hero på YouTube
Länkar