Lag (argo informatic)

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 10 martie 2018; verificările necesită 185 de modificări .

Lag (din engleză  lag , [læɡ]  - „întârziere”, „întârziere”) - o întârziere în funcționarea unei aplicații de calculator atunci când aceasta nu răspunde la timp la intrarea utilizatorului. „Lag” derivat este utilizat pe scară largă de utilizatorii de internet pentru a indica întârzierile în funcționarea diferitelor servicii de internet și jocuri online. De asemenea , jucătorii folosesc cuvântul „lag” în legătură cu întârzierile programului în sine. Deseori găsite în jocurile online. Din punct de vedere tehnic, este o manifestare a influenței latenței operațiunilor de transmitere și prelucrare a datelor asupra calității sistemului în timp real .

întârzierea reacției jocului

Analiză

Chiar și într-un joc cu un singur jucător , întârzierea dintre apăsare și imagine constă din mai multe părți [1] [2] :

Într-un joc în rețea, la aceasta se adaugă timpul necesar pachetelor pentru a călători de la computer la computer .

De asemenea, joacă rolul de microlags sau stutters - cadre care sunt desenate mai lungi decât altele [7] . De obicei, microlag-urile apar atunci când lucrurile din joc devin serioase [7] (luptă în FPS, trafic intens într-o cursă) - prin urmare, microlag-urile afectează experiența jocului chiar mai mult decât întârzierea medie.

Pentru a reduce întârzierile, aplicați următoarele măsuri:

Lag în jocurile online

Dacă întârzierile de la un buton la o imagine au început să fie luptate abia în anii 2010, atunci întârzierile rețelei de calculatoare au început să joace un rol încă din primii ani de jocuri pe Internet și sunt aproape întotdeauna mai semnificative decât alte tipuri de întârzieri (cu excepția unor întârzieri speciale). cazuri - eSports , adică jocul pe o rețea locală descărcată). În special, lumina călătorește de-a lungul ecuatorului Pământului în 130 ms - un astfel de ping este considerat inacceptabil de jucătorii moderni și, teoretic, aceasta este cea mai mică cifră atunci când jucătorii se află în diferite părți ale Pământului.

Strict vorbind, fiecare pachet transmis este livrat cu o întârziere, dar întârzierile sunt de obicei doar întârzieri vizibile care interferează cu un joc normal. În același timp, percepția întârzierilor de către jucători depinde de mulți factori, legați în primul rând de precizia și timpul de reacție necesar la un moment dat de joc [8] . De obicei, întârzierea rețelei este cauzată de pierderea pachetelor de rețea și de retransmiterea asociată a pachetelor de rețea pierdute.

Arhitectura lui Doom (1993) a fost cea mai simplă: fiecare jucător are o stare completă de joc. În fiecare ciclu (35 de cicluri pe secundă, 1 ciclu = 28 ms) jucătorul trimite butoane de control celorlalți. De îndată ce jucătorul a acumulat butoane de la toți participanții la jocul de rețea, el petrece un nou ciclu [9] . Aceeași lumină străbate Statele Unite în 15 ms, iar această arhitectură este suficientă chiar și pentru un joc cu modem prin mai multe state americane.

Există o asemenea diferență între jocurile moderne și Doom .

  1. O astfel de arhitectură este defectuoasă în alte privințe: este instabilă la înșelăciune , nu vă permite cu greu să intrați în jocul pe care l-ați început sau să aruncați jucătorul afară...
  2. Telefonul folosește comutarea canalului  - PBX oferă abonatului o lățime de bandă garantată cu o întârziere stabilă. Pe Internet , comutarea de pachete  - un participant trimite un mesaj ( pachet ) altuia, iar nodurile intermediare își dau seama cum să-l livreze. Acest lucru crește capacitatea canalelor și capacitatea de supraviețuire a Internetului - dar oricare dintre nodurile din rețea poate rezolva congestia prin eliminarea pachetului, întârzierea acestuia, pornirea lui pe o altă cale etc., ceea ce crește și întârzierea.
  3. Dacă pachetele durează mult, controlul este întârziat. De aceea , Doom nu joacă bine la întârzieri care depășesc ciclul de joc.

De obicei, problema întârzierilor se rezolvă în acest fel. Jocul are două stări - „garantat” și „avansat” [10] . „Garantat” este ceea ce s-a întâmplat pe server și nu poate fi schimbat în niciun fel de pachetele care sosesc brusc și poate rămâne în urmă cu o cantitate considerabilă - mai mult de 100 ms. Starea „înainte” este determinată de controlul local al jucătorului și de pachetele acelor jucători care au conectivitate bună. Astfel, în ciuda conectivității slabe, fiecare jucător are comenzi receptive. Întârzierile de rețea stereotipe arată astfel:

Încă din zilele lui Doom , au existat două moduri de a trage în jocuri - calculul instantaneu al traiectoriei unui glonț ( hitscan ) și un proiectil lent ( proiectil ). (Intermediar - un glonț rapid - este implementat extrem de rar și în jocurile foarte realiste axate pe dueluri cu lunetisti și artilerie, îl vom omite.) Cu proiectile, jocul nu se va abate foarte mult de la adevăr dacă jucătorul vizează starea avansată, iar hit-urile sunt calculate în conformitate cu garantat [11] . Este imposibil să se calculeze traiectorii în acest fel - nu există deloc stare avansată pe server, ele sunt diferite pentru diferiți jucători și există tipuri puternice de arme de scanare cu hit, cum ar fi o pușcă cu lunetă , pentru care întrebarea „hit-miss” este de arhivă . Prin urmare, în multe motoare ( Sursa ) se folosește așa-numita compensare a întârzierii  - serverul face o presupunere despre ce imagine a văzut clientul în momentul fotografierii [12] . În exterior, arată astfel: jucătorul s-a aplecat afară, s-a ascuns cu succes și a fost ucis deja acolo, într-un loc sigur [12] .

Impactul diferitelor caracteristici ale adaptorului video asupra latenței single player

Linia de bază este un joc single player sau LAN (latențele de rețea sunt neglijabile), tamponarea dublă este dezactivată, jocul este configurat astfel încât rata de cadre a sistemului să fie stabilă și să o depășească pe cea a monitorului.

Poveste

Pentru o lungă perioadă de timp, reducerea decalajului de joc a fost redusă la creșterea ratelor de cadre . În același timp, consolele de jocuri au avut inițial un avantaj - încă din primele generații au produs un frame rate ridicat (50/60 Hz), acest lucru a fost realizat prin soluții specializate care au limitat designul jocului [16] , dar au făcut sistemul mai ieftin: pt. de exemplu, Sega Mega Drive pe 16 biți cu o frecvență de 7,6 MHz și similare în performanță 80386 este deja pe 32 de biți [17] și 12...40 MHz.

La începutul anilor 2000, jocurile de pe PC au început să ofere în mod constant aceeași frecvență de 60 Hz ca pe console, iar de-a lungul anilor 2000, calitatea imaginii a fost îmbunătățită prin programarea plăcii video folosind shadere . A fost nevoie de mai multe treceri de randare pentru a adăuga iluminare, reflexii etc. [18] , iar pentru a preveni așteptarea procesorului, randarea a fost făcută întârziată [19] . Această tehnologie a jucat o glumă crudă: dacă placa video este încărcată la limită, întârzierea de la clic pe imagine crește. Limitarea ratei de cadre, chiar și până la 95%, făcând jocul practic „dependent de CPU”, reduce latența [15] .

Latența a fost în umbră în tot acest timp pentru că este greu de măsurat - necesită un mouse modificat (apăsarea butonului aprinde un LED ) și o cameră de mare viteză [2] . Cercetătorii au putut măsura o cifră de până la 120 ms, și chiar și la o rată de cadre de 120 fps este de aproximativ 40 ms [13] [15] . O astfel de întârziere este uneori numită „avantajul de a observa cu privirea” - aruncarea cu ochiul din spatele unui obstacol știe dinainte că apărătorul se află într-un anumit punct și poate trage înainte, dar apărătorul nu poate [2] . În 2020 a apărut tehnologia nVidia Reflex  - permite jocului să monitorizeze încărcarea plăcii video, iar acest lucru reduce foarte mult întârzierea [2] . Tehnologia este disponibilă cu orice monitor și chiar și pe plăci video relativ vechi (începând cu GeForce 900 ), dar jocul trebuie să o suporte. (Cealaltă parte a nVidia Reflex, calculul latenței, necesită un monitor specific și ia în considerare totul, cu excepția vitezei mouse-ului și a pixelilor monitorului.)

Sutimile de secundă sunt importante în jocurile de ritm , toate evenimentele sunt complet previzibile și sunt de obicei jucate pe console, unde dispozitivul de ieșire este un televizor cu propriii algoritmi de îmbunătățire a imaginii. De aceea Guitar Hero și jocurile similare au calibrare întârziere [20] .

Vezi si

Note

  1. Explorarea decalajului de intrare în interior și în exterior . Preluat la 28 aprilie 2022. Arhivat din original la 28 aprilie 2022.
  2. 1 2 3 4 5 6 7 8 9 Vă prezentăm NVIDIA Reflex: optimizați și măsurați latența în jocurile competitive | NVIDIA . Preluat la 20 noiembrie 2020. Arhivat din original la 19 noiembrie 2020.
  3. 1 2 3 Minute Science: Input Lag vs. Timp de răspuns - YouTube . Preluat la 28 aprilie 2022. Arhivat din original la 28 aprilie 2022.
  4. Factori care afectează capacitatea de răspuns a monitorului PC | Monitoare PC . Preluat la 28 aprilie 2022. Arhivat din original la 25 aprilie 2022.
  5. Duck Hunt pe un HDTV 2 pe YouTube
  6. Setări mod joc pe televizorul tău Samsung | Samsung Australia . Preluat la 28 aprilie 2022. Arhivat din original la 12 noiembrie 2020.
  7. 1 2 Cum să remediați bâlbâiala în jocuri - Frame Rate, Frame Time și RTSS - YouTube . Preluat la 29 aprilie 2022. Arhivat din original la 29 aprilie 2022.
  8. Mark Claypool, Kajal Claypool. Latența poate ucide: precizie și termen limită în jocurile online  //  Proceeding MMSys '10 Proceedings of the first annual ACM SIGMM Conference on Multimedia systems. - New York, NY: ACM, 2010. - P. 215-222 . - ISBN 978-1-60558-914-5 . - doi : 10.1145/1730836.1730863 .
  9. Componenta de rețea Doom | Doom Wiki | fandom . Preluat la 8 mai 2022. Arhivat din original la 7 iulie 2022.
  10. Client-Side Prediction and Server Reconciliation - Gabriel Gambetta . Preluat la 8 mai 2022. Arhivat din original la 5 mai 2022.
  11. Compensare întârziere - Wiki oficial TF2 | Team Fortress Wiki oficial . Preluat la 8 mai 2022. Arhivat din original la 8 mai 2022.
  12. 1 2 Lag Compensation - Gabriel Gambetta . Preluat la 8 mai 2022. Arhivat din original la 27 aprilie 2022.
  13. 1 2 3 4 5 Sincronizarea rapidă Nvidia mai bună decât G-Sync și V-Sync? - Youtube . Preluat la 29 aprilie 2022. Arhivat din original la 25 martie 2022.
  14. (Fără margini) Modul cu ferestre Ar trebui să îl utilizați? - Youtube . Preluat la 29 aprilie 2022. Arhivat din original la 29 aprilie 2022.
  15. 1 2 3 4 NVIDIA Reflex Low Latency - Cum funcționează și de ce vrei să-l folosești pe YouTube
  16. James Hague. Stumbling Into the Cold Expanse of Real Programming Arhivat 11 noiembrie 2020 la Wayback Machine . Traducere
  17. De exemplu, Aladdin și Regele Leu de la Disney au fost lansate doar în modul protejat 80386.
  18. Unreal's Rendering Passes - Unreal Art Optimization . Preluat la 28 aprilie 2022. Arhivat din original la 19 aprilie 2022.
  19. Redare cu treceri multiple - aplicații Win32 | Microsoft docs . Preluat la 28 aprilie 2022. Arhivat din original la 28 aprilie 2022.
  20. Cum să remediați decalajul în Guitar Hero pe YouTube

Legături