De ce unora le frameaza, altora nu, in acelasi gather
Pagina 1 din 1
De ce unora le frameaza, altora nu, in acelasi gather
Ce inseamna server 1000 FPS ?
Inseamna ca HLDS-ul calculeaza 1 frame de server (se poate spune si tic) pe milisecunda. O secunda are 1000 de milisecunde, deci 1000 FPS / Frames per Second sau Cadre pe Secunda in romana.
Acest lucru se poate obtine printr-un server cu potential mare, si setarea sys_ticrate 1000.
De ce nu am 100 fps constant?
Pentru ca fps-urile tale nu sunt procesate de catre server, ci de calculatorul tau.
Folosesc cl_updaterate 101; rate 25000; cl_cmdrate 101 etc., este bine?
Pentru 99% din jucatorii din Romania cu siguranta nu, si am sa incerc sa explic cat mai succint.
Ca sa te poti juca cu setarile de mai sus, trebuie sa ai un calculator pe masura, iar conexiunea de net sa fie de o calitate exceptionala. Deaceea la LAN-uri se joaca cu aceste setari, calculatoarele permit, conexiunea la internet, fiind locala, deasemeni permite.
Multi va veti intreba, "Care sunt setarile optime?". Nu am un raspuns pt. asa ceva pentru ca trebuie sa il descoperiti singuri in functie de configuratia voastra a calculatorului si internetul de care beneficiati.
Am peste 100 fps si totusi ma misc foarte incet, de ce ?
Daca ai peste 100 fps inseamna ca ai "developer 1", setare de care nu ai nevoie. Seteaza "developer 0" si o sa revina limita la 100 fps.
Oricum, daca ai un monitor care il tii in 60 Hz, el nu-ti va arata niciodata 100 fps pe ecran, ci doar 60. Ca apare in dreapta jos e altceva, dar vizibil pe monitor, pentru ochiul tau, sunt doar 60 de cadre. Insa ai nevoie ca PC-ul tau sa-ti proceseze 100 ca sa te misti fluent.
Este bine ca un HLDS sa ruleze la 1000 FPS?
Si da, si nu. Daca jucatorii de pe el au calculatoare varza si internetul lor este in pioneze, cu siguranta nu este nevoie de 1000 FPS, pentru ca:
1.) Tu ceri 101 update-uri pe secunda, serverul iti va da 101 update-uri pe secunda pentru ca are de unde. El proceseaza defapt 1000 de update-uri pe secunda.
2.) Din punctul 1 rezulta ca aproximativ 900 de update-uri sunt procesate inutil de catre server
Daca 900 de FPS-uri sunt procesate inutil, de ce un server la 100 FPS se misca prost?
Fiecare actiune care o face un plugin consuma in medie un ticrate. Deaceea Gather Network a ales sa se managerieze meciurile prin rcon, de catre ei, si nu independent prin pluginuri. Lasand astfel serverele mult mai libere, sa se concentreze pe procesarea FPS-urilor.
Un server este ok daca ruleaza peste 300 FPS. 300 FPS ii ajung sa proceseze 100 de update-uri pt. jucatori, si, deasemeni, sa poata "consuma" in liniste tic-uri pt. procesarea instructiunilor date de pluginuri.
Si atunci de ce nu se misca bine la 1000 FPS ?
Pentru ca serverul este prea exact, calculand 1 update la milisecunda.
Clientii de CS cer de regula 101 update-uri, ceea ce este total eronat. Pentru ca, tu pana cand vei primi instructiunea, pachetul respectiv care il ceri, trece ceva timp.
Ca exemplu, ai ping 20. Ceri 1 update, tu il primesti in 20 de milisecunde. In astea 20 de milisecunde, serverul a mai procesat inca 20 de update-uri. Evident ca tu vei trimite inapoi un pachet, cand ai tras un glont, cu 20 de update-uri in urma. Ceea ce duce la, aparenta miscare proasta a serverului.
Atunci cum clientii de CS isi actualizeaza pozitia de 1000 de ori pe secunda daca au updaterate 100?
Foarte simplu, HLDS vine in ajutorarea jucatorilor, facand o predictie pe baza pozitiei lor actuale, si directia in care se duce tinta. Daca vezi un inamic din profil si tragi cu 1 mm mai in fata capului sau cand este in mers spre exemplu, ii vei trage in cap. Nu pentru ca serverul ar tine cont de viteza glontului, pentru ca nu tine, ci pentru ca intra in joc predictia.
In schimb, daca veti trage un glont direct in ceafa, o sa vedeti ca il ratati. Repet, cu jucatorul advers in fata voastra, din profil. Si sa se afle in mers.
Ce este ex_interp? Are vreo treaba cu aim-ul?
Categoric NU are nicio treaba cu aimul.
Ce este ex_interp defapt ? ex_interp trebuie sa mearga in concordanta cu setarea cl_updaterate, el reprezinta mai exact, timpul in secunde de pauza pe care sa-l faca intre fiecare updaterate, astfel incat serverul sa calculeze cat mai exact cu putinta cadrele pentru clientul de CS. Daca aceste cere mai multe update-uri decat ii poate procesa calculatorul, clientul de CS incepe sa le ignore, provocand astfel pierderi locale, care nu sunt vizibile la choke si/sau la loss. Ducand astfel la inexactitatea jocului.
Si atunci cat trebuie sa fie ex_interp?
ex_interp x cl_updaterate = 1 sau cat mai aproape de 1 cu putinta
Pentru cl_updaterate 101 ex_interp trebuie sa fie 0.009 valoarea minima care o poate accepta aceasta setare
Daca vrem sa rulam ex_interp 0.01 trebuie sa setam automat cl_updaterate 100 pentru ca 0.01 x 100 = 1
CONCLUZII:
- Multi dintre voi habar nu au sa-si faca setarile, declansand astfel un lant de evenimente. Calculatorul nu le proceseaza toate datele primite de la server; internetul transmite inapoi date incomplete procesate local de calculator dat fiind faptul ca procesorul sau placa video sau memoriile, sau toate 3, nu pot procesa in timp util cerintele jucatorului; serverul primeste informatii relativ vechi pentru el, chiar daca nu pare, 20 ms inseamna mult pentru un calculator. Iar de la tot lantul acesta de evenimente, voi ajungeti sa ma injurati pe mine, sa-mi spuneti ca sunt de porc. Defapt studiati ce setari trebuie sa faceti..
Inseamna ca HLDS-ul calculeaza 1 frame de server (se poate spune si tic) pe milisecunda. O secunda are 1000 de milisecunde, deci 1000 FPS / Frames per Second sau Cadre pe Secunda in romana.
Acest lucru se poate obtine printr-un server cu potential mare, si setarea sys_ticrate 1000.
De ce nu am 100 fps constant?
Pentru ca fps-urile tale nu sunt procesate de catre server, ci de calculatorul tau.
Folosesc cl_updaterate 101; rate 25000; cl_cmdrate 101 etc., este bine?
Pentru 99% din jucatorii din Romania cu siguranta nu, si am sa incerc sa explic cat mai succint.
Ca sa te poti juca cu setarile de mai sus, trebuie sa ai un calculator pe masura, iar conexiunea de net sa fie de o calitate exceptionala. Deaceea la LAN-uri se joaca cu aceste setari, calculatoarele permit, conexiunea la internet, fiind locala, deasemeni permite.
Multi va veti intreba, "Care sunt setarile optime?". Nu am un raspuns pt. asa ceva pentru ca trebuie sa il descoperiti singuri in functie de configuratia voastra a calculatorului si internetul de care beneficiati.
Am peste 100 fps si totusi ma misc foarte incet, de ce ?
Daca ai peste 100 fps inseamna ca ai "developer 1", setare de care nu ai nevoie. Seteaza "developer 0" si o sa revina limita la 100 fps.
Oricum, daca ai un monitor care il tii in 60 Hz, el nu-ti va arata niciodata 100 fps pe ecran, ci doar 60. Ca apare in dreapta jos e altceva, dar vizibil pe monitor, pentru ochiul tau, sunt doar 60 de cadre. Insa ai nevoie ca PC-ul tau sa-ti proceseze 100 ca sa te misti fluent.
Este bine ca un HLDS sa ruleze la 1000 FPS?
Si da, si nu. Daca jucatorii de pe el au calculatoare varza si internetul lor este in pioneze, cu siguranta nu este nevoie de 1000 FPS, pentru ca:
1.) Tu ceri 101 update-uri pe secunda, serverul iti va da 101 update-uri pe secunda pentru ca are de unde. El proceseaza defapt 1000 de update-uri pe secunda.
2.) Din punctul 1 rezulta ca aproximativ 900 de update-uri sunt procesate inutil de catre server
Daca 900 de FPS-uri sunt procesate inutil, de ce un server la 100 FPS se misca prost?
Fiecare actiune care o face un plugin consuma in medie un ticrate. Deaceea Gather Network a ales sa se managerieze meciurile prin rcon, de catre ei, si nu independent prin pluginuri. Lasand astfel serverele mult mai libere, sa se concentreze pe procesarea FPS-urilor.
Un server este ok daca ruleaza peste 300 FPS. 300 FPS ii ajung sa proceseze 100 de update-uri pt. jucatori, si, deasemeni, sa poata "consuma" in liniste tic-uri pt. procesarea instructiunilor date de pluginuri.
Si atunci de ce nu se misca bine la 1000 FPS ?
Pentru ca serverul este prea exact, calculand 1 update la milisecunda.
Clientii de CS cer de regula 101 update-uri, ceea ce este total eronat. Pentru ca, tu pana cand vei primi instructiunea, pachetul respectiv care il ceri, trece ceva timp.
Ca exemplu, ai ping 20. Ceri 1 update, tu il primesti in 20 de milisecunde. In astea 20 de milisecunde, serverul a mai procesat inca 20 de update-uri. Evident ca tu vei trimite inapoi un pachet, cand ai tras un glont, cu 20 de update-uri in urma. Ceea ce duce la, aparenta miscare proasta a serverului.
Atunci cum clientii de CS isi actualizeaza pozitia de 1000 de ori pe secunda daca au updaterate 100?
Foarte simplu, HLDS vine in ajutorarea jucatorilor, facand o predictie pe baza pozitiei lor actuale, si directia in care se duce tinta. Daca vezi un inamic din profil si tragi cu 1 mm mai in fata capului sau cand este in mers spre exemplu, ii vei trage in cap. Nu pentru ca serverul ar tine cont de viteza glontului, pentru ca nu tine, ci pentru ca intra in joc predictia.
In schimb, daca veti trage un glont direct in ceafa, o sa vedeti ca il ratati. Repet, cu jucatorul advers in fata voastra, din profil. Si sa se afle in mers.
Ce este ex_interp? Are vreo treaba cu aim-ul?
Categoric NU are nicio treaba cu aimul.
Ce este ex_interp defapt ? ex_interp trebuie sa mearga in concordanta cu setarea cl_updaterate, el reprezinta mai exact, timpul in secunde de pauza pe care sa-l faca intre fiecare updaterate, astfel incat serverul sa calculeze cat mai exact cu putinta cadrele pentru clientul de CS. Daca aceste cere mai multe update-uri decat ii poate procesa calculatorul, clientul de CS incepe sa le ignore, provocand astfel pierderi locale, care nu sunt vizibile la choke si/sau la loss. Ducand astfel la inexactitatea jocului.
Si atunci cat trebuie sa fie ex_interp?
ex_interp x cl_updaterate = 1 sau cat mai aproape de 1 cu putinta
Pentru cl_updaterate 101 ex_interp trebuie sa fie 0.009 valoarea minima care o poate accepta aceasta setare
Daca vrem sa rulam ex_interp 0.01 trebuie sa setam automat cl_updaterate 100 pentru ca 0.01 x 100 = 1
CONCLUZII:
- Multi dintre voi habar nu au sa-si faca setarile, declansand astfel un lant de evenimente. Calculatorul nu le proceseaza toate datele primite de la server; internetul transmite inapoi date incomplete procesate local de calculator dat fiind faptul ca procesorul sau placa video sau memoriile, sau toate 3, nu pot procesa in timp util cerintele jucatorului; serverul primeste informatii relativ vechi pentru el, chiar daca nu pare, 20 ms inseamna mult pentru un calculator. Iar de la tot lantul acesta de evenimente, voi ajungeti sa ma injurati pe mine, sa-mi spuneti ca sunt de porc. Defapt studiati ce setari trebuie sa faceti..
dVm*DaNte- Mesaje : 230
Activitate : 475
Reputatie : 6
Data de inscriere : 11/11/2012
Varsta : 28
Localizare : Mun.Dragasani
Pagina 1 din 1
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum