para entender LOSS e CHOKE

Ir em baixo

para entender LOSS e CHOKE

Mensagem  Kakashi-san em Sex 25 Jan 2008 - 18:44

CHOKE e LOSS têm sido os assuntos do momento.

Aqui vai um artigo meio longo para tentar esclarecer alguns pontos.

Para ver seu choke e loss, baixe o console e digite net_graph 3.
Para fechar essa janela, baixe o console novamente e digite net_graph 0

Terminologia
Choke (problema no lado do servidor): O servidor está muito lento. Você precisa encontrar um servidor melhor ou solicitar menos dados.

Loss (problema no lado do cliente): seu computador e/ou conexão está muito lento. Você prexisa trocar de computador (só ganhando na loto), ou enviar menos dados, ou reduzir suas configurações de fps_max ou de vídeo. Pode variar de mapa para mapa

Vamos agora detalhar os problemas.


CHOKE

Principal culpado - o server. Parâmetro envolvido: sv_maxrate=xxxx

sv_maxrate é medido em bytes/segundo e indica o quanto de largura de banda um servidor dedica para cada cliente, a cada segundo.

Peguemos o seguinte exemplo de configuração de servers
CS#1=6000
CS#2=8000
CS#3=10.000
CS#4=15.000

Quando se está sozinho num mapa, o servidor necessita enviar no máximo uns 1000 bytes/segundo. Quando
começa o tiroteio, num servidor com um número razoável de slots (24 por exemplo), o servidor pode necessitar enviar até 10.000 bytes/segundo.

No server CS#1 foi definido um sv_maxrate para 16 slots, o que na maioria dos casos será mais que suficiente.
No server CS#2 foi definido um sv_maxrate para 20 slots, o que pode gerar um choke logo no início do round em alguns mapas onde há pontos de encontro com combates intensos.
Os servers CS#3 e CS#4 foram definidos com uma ampla margem de atividade.

Antes que comecem a reclamar "PORQUE ENTÃO NÃO COLOCAM LOGO UM VALOR ALTO?" é importante observar que não adianta simplesmente definir um sv_maxrate alto. O administrador faz essa configuração baseado na largura de banda que ele tem disponivel (ou vocês acham que é possível definir sv_maxrate = 15000 num server onde a largura de banda para upload é de 128 KBPS? Possível até é, mas não vai funcionar corretamente ;-))

Curiosamente, se você solicitar mais bytes do que o servidor pode ser capaz de enviar (você configura seu rate acima do sv_maxrate) você pode esperar um choke quando o servidor ficar ocupado - quase todos os que reclamam de choke o fazem principalmente no início do round, quando todos os jogadores estão vivos e os tiroteios são mais intensos.

Não existe razão em configurar o rate acima do sv_maxrate.


LOSS (se fosse com T, seriam 48 problemas, além dos "outros")

As seguintes configurações no lado cliente são as principais responsáveis pelo LOSS.

rate: é o número de pacotes que o cliente pode receber por segundo. Quando rate e sv_maxrate diferem, o menor dos dois é utilizado.

cl_rate: é basicamente a mesma coisa que o rate, exceto que determina o quanto de largura de banda o cliente pode enviar ao server por segundo. Esse limite é dado pela capacidade de upload da sua linha. Para uploads de 128 Kb, o limite é 16 KB (16, 384 bytes/segundo). Para uploads de 256Kb, o limite é 32KB. Para uploads de 512 Kb (oba), o limte é de 64KB. Isso deve ser feito usando a capacidade real - não a nominal. Para verificar sua capacidade real, faça um teste com o numion http://www.numion.com/

cl_updaterate: define o número de pacotes que o cliente tentará solicitar ao servidor. NÃO DEVE SER MAIOR QUE 100 (OU, PARA AQUELES COM MÁQUINAS NINJAS, O NÚMERO MÁXIMO DE FRAMES POR SEGUNDO QUE VOCÊ
ESTÁ OBTENDO) E NUNCA MENOR QUE 20 (PORQUE AI VOCÊ JÁ ESTÁ QUASE PARANDO)

cl_cmdrate: é o número de pacote que o cliente tentará enviar ao server por segundo. Da mesma forma que cl_updaterate, NÃO DEVE SER MAIOR QUE 100 (OU, PARA AQUELES COM MÁQUINAS NINJAS, O NÚMERO MÁXIMO
DE FRAMES POR SEGUNDO QUE VOCÊ ESTÁ OBTENDO) E NUNCA MENOR QUE 20

fps_max: define o valor máximo de frame rate que o CSS irá tentar apresentar, geralmente fps_max=100 (quem dera). Para a maioria das pessoas com placas de vídeo mais fracas e/ou processadores fracos, o valor indicado é fps_max = 60.

O comando net_channels é uma boa maneira de determinar o cmdrate e updaterate ótimos para sua rede.

Para aqueles que não têm idéia de como começar, algumas sugestões:

Para máquinas ninjas, com placas de vídeo ninja e boas conexões de banda larga:
rate=10,000
cl_updaterate=100
cl_rate=10,000
cl_cmdrate=100
fps_max=100
fps_modem=100
interp=0.1

Para pessoas com boas conexões de banda larga, placas de vídeo intermediárias e processadores razoáveis (Atlhon 2.0 ou superior), e com boas quantidades de memória RAM (pelo menos 512MB):

rate=10,000
cl_updaterate=50
cl_rate=10,000
cl_cmdrate=50
fps_max=60
fps_modem=60
interp=0.1

Para pessoas com conexões de banda larga mais lentas (tipo 256 download/64 upload), placas de vídeo tipo GF4 MX, GF 5700 ou menor, ATI 9600 ou menor, processadores abaixo de um Athlon 1.8:

rate=10,000
cl_updaterate=40
cl_rate=10,000
cl_cmdrate=40
fps_max=60
fps_modem=60
interp=0.1

Se ainda assim você estiver experimentando problemas de choke, tente trabalhar com o net_maxfragments. O valor padrão é 1280. Primeiro tente aumentar esse valor (incrementos de 20) até atingir 1500. Se não resolver, volte ao valor padrão e comece a reduzí-lo (decrementos de 20) até atingir 1000. De maneira geral, net_maxfragments DEVE ser deixado no valor default.

--------------------------------------------------------------------------------------------------
Texto extraído do forum SERVER STRIKE, de autoria de DSTN - KRAMUNHAO.
avatar
Kakashi-san
Administradores

Número de Mensagens : 126
Localização (Cidade/UF) : formosa-go
STEAM : STEAM_0:0:14420524
Data de inscrição : 14/01/2008

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum