Home
FAQ
Szukaj
Użytkownicy
Grupy
Galerie
Rejestracja
Zaloguj
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
N@w3TOn3 Administrator
|
Wysłany:
Wto 0:19, 22 Lip 2008 |
|
|
Dołączył: 09 Wrz 2006
Posty: 3475 Przeczytał: 0 tematów
Pomógł: 1 raz Ostrzeżeń: 0/5
|
co po nie ktorym powinno pomoc choc troche
Komendy połączenia
Od niepamiętnych czasów człowiek starał się znaleźć rozwiązanie na dwa fundamentalne dla jego ewolucji problemy - jak wznieść się w powietrze oraz jak zlikwidować laga w Call of Duty.Niestety oba są wciąż dalekie od rozwiązania. Możemy jednak poznać mechanizmy jakie rządzą protokołem sieciowym Call of Duty.
1. com_maxfps [85]
To jedna z najważniejszych komend całej gry, mająca wpływ na wiele czynników, w tym także na połączenie. Na słabym sprzęcie jej wartość powinna być równa średniemu fps zmierzonemu przy pomocy timedemo. Chodzi o to, żeby nie powodować lagów graficznych, kiedy fps nagle spada o kilkadziesiąt punktów wskutek przejścia z ubogiej w tekstury, kwadratowej komnaty do bogatszej, okrągłej. Lag graficzny nie będzie nigdy tak silnie odczuwany jak nagły skok pingu, ale może być szczególnie dokuczliwy przy grze lokalnej. Na lepszym sprzęcie nie ma on już tak wielkiego znaczenia. Niestety wartość com_maxfps równa średniemu fps ma jedną wadę. Chodzi tutaj o pewną właściwość gry, o której wciąż wie niewiele osób - Im większy aktualny fps, tym dalej i wyżej można skoczyć. Przyczyna tego leży w kodzie gry. Znalazłem nawet opracowania wyjaśniające przy pomocy kinematyki tą właściwość, są one jednak zbyt złożone, żeby je tu umieścić. Przy normalnej nawigacji nie dostrzeżemy tej właściwości, jednak jest wiele miejsc na mapach, które potwierdzają tę prawidłowość, np. tylko przy wysokim fps można wskoczyć na zniszczony dom przy B na mapie Dawnville ,wiele miejsc na Neuville itd. Bardziej zaawansowany gracz będzie z tego powodu zainteresowany wysokimi wartościami com_maxfps, nie bacząc na lagi graficzne.
2. snaps [20]
Komenda dotyczy wyłącznie klienta i określa liczbę stanów gry otrzymywanych od serwera na sekundę, tzw. snapshot'ów. Zakres jej wartości mieści się od 10 do sv_fps serwera. Sv_fps dotyczy wyłącznie serwera i określa liczbę snapshotów wysyłanych do klientów. Wartości obydwu komend powinny być równe dla prawidłowej synchronizacji. Wartość domyślna obu jest równa 20 i w normalnych warunkach powinniśmy zmienić wartość snaps tylko jeśli na serwerze z jakiegoś powodu jest ustawiony wyższy sv_fps (można to podejrzeć w Server Info). Liczba snaps powinna być wtedy dzielnikiem sv_fps. Warto obniżyć wartość snaps, kiedy dysponujemy bardzo wolnym połączeniem o wysokim pingu przy jednocześnie wysokim com_maxfps i kiedy lagometer pokazuje sporo żółtego koloru zarówno na dolnym i górnym wykresie. Może to poprawić jakość połączenia.
3. rate [3000]
Komenda klienta, kontroluje maksymalną ilość bajtów na sekundę (Bps), jaką będziemy otrzymywać od serwera. Domyślnie 3000, czyli około 2.9kB/sek - jest to prawie połowa możliwości modemu (56kB to rate 7000). Wniosek taki, że szybkie połączenie nie jest najważniejszym czynnikiem jego jakości.CoD zawiera w sobie mechanizm kompresji (zwłaszcza w 1.5), więc rate równy 3000 i tak pozwala na wymianę danych z większą prędkością (o kilkadziesiąt procent), ponieważ pakiety są skompresowane przed wysłaniem. Analogicznie pracują modemy - często przy ściąganiu np. dużego pliku tekstowego możemy obserwować prędkość przekraczającą możliwości modemu. Dzieje się tak ponieważ plik ten ulega skompresowaniu, a modem po dekompresji myśli że odebrał plik nieskompresowany i na tej podstawie oblicza prędkość transferu. Odpowiednikiem tej komendy po stronie serwera jest sv_maxrate. Domyślnie jest ona równa zero, co oznacza, że serwer nie narzuca maksymalnej wartości rate. Gdyby taką narzucił, to zmiana rate po stronie klienta powyżej sv_maxrate nie miała by sensu. Sv_maxrate można również w większości przypadków podejrzeć w Server Info. Kiedy zmieniać rate? Jeśli sv_maxrate jest równe 0, to logiczne by było zwiększać rate dla szybkich połączeń typu LAN czy cable, a zmniejszać dla bardzo wolnych. O ile zwiększanie jest jak najbardziej prawidłowe, to zmniejszać nie ma za bardzo czego, ponieważ wspomniane wyżej 2.9kB jest właściwe dla modemu 28.8kbps, więc już dla modemu 56k wartość rate mogłaby być zwiększona. W przypadku wymienionym wyżej przy omawianiu snaps, kiedy lagometer wskazuje dużo żółtych linii na obydwu wykresach, wskazane jest obok zmniejszania snaps zwiększanie rate, co może działać synergicznie.
4. cl_maxpackets [30]
Komenda kontroluje ilość pakietów UDP lub IPX wysyłanych przez klienta na serwer. Domyślnie 30, dozwolony zakres od 15 do 100. Komenda ma znaczenie w przypadku łącz o słabym upload'zie. Prędkość download'u nie ma dla niej znaczenia. Słaby upload występuje np. przy połączeniu przez sieć telewizji kablowej, a także trzeba pamiętać, że modem 56k nie może wysyłać szybciej niż z prędkością 33600bps. Nie ma jednak przelicznika wartości tej komendy na prędkość upload'u. W przypadku modemu 56k można eksperymentować z obniżeniem cl_maxpackets np. do 20, a na szybszym łączu ze zwiększeniem jej wartości. Powinna ona wtedy być równa średniemu fps lub stanowić dzielnik com_maxfps, żeby zapewnić synchronizację wysyłania pakietów z renderowanymi klatkami.
5. cl_packetdup [1]
Komenda określa ilość zdublowanych pakietów UDP lub IPX wysyłanych przez klienta w celu minimalizacji strat pakietów. Możliwy zakres od 1 do 5, domyślnie 1. W przypadku idealnego połączenia można zmniejszyć wartość do 0, natomiast kiedy lagometer wskazuje na dużą ilość utraconych pakietów (czerwone linie na dolnym wykresie), dobrze jest zwiększyć wartość do 2 lub więcej.
6. cl_timenudge [0]
Komenda służy do wywoływania opóźnienia na komputerze klienta (symulacja laga) lub do zwiększania predykcji ruchów modelu klienta przez serwer. Pierwszy efekt osiąga się przez użycie tej komendy z wartością dodatnią. Wpisanie np. 50 spowoduje 50-milisekundowe opóźnienie, co będzie symulowało ping o wysokości 50. Nie ma to jednak znaczenia dla poprawiania jakości połączenia, a wręcz przeciwnie. Wartość ujemna dostraja tzw. client side prediction, czyli pozwala klientowi na przewidywanie ruchów pozostałych graczy. W przypadku stałego pingu na poziomie 100 można eksperymentować z wartością ujemną równą 25-50% pingu, co może zmniejszyć laga. Lagometer w takim przypadku będzie wskazywał głównie kolor żółty. Wartości negatywnej nie stosuje się wraz z komendą cg_smoothclients 1.
7. cg_predictitems [1]
Komenda steruje tym, kto decyduje, czy przedmiot został podniesiony. Wartość 0 pozostawia to serwerowi, przy wartości 1 decyduje o tym klient. W tym drugim przypadku przy wysokim pingu mogą zdarzyć się błędy predykcji, ponieważ broń którą wydaje się nam, że podnieśliśmy, w rzeczywistości wskutek opóźnienia nie została podniesiona.
8. cg_smoothclients [0]
Wartość 1 aktywuje dodatkową predykcję klienta, dotyczącą pozostałych klientów. Czasami się zdarza kiedy inni gracze tracą pakiety, że na naszym komputerze pojawiają się oni co kilka klatek, co dość poważnie utrudnia celowanie do nich. Wtedy może pomocne okazać się włączenie tej opcji. Skutkiem ubocznym mogą być jednak błędy predykcji. Nie używa się tej opcji wraz z ujemną wartością cl_timenudge.
9. cg_lagometer [0]
Lagometer jest bardzo dobrym narzędziem diagnostycznym i jego szczegółowe omówienie znajduje się w poprzednim artykule.
Jest oczywiste, że nie da się poprawić pingu z 300 na 30. Można jedynie eksperymentować z powyższymi komendami, jeśli ping jest wysoki, ale w miarę stabilny i przyczyny takiego stanu są częściowo chociaż znane.
Poniżej zamieszczam zestawy komend teoretycznie właściwe dla każdego rodzaju połączenia. Można je wpisać w osobne configi i exec'ując sprawdzać, jaki mają wpływ na jakość połączenia.
Minimalne możliwe ustawienia:
set cl_maxpackets "15"
set cl_packetdup "0"
set snaps "10"
set rate "2500"
Modem 56k:
set cl_maxpackets "30"
set cl_packetdup "1"
set snaps "20"
set rate "5000"
SDN double i SDI/HIS:
set cl_maxpackets "60"
set cl_packetdup "1"
set snaps "40"
set rate "12000"
LAN:
set cl_maxpackets "100"
set cl_packetdup "0"
set snaps "40"
set rate "25000"
Post został pochwalony 0 razy
Ostatnio zmieniony przez N@w3TOn3 dnia Wto 0:22, 22 Lip 2008, w całości zmieniany 1 raz |
|
|
|
|
Liveed
|
Wysłany:
Wto 9:25, 22 Lip 2008 |
|
|
Dołączył: 04 Lip 2008
Posty: 71 Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
zaloz nowy temat do tego ;P
Post został pochwalony 0 razy |
|
|
Mutant gomes
|
Wysłany:
Wto 10:16, 22 Lip 2008 |
|
|
Dołączył: 23 Kwi 2007
Posty: 711 Przeczytał: 0 tematów
Ostrzeżeń: 5/5
Skąd: Tychy
|
zajrzałem, potem wszedłem na serwa i nic? cos kantujesz
Post został pochwalony 0 razy |
|
|
N@w3TOn3 Administrator
|
Wysłany:
Wto 13:40, 22 Lip 2008 |
|
|
Dołączył: 09 Wrz 2006
Posty: 3475 Przeczytał: 0 tematów
Pomógł: 1 raz Ostrzeżeń: 0/5
|
czytaj ze zrozumieniem napisalem wyzej co po nie ktorym
Post został pochwalony 0 razy |
|
|
Mutant gomes
|
Wysłany:
Wto 16:22, 22 Lip 2008 |
|
|
Dołączył: 23 Kwi 2007
Posty: 711 Przeczytał: 0 tematów
Ostrzeżeń: 5/5
Skąd: Tychy
|
mylaca nazwa tematu!
Post został pochwalony 0 razy |
|
|
g0ku Administrator
|
Wysłany:
Sob 18:00, 09 Sie 2008 |
|
|
Dołączył: 08 Wrz 2006
Posty: 1767 Przeczytał: 0 tematów
Pomógł: 1 raz Ostrzeżeń: 0/5
Skąd: z ~V!ledY|
|
to chyba nie dziala ? :p znajac zycie takie bajeczki nie raz sie czytalo o tych pingach i nic nie dawalo ;] wogole Elo
Post został pochwalony 0 razy |
|
|
N@w3TOn3 Administrator
|
Wysłany:
Wto 13:45, 16 Gru 2008 |
|
|
Dołączył: 09 Wrz 2006
Posty: 3475 Przeczytał: 0 tematów
Pomógł: 1 raz Ostrzeżeń: 0/5
|
no to juz zalezy od lacza i poniekad od kompa
Post został pochwalony 0 razy |
|
|
$uGa
|
Wysłany:
Wto 18:39, 16 Gru 2008 |
|
|
Dołączył: 21 Sty 2007
Posty: 410 Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
tak żeby faktycznie zdziałać coś z pingiem to mamy mało możliwości
Ale ! Jest program, który naprawde działa, jest nim 'cfosspeed' - naprawdę polecam
Post został pochwalony 0 razy |
|
|
|
|
Możesz pisać nowe tematy Możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
fora.pl - załóż własne forum dyskusyjne za darmo
|
|