Jarabe de Pala

General => Guias y tutoriales => Mensaje iniciado por: volrath en Mayo 25, 2012, 09:16:22 AM

Título: - IMPORTANTE - RATES, TICKRATES Y LERP. EXPLICACION DEFINITIVA
Publicado por: volrath en Mayo 25, 2012, 09:16:22 AM
EN ESTE TUTORIAL EXPLICARE UNOS CUANTOS CONCEPTOS PARA MEJORAR VUESTRA COMPRENSION EN CIERTOS TEMAS RELACIONADOS CON LA CONEXION ENTRE NUESTROS PCS Y EL  DOD.

_/_/_/_/CONCEPTOS BASICOS_/_/_/_/

Ping = Latencia? , se parecen pero no es lo mismo.

Lag - Término que se usa para decir que la conexión de una persona esta sufriendo un retraso, "lagging".
Ping - El tiempo (milisegundos) que tardan los datos en llegar al servidor y volver.
Latencia - El tiempo (milisegundos) que tardan los datos en ir de tu ordenador al servidor.

Choke y Loss son los indicadores que nos advierten de problemas con el lag

Choke  - Es la pérdida de paquetes entre el servidor y vosotros. Básicamente significa que tu ordenador esta enviando tu posición y lo que haces  al servidor  (disparar, moverse, etc.) pero la totalidad de esa información no llega. El choke aparece por dos cosas:
#1 - Tu ordenador esta enviando demasiados paquetes al servidor por segundo. Si intentas enviar 66 paquetes por segundo, y la conexión entre el servidor y tú solo acepta 40, vas a tener choke. Esto hará que "parezca" que juegas peor ya que tus balas no quedaran registradas (no darán).
# 2 - El servidor no puede leer toda la información que se le esta enviando. Esto puede ser causado por lag en el propio servidor o por saturación de la CPU de este.  No puedes controlarlo, pero si "acomodarte" bajando el cmdrate y updaterate.

Loss  - Es el lag que proviene de fuera de tu ordenador y casi siempre de fuera del servidor también. Esto significa que mientras tus paquetes están llendo al servidor, estos están siguiendo un camino erroneo (también conocido como routing) y en algún lugar de este, los paquetes se pierden. Estos paquetes están "perdidos" en los fondos de internet. El loss también puede venir por conexiones wi-fi, en este caso puedes cambiar el canal por el que las ondas wi-fi viajan ya que este puede estar saturado o acercarte mas al punto de acceso.  El loss esta en mayor parte fuera de tu control, en la mayoría de las ocasiones aparece por el simple hecho de que la conexión a internet es mala.

Rates y lerp siempre visibles en el net_graph

rate  - Cantidad máxima de bytes por segundo que puedes recibir del servidor
cl_updaterate  - Cuantas veces por segundo tu ordenador pregunta al servidor por la posición de los jugadores.
cl_cmdrate  - Cuantas veces por segundo tu ordenador envía tu posición al servidor.
cl_interp  - Periodo de tiempo que usa el motor para interpolar (suavizar) el movimiento de las diferentes entidades (rockets, pipes, players, etc.). Este comando aparece mostrado en el net_graph con el nombre de  "lerp", siempre que este en blanco o naranja esta bien, si aparece en amarillo entonces significa que esta mal configurado y que causa problemas. Lo ideal es tenerlo lo mas cerca de "0" manteniendose en "blanco", pero si el servidor permite el lerp "0" entonces mantenerlo en "0" es una buena opcion tambien.

Cada conexión necesita unas rates diferentes, como base, añadida a tu autoexec.cfg, mi recomendación es usar:

-Para un server tick 66, con lerp 0 y una buena conexión a internet:

cl_cmdrate 66
cl_updaterate 66
cl_interp_ratio 0
cl_interp 0
cl_interp_all 1
cl_lagcomp_errorcheck 1
cl_lagcompensation 1
cl_pred_optimize 1
cl_predictweapons 1
cl_smooth 1
net_maxfragments 1280
rate 25000 o 30000

-Para un server tick 100, con lerp 0 y una buena conexión a internet:

cl_cmdrate 101
cl_updaterate 101
cl_interp_ratio 0
cl_interp 0
cl_interp_all 1
cl_lagcomp_errorcheck 1
cl_lagcompensation 1
cl_pred_optimize 1
cl_predictweapons 1
cl_smooth 1
net_maxfragments 1280
rate 30000 o 50000

-Hay gente que, por las causas que sean, no puede sacar mas de 40 o 50 fps del juego a su pc, por lo que tienen a lo mejor una cfg de rendimiento que les da 50 fps max, así que 40 de cl_updaterate es lo que puede que les convenga a ellos para no tener choke.

_/_/_/_/  EL TICKRATE DE UN SERVIDOR Y COMO NOS AFECTA_/_/_/_/

El tick de un servidor se define como la cantidad de veces que el servidor genera una simulación.

Si un servidor es tick 66 significa que genera 66 actualizaciones/simulaciones/refrescos del 'mundo virtual' por segundo.

-  Ahora, pongamos que a tí tu netgraph te indica que tienes 200 fps en el juego. Eso significa que la tarjeta de vídeo es capaz de generar 200 frames per second o imagenes por segundo.
-  Supongamos que tu monitor es capaz de mostrar hasta un máximo de 75 imágenes por segundo, que es lo mismo que 75 Hz de frecuencia (la frecuencia es la cantidad de veces por segundo que se actualiza la pantalla y se mide en Herzios).

Que sacamos en conclusion?

Que a pesar de que mi tarjeta me da 200 fps, mi monitor no es capaz de mostrarme más que 75 fps reales, de las cuales sólo 66 corresponden de verdad a actualizaciones reales.

Entonces, ¿ porque esa obsesion por los 100 fps ?

Lo que ocurre es que si nuestra tarjeta nos da 200 fps y nuestro monitor puede mostrar hasta 75 fps reales, notaremos mas fluidez con 75 fps que muestre el monitor que obligando al juego a ir a 66 fps, porque aunque no sean datos reales los que se actualizan, nuestro cliente de juego "rellena" los que falta interpolando imágenes para dar sensacion de movimiento continuo siempre.
El límite en que la vista y la percepcion humana deja de notar diferencia, es decir, la cantidad máxima de fps que la percepcion humana es capaz de reconocer son los 80 u 85 fps.
Es uno de los motivos por los que da lo mismo tener 200 fps que 100 (constantes, claro), no notamos la diferencia. Y si además resulta que el servidor realmente no actualiza más datos que 66 veces por segundo, es alrededor de las 75 - 80 fps constantes la tasa de refresco a la que es totalmente fluido y cómodo jugar. El limitar los fps a 100  y no a 66 es que no todo el mundo consigue unos fps constantes y el limitarlos a 100, te cubre los bajones de fps, en situaciones de humo, fuego y otras cosas del juego asegurando que por mucho que bajen no bajen mas de 66, porque con 100 juegas con un buen margen.

_/_/_/_/  EL LERP , QUE HACE Y COMO AFECTA _/_/_/_/

Que es el Lerp ?: Teoricamente el lerp es la diferencia que hay entre las acciones visibles en el servidor por ti y lo que de verdad está ocurriendo, es decir, que salga una persona de una puerta y que cuando la veas salir, este saliendo en ese momento realmente o ya haya salido 0.4 segundos antes ( lo típico de es que sale disparando, o que te maten antes si tu ya estabas mirando esa puerta ) Cuando el servidor recibe pocos datos por parte del jugador, hace una simulación de posición y sucesos que no siempre refleja la realidad.

Aportacion de Pocholo: Video Explicativo y Aclaratorio
Aquí podréis ver como por mucho que veais que le dais a alguien, el servidor puede no enterarse si llevais el lerp mal configurado.

http://www.youtube.com/embed/j1OqFVlgGp8 (http://www.youtube.com/embed/j1OqFVlgGp8)

Explicacion de Volrath:

El video viene a decir que con lerp muy alto, el servidor registra bien los impactos, pero se falla mucho pues no nos muestra la verdadera posicion del enemigo. Con lerp bajo, en amarillo o naranja no disparais en falso, acertais al objetivo, lo que sucede es que el servidor pierda la informacion del impacto y por lo tanto, marca impacto pero no quita vida. El consejo que da el que hizo este video es , tener el lerp LO MAS BAJO POSIBLE SIN LLEGAR APONERSE NUNCA NARANJA NI AMARILLO.

En las cfgs que yo subo y comandos que pongo en estos tutoriales configuro el Lerp para que sea 0.0 sin variacion ( es como si lo desactivaramos ). Puede que esto a mucha gente Le vaya bien y puede que a otros NO, de hecho yo voy a cambiarlos para ver si mejora la jugabilidad.

Para las personas que no quieran usar un Lerp 0.0, dejo aquí los comandos que configuran el Lerp y los valores que hay que poner  para que se me queden estables, por ejemplo, en 25 blancos:

cl_updaterate "100"
cl_interp "0.025"
cl_interp_all "1"
cl_interp_ratio "1"

En caso de que te cambie de color a amarillo debes ir subiendo el cl_interp "0.025" (0.026, 0.027,...o de 5 en 5-> 0.030,0.035,...) hasta que veas tu que se te quedan estables y en blanco.

(estos valores ya existen en tu cfg, no copies y pegues directamente, búscalos y cambia los valores, porque si los pones 2 veces el pc, se vuelve loco y no sabe qué valor escoger (normalmente el último) Si no sabes buscar tu cfg, o autoexec , mirate el tutorial dedicado a ello. Es muy fácil.

FIN

Por ello concluimos que las actualizaciones de datos que se recibirian del servidor (cl_updaterate) es inútil situarlas muy por encima de la tasa de refresco máxima que nuestro monitor puede mostrar, del tickrate del servidor o por encima de las fps máximas que la tarjeta puede generar. Si llevamos este valor bajo, estamos dando mala informacion al servidor, cosa que afecta negativamente a los demas usuarios y sobrecarga la linea del server , pues tiene que inventar los datos que no llegan.
Tambien vemos que llevar bien el Lerp marca la diferencia en muchos enfrentamientos 1 vs 1 , pues si nuestro enemigo tiene los lerp bien y nosotros lo tenemos mal, el vera la realidad, y nosotros una mentira, el dispara y acierta y nosotros impactamos a un espectro o sombra creada por el servidor, pero que no refleja su posicion real.( esto se nota sobretodo en ventanas y puertas.



EN ESTE TUTORIAL APARECEN ALGUNOS CONCEPTOS POSTEADOS EN OTROS FOROS Y QUE HAN SIDO ACTUALIZADOS, COMPLEMENTADOS, RETOCADOS PARA UNA MEJOR COMPRENSION Y RESUMIDOS POR MI PARA VOSOTROS.
Título: Re:- IMPORTANTE - RATES, TICKRATES Y LERP. EXPLICACION DEFINITIVA
Publicado por: Tizona en Mayo 25, 2012, 10:17:40 AM
Pedazo de currada....muchisimas gracias. A mi personalmente esto me viene de perlas para aprender un poco mas.   ;D
Título: Re:- IMPORTANTE - RATES, TICKRATES Y LERP. EXPLICACION DEFINITIVA
Publicado por: A_SACO en Mayo 25, 2012, 01:31:12 PM
Muchas gracias, magnifica explicacion, que además aclara bastante lo de la falsedad del juego y porque en muchas ocasiones disparas a uno y matas al vecino.
Una cosilla, no me ha quedado claro como ves el Tic de un servidor
Título: Re:- IMPORTANTE - RATES, TICKRATES Y LERP. EXPLICACION DEFINITIVA
Publicado por: volrath en Mayo 25, 2012, 02:17:34 PM
Cita de: A_SACO en Mayo 25, 2012, 01:31:12 PM
Muchas gracias, magnifica explicacion, que además aclara bastante lo de la falsedad del juego y porque en muchas ocasiones disparas a uno y matas al vecino.
Una cosilla, no me ha quedado claro como ves el Tic de un servidor

Actualmente segun tengo entendido todos los tickrate de los servidores españoles son 66.

De todas formas esta informacion como todas, son orientativas. El dods no da pa mas XD, es lo que es. Creo que llevar unos rates exactos para el servidor estaba bien y marcaba la diferencia cuando habia modems a 56 kbs y cuando la velocidad máx. a la que queriamos aspirar era 1 Mega. Ahora cuanto menos todo el mundo tiene la misma velocidad contratada y los servidores tb disponen del mismo ancho de banda si estan alojados en la misma empresa... asique todo se ha ido por decir de alguna forma "generalizando o estabilizando" de forma que entre los que tienen rates de 66 a 101 tampoco hay mucha diferencia. Ves cosas raras cuando todos tienen 101 y entra uno con updaterate 20 y cmdrate 20 y rate 2500 , x ejemplo...

Os he subido tambien un tutorial de como solucionar y entender xq ocurren los odiados "missing map" por si os interesa. 

En mi foro tengo muchos mas tutoriales hechos por mi y mis chicos fumaos. En cuanto los admins de jarabe de pala me den permiso pondre enlaces.

un saludo
Título: Re:- IMPORTANTE - RATES, TICKRATES Y LERP. EXPLICACION DEFINITIVA
Publicado por: playairsoft en Mayo 28, 2012, 08:39:48 PM
Mazapan ahorrate este tipo de comentario, muestra un poco de educación.

PALAZOS A TOD@S
Título: Re:- IMPORTANTE - RATES, TICKRATES Y LERP. EXPLICACION DEFINITIVA
Publicado por: Marcos_mu en Mayo 28, 2012, 09:57:12 PM
Vaya un futuro nos espera........con lo que enseñan en el instituto, la generación de la ESO.. Mazapan, chiquillo, con todo el cariño del mundo y sin acritud, para decir eso, mejor sigues leyendo las cosas del "insti" y no dices nada. Si una persona se curra un buen post, como el que ha escrito Volrath, no le puede sentar muy bien lo que acabas de decir, o ¿a ti te sentaría bien?.
Saludos
Título: Re:- IMPORTANTE - RATES, TICKRATES Y LERP. EXPLICACION DEFINITIVA
Publicado por: DARKENRIK en Mayo 28, 2012, 11:02:26 PM
Cita de: Mazapan en Mayo 28, 2012, 07:58:35 PM
Lo siento mucho pero bastante leo en el instituto como para leer esto.
Pedazo ignorante, ya te lo dicen x ahi y te lo voy a repetir yo ( aunque me da que no sera la unica vez que te lo diga ) "Si lo que va a salir de tu boca no mejora el silencio....CALLA LA BOCA"
Título: Re:- IMPORTANTE - RATES, TICKRATES Y LERP. EXPLICACION DEFINITIVA
Publicado por: A_SACO en Mayo 29, 2012, 08:28:34 AM
Cita de: Mazapan en Mayo 28, 2012, 07:58:35 PM
Lo siento mucho pero bastante leo en el instituto como para leer esto.

no-comment, ahorratelo
Título: Re:- IMPORTANTE - RATES, TICKRATES Y LERP. EXPLICACION DEFINITIVA
Publicado por: volrath en Mayo 29, 2012, 12:31:24 PM

Muchas gracias a todos por el apoyo y la defensa ^^ . Asi da gusto.

No seais tan duros con Mazapan, se ve que es joven y aun le quedan muchos palos que recibir, para el la mayor putada puede ser un suspenso de un examen o que le manden leer un libro y no encontrar el resumen en el rincon del vago. Creo que muchos hemos pasado por esa etapa.

Me alegra que alos demas os guste y espero que el resto de tutoriales de mi foro os puedan ser de ayuda en algun momento.

Mazapan , si no puedes decir algo mas bonito que el silencio es mejor no romperlo. Tus actos y lenguaje te definen y si quieres sentirte algun dia importante que sea por lo que callas y los demas dicen orgullosos de ti y no por lo orgulloso que te puedas sentir de soltar una chorrada sin gracia.

Saludos.

Título: Re:- IMPORTANTE - RATES, TICKRATES Y LERP. EXPLICACION DEFINITIVA
Publicado por: blajjau en Mayo 30, 2012, 02:53:15 AM
Cita de: volrath en Mayo 29, 2012, 12:31:24 PM

Muchas gracias a todos por el apoyo y la defensa ^^ . Asi da gusto.

No seais tan duros con Mazapan, se ve que es joven y aun le quedan muchos palos que recibir, para el la mayor putada puede ser un suspenso de un examen o que le manden leer un libro y no encontrar el resumen en el rincon del vago. Creo que muchos hemos pasado por esa etapa.

Me alegra que alos demas os guste y espero que el resto de tutoriales de mi foro os puedan ser de ayuda en algun momento.

Mazapan , si no puedes decir algo mas bonito que el silencio es mejor no romperlo. Tus actos y lenguaje te definen y si quieres sentirte algun dia importante que sea por lo que callas y los demas dicen orgullosos de ti y no por lo orgulloso que te puedas sentir de soltar una chorrada sin gracia.

Saludos.


Si lo hubieses conseguido rimar, habria sido un gran poema, si sigues asi volrath, te pedire un libro de tapa dura, sera el libro del año!!!!
Y no va con segundas, a mi me han gustado tus posts!!!!

Un abrazo de Blajjau
Título: Re:- IMPORTANTE - RATES, TICKRATES Y LERP. EXPLICACION DEFINITIVA
Publicado por: volrath en Junio 04, 2012, 09:32:26 AM
Bueno ya cuando seamas viejo os saco una biografia sobre personajillos y mentalistas del hl2 jejeejje. Por el momento alguien de aqui le gustaria saber alguna cosa mas del juego algo que le pueda parecer una tonteria o tan tonto que no se atreva nunca a preguntar ?? si puedo ayudar solo teneis que decirlo.

Un saludo.