Ce este ex_interp

In jos

Ce este ex_interp

Mesaj Scris de DarkArms la data de Joi Sept 29, 2016 3:44 pm

Zi de zi, pe orice server, forum, chiar si cand iesi la o plimbare auzi cate un pustan care se contrazice cu altul cum ar trebui folosit ex_interpul, ba 0.05, ba 20, ba 1. Prostii si nonsensuri.
Aici este o prezentare mai clara a comenzii ex_interp si rolul acesteia. Reprezentarea ce urmeaza nu imi apartine mie:

Să zicem că trenul X pleacă din gară în minutul 0. Peste 5 minute, știm că trenul a parcurs o distanță de 2 kilometri (2000 metri). Să presupunem prin absurd că viteza trenului era constantă (adică a plecat brusc din gară cu 25 km/h și a menținut acea viteză). Atunci cu siguranță putem spune că la minutul 2.5 (jumate din timpul total) a parcurs 1 kilometru (jumate din distantă). La fel cum putem spune că la minutul 1.25 (un sfert din timpul total) a parcurs 500 metri (un sfert din distanță). Ghicirea aceasta se numește interpolare.
Ok, și ce legătură are trenul ăsta cu cs-ul? Gândește-te la tren ca la un pachet de date trimis de server în care se găsesc pozițiile jucătorilor. Serverul trimite aceste pachete doar de câteva ori pe secundă, nu încontinuu. Știind intervalul acestor pachete (odată la câte milisecunde primești un pachet, sau odată la câte secunde știm exact distanța parcursă de un jucător), putem ghici poziția unui jucător între aceste intervale.
În cazul nostru, intervalul acestor pachete este dat de cl_updaterate, care de obicei este setat la 101 (adică 101 pachete pe secundă). Acum te vei întreba, de ce ne mai trebuie o altă setare dacă știm intervalul. Nu poate cs-ul să-și calculeze singur asta? Ba da, poate, dar dacă ai o conexiune slabă cu serverul, nu vei primi toate aceste pachete, sau le vei primi întârziate. cl_updaterate spune serverului cât de repede vrei să primești datele, nu că le-ai și primi atât de repede. Deci ai nevoie de o altă setare pentru interpolare (ghicire). Aceasta este desigur ex_interp, care este diferența de timp între două pachete care crezi că este reală. Valoarea 0.01 la ex_interp înseamnă că tu bănuiești că următorul pachet are să vină peste 0.01 secunde, sau 10 milisecunde. Valoarea 0.1 pe de altă parte o pui când următorul pachet are să vină peste 0.1 secunde, sau 100 milisecunde. Dacă ești sigur că ai o conexiune stabilă cu serverul, valoarea aceasta ar trebui să o pui la 1/cl_updaterate, adică inversul numărului de pachete pe secundă. Așadar, dacă ai cl_updaterate setat pe 100, ex_interp ar trebui să fie 0.01 (1/100), dacă îl ai setat pe 10, ex_interp ar trebui să fie 0.1 (1/10) și tot așa.
Ce se întâmplă dacă setezi greșit valoarea lui ex_interp?
Să revenim la trenul nostru. Să presupunem că nu știm timpul în care trenul parcurge cei 2 kilometri și că aproximăm la 10 minute. Atunci putem presupune că în 5 minute, trenul a parcurs doar 1 kilometru, când de fapt, trenul a mers 2 km. În cs, dacă setezi ex_interp mai mare decât ar trebui, jucătorul ar merge mai departe decât trebuie, și la următorul pachet primit, va reveni la poziția corectă (ceva gen, 2 pași înainte, 1 pas înapoi). Analog se întâmplă și dacă setezi valoarea lui ex_interp mai mică: jucătorul va merge mai puțin decât trebuie, și la următorul pachet primit, va sări la poziția corectă (1 pas înainte, 2 pași înainte).
Setarea greșită a lui ex_interp nu afectează doar estetica jocului, ci și gameplay-ul. Să zicem că ești cu awp-ul cu ținta la maxim și că la o distanță destul de mare trece un inamic perpendicular pe direcția ta (cazul trasului din bază tero la porți mijloc pe dust2). Dacă tu tragi între 2 pachete primite, există șansa destul de mare să nu fi nimerit jucătorul, chiar dacă tu ai pus ținta pe el, asta pentru că el, de fapt, este mai în față în cazul în care ex_interp este mai mic, sau mai în spate, în cazul în care ex_interp este mai mare.

Esti grelut de cap, sau literele ti se amesteca si nu mai intelegi nimic? Ceea ce este de retinut este ca ex_interp este o setare interpolara care ajuta la ghicirea diferentei de timp din primirea si transmiterea datelor, iar daca vrei ca totul sa mearga in concordanta pune valoarea 0 pentru ca clientul iti va seta automat valoarea in functie de cl_updaterate.

Asa ca data viitoare cand veti mai vedea vreun stresat care va zice pe counter, pune-ti ex_interpul ganditi-va ca omuletul din prima nu il are pus bine, ex_interpul trebuie sa se puna singur nu manual.

DarkArms
Founders
Founders

Mesaje : 226
Data de inscriere : 23/09/2016
Varsta : 16
Localizare : Terra

http://lowgamers.forumgratuit.ro

Sus In jos

Re: Ce este ex_interp

Mesaj Scris de Dracu la data de Sam Noi 12, 2016 12:18 am

Good Job!
avatar
Dracu
Moderators
Moderators

Mesaje : 193
Data de inscriere : 11/11/2016

Sus In jos

Re: Ce este ex_interp

Mesaj Scris de Tipu la data de Mar Noi 22, 2016 10:04 pm

Good Job!
avatar
Tipu
Administrators
Administrators

Mesaje : 151
Data de inscriere : 22/11/2016

Sus In jos

Re: Ce este ex_interp

Mesaj Scris de CelRau la data de Mar Noi 29, 2016 10:12 pm

Good Job!
avatar
CelRau
Registered user
Registered user

Mesaje : 184
Data de inscriere : 26/11/2016

Sus In jos

Re: Ce este ex_interp

Mesaj Scris de Continut sponsorizat


Continut sponsorizat


Sus In jos

Sus

- Subiecte similare

 
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum