Guía sobre rates, interpolación y servidores

L

#90

si consigues tener 128 estables, mejor dejarlos ahi... así va parejo con el cl_cmdrate maximo.

EvilActivity

estables no por que suben y bajan, pero que esos 128 si que los piyo, por cierto cual es el comando que no se si lo puse bien?

1 respuesta
L

#92

hombre, si no es estable... creo que es peor que limitarlos a mas bajos. Que nos comente el experto, xDD (Silence) #63

fps_max, es el comando

1 respuesta
EvilActivity

#93 vale gracias !
Silence manifiestate.

Zeroks

La idea original es tener el mismo envio que frames generas por segundo, por lo que si usas cmd 100 con 100/105 estaria bien, con que los limiteis a 130 es suficiente. (aunque no llegueis)

B

#90 Te digo lo mismo que a #88. Con satisfacer los requerimientos del tickrate del server es suficiente. Es decir, si el server es tickrate 128 y tu máquina es estable a 128 fps te irá perfecto. Si prefieres bloquear tus fps (con el comando fps_max) por encima de ese framerate no hay problema; simplemente el server los ignorará. Hay gente que por temas de refresco de monitor y tarjeta gráfica tienen menos tearing si no lo limitan a 128 fps y les da mejor feeling. Eso ya es a gusto personal.


En cuanto saque un poco de tiempo actualizo #1 con una explicación detallada sobre el netgraph, que creo que es importante.

1 respuesta
L

#96

Pero eso no está diciendo... dice que si es tickrate 128, hay que tener poner fps_max 128 si se tiene solo esos 128 estables, o si no, no.

1 respuesta
B

#97 Si tu framerate no es estable a 128 fps entonces lo bajas hasta donde lo sea y te configuras los rates en función de ese framerate (eso está explicado en #1 y en varios posts de este thread). Aunque si jugases en un server como el nuestro, con max/min cmdrate forzado a 128, por mucho que lo intentes cambiar no te va a dejar. Pero tampoco es problema; simplemente enviarás los paquetes que pueda generar tu máquina.

1
Jotauvece

esto que estais comentado sobre los fps y el tickrate es para gente que tenga problemas con los fps? lo digo por que yo voy entre 200 y 300 variando todo el rato, notare algo diferente si pongo fps_max a 150? el juego me va totalmente fluido

1 respuesta
B

#99 --> #96. Ahí está explicada tu pregunta. Leéis poco mamones xD

B

El Netgraph

Es curioso que aunque somos muchos los que usamos el net_graph 1 a diario, pocos saben interpretar los distintos valores que se muestran en el mismo. Con la siguiente explicación voy a tratar de aparcar todas las dudas que podáis tener.

La captura que adjunto a continuación se ha realizado desde un cliente conectado a un servidor dedicado tickrate 128 con la siguiente configuración:

  • fps_max 61
  • cl_cmdrate 128
  • cl_updaterate 128
  • rate 80000
    [/b]

Después de todo lo que habéis leído hasta ahora pensaréis que es absurdo forzar el cliente a 61 fps si es capaz de lidiar un framerate superior. Lo hago simplemente en beneficio del ejemplo que explico a continuación.

A) FPS: indica la cantidad de fotogramas por segundo que se están renderizando en el cliente.

B) PING: tiempo en milisegundos que tarda un paquete enviado desde el cliente al servidor en volver de nuevo al cliente (round trip time, RTT).

C) IN: todo lo que se encuentra en esta fila, a excepción del lerp, hace referencia a la información que entra (IN) en el cliente; en otras palabras, lo que el cliente recibe del servidor.

D) OUT: todo lo que se encuentra en esta fila hace referencia a la información que sale (OUT) del cliente; en otras palabras, lo que cliente envía al servidor.

E) Tamaño en bytes de cada paquete que se recibe del servidor. Recordemos que el parámetro net_maxroutable definía que como máximo los paquetes podían ser de 1200 bytes. Aquí podemos comprobar que, gracias a la compresión delta, el tamaño de cada paquete es muy inferior a 1200 bytes.

F) Tamaño en bytes de cada paquete que el cliente envía al servidor.

G) Consumo medio de ancho de banda de descarga en kilobytes/s.

H) Consumo medio de ancho de banda de subida en kilobytes/s.

I) cl_updaterate del cliente.

J) cl_cmdrate del cliente.

K) Media de updates que se reciben del servidor por segundo.

L) Media de “client command updates” que el cliente envía al servidor por segundo. Como veréis, a pesar de tener el cl_cmdrate a 128 en la configuración de nuestro cliente, tan solo se están enviando 60. La razón es bien sencilla: el cliente tan solo está renderizando 60 frames por segundo (fps_max 61) y por lo tanto no puede subir más información que la que su máquina renderiza.

M) Lerp: latencia de interpolación del cliente en milisegundos.

Como ya expliqué en el apartado “Servidor y cliente trabajando en conjunto”, cada update que enviamos y recibimos del servidor consume una cantidad determinada de bytes. Si nos fijamos en los valores de la captura del netgraph anterior veremos que en el instante que se tomó la captura, el tamaño de los paquetes que estábamos enviando al servidor (F) era de 78 bytes. Si multiplicamos 78 por L deberíamos obtener una cifra muy aproximada a H. Hagamos la comprobación:

78 bytes * 60 = 4680 bytes; 4680 bytes / 1024 = 4,57 Kilobytes

Como veréis en el netgraph nos marca 4,59 Kilobytes. Ese desajuste de 2 centésimas es por estar tratando con medias y redondeos.

Por último destacar también que podemos deducir el tickrate del servidor a partir de los valores máximos de I y J permitidos por el servidor. En cualquier caso, si tenéis dudas podéis poner el net_graph 4 y comprobar el tick directamente.

*** Actualizo #1 con esta información ***

5 1 respuesta
iZZi

Un lerp naranja de 7,8 es bueno para jugar?

Aún no me queda claro ese tema ... :/

1 respuesta
B

#102 Esta explicado en el apartado de la interpolación.

iZZi

Ok, le he pegado una releida... quiere esto decir que si por motivo de mi conex o la del server aparece un lerp en naranja, si coloco cl_interp_ratio 2 y pasa a ser blanco teoricamente tendré mejor predisposición para jugar mejor?

1 respuesta
Jotauvece

No se como aún no te han hecho mod S1L3nCe, gracias por el curro!

1 respuesta
B

#104 Eso es :) Tendrás 2 frames extra para interpolar en caso de pérdida de paquetes.

#105 Gracias hombre :) Lo cierto es que lo de ser mod no me llama nada xD

HALAMADRID

el rate SIEMPRE a de estar en 80000 ?

1 respuesta
AeRoS

#1 pregunta, es normal tener el in y el out todo loco? osea el in lo tengo aveces en la misma partida a 17k como a 8 y el out a 4k eso e normal?

1 respuesta
Chevic

Enorme trabajo, muy bien explicado

Vi0LaToR

Me meto en un server y pongo los rates segun comentais aqui....no dan nada las balas, y luego el tema del recoil...Mucho tiene que cambiar este juego...

2 respuestas
B

#107 Con 80k tienes un buen margen para servidores tickrate 128. Incluso te diría que hasta en servidores tickrate 150.

#108 Sí. Eso tan solo está definiendo el consumo medio de ancho de banda de bajada/subida (in/out respectivamente) que está haciendo el cliente. En momentos de mucha tralla el IN sube bastante; es lógico... es información que te está enviando el servidor de lo que está sucediendo en la partida.

#110 O te falta experiencia, o el server está mal configurado o los clientes tienen mal sus rates. O un poco de todo xD En nuestro server nadie se queja y eso que es casero xD

2 respuestas
EvilActivity

#110 Tranquilo, amí tampoco me dan las balas por mucho que dispare, aun estando el tio despaldas y tardo la vida en matarlo, es como si las balas no les yegase :S:S

Y en cambio cuando miro las pantallas de los otros jugadores ves como hacen manguerazos y aun así los matan, me quedo flipao xD.

Vi0LaToR

#111 Ye tio llevo jugando al cs desde el 2000, admítelo, me da rabia la gente que se piensa o intenta convencerse de cosas que no son con excusas baratas, el juego está mal hecho, el recoil es basura,tienen que cambiar el sistema de disparo, tan dificil es ponerlo como el de la 1.6?

1 respuesta
iZZi

#113 Para eso dejan la 1.6 y listo...

2
AeRoS

#111 vale gracias, la ultima duda y ya lo entiendo todo.

El cl_interp_ratio para conecciones malas ponlo a 2 no? Yo poniendolo a 1 me sale en naranja aunque no este dentro del servidor, logicamente dentro del server tmb me sale en naranja.

naranja 15.6 ms
blanco 31.3 ms

1 respuesta
L

#101

Pero entonces, forzarlo a 60 y cmd y updaterate a 128 está bien? yo ya me estoy liando XD

1 respuesta
KiRoG4

#1 S1L3nCe una pregunta.....

no tendrias q cambiar los comandos del tickrate 66 por los de 64?

lo digo porq tenemos un sv configurado con esos rates y nos da el cmdrate en rojo,
no se si dejarlo asi....o poner los rates del sv a 64, o daria igualaunq nos saliera el cmdrate en rojo?

#115 Cuando el lerp está de color anaranjado significa que, en caso de pérdida de paquetes de algún cliente corremos el riesgo de perder frames y ver a la gente a saltos.

asiq pon el ratio a 2

2 respuestas
L

#117

yo siempre tengo e lerp en naranja tambien... :( lo tendre que poner en 2 pues.

1 respuesta
B

#116 Lo de forzar los fps a 61 era en beneficio del ejemplo, para poder explicar algunos conceptos. Lo suyo es que si el server es tick 128, tu tasa de frames sea mínimo de 128 también. Si no puedes mantener esa tasa entonces es preferible que lo limites donde sea estable. Pero claro, sólo enviarás tantos cmdrates como frames renderices en tu máquina, como explique en el apartado del netgraph.

#117 Me temo que debes estar teniendo un conflicto entre el tickrate y el max/mincmdrate del servidor.

#118 Que esté en naranja es normal. No te preocupes por eso. Todo el mundo lo tiene en naranja cuando se lo pone a 1.

2 respuestas
L

#119

Entonces como sé si debo ponerlo a 2 o a 1? Si no tengo los fps estables... lo pongo a 2, no¿