stringtranslate.com

Sincronización delta

El tiempo delta o sincronización delta es un concepto utilizado entre los programadores en relación con el hardware y la capacidad de respuesta de la red. [1] En programación de gráficos , el término generalmente se usa para actualizar de forma variable el escenario según el tiempo transcurrido desde la última actualización del juego, [2] (es decir, el " cuadro " anterior), que variará dependiendo de la velocidad de la computadora, y cuánto trabajo debe realizarse en el programa en un momento dado. Esto también permite que los gráficos se calculen por separado si los gráficos son multiproceso.

En la programación de redes , debido a la naturaleza impredecible de las conexiones a Internet , la sincronización delta se utiliza de manera similar para actualizar de forma variable la información de movimiento recibida a través de la red informática , independientemente de cuánto tiempo tomó recibir el siguiente paquete de datos de información de movimiento. [3]

A menudo se hace llamando a un temporizador cada cuadro por segundo que mantiene el tiempo entre ahora y la última llamada. A partir de entonces, el número resultante (tiempo delta) se utiliza para calcular qué tan lejos, por ejemplo, habría viajado un personaje de videojuego durante ese tiempo. Esto da como resultado que el personaje tarde la misma cantidad de tiempo en el mundo real para moverse por la pantalla, independientemente de la velocidad de actualización y de si el retraso se debe a la falta de potencia de procesamiento o a una conexión lenta a Internet.

En la programación de gráficos, esto evita que el juego se ralentice o acelere dependiendo de la complejidad de lo que está sucediendo en un momento dado, lo que daría lugar a una experiencia inconsistente y discordante (por ejemplo, el tiempo se ralentiza cuanto más personajes caminan por la pantalla, o cuando corren). demasiado rápido porque sólo hay un personaje en la pantalla). En la programación de red, esto mantiene el mundo del juego de cada computadora sincronizado con los demás, asegurándose de que cada cliente finalmente vea la misma actividad al mismo tiempo, incluso si ha pasado más tiempo desde la última actualización para algunos clientes que para otros.

Los retrasos suficientemente grandes acabarán afectando negativamente a la experiencia de juego , pero el uso de Delta Time mantiene la coherencia del juego siempre que la computadora y la conexión a Internet cumplan con los requisitos mínimos de hardware del juego.

Medición de temporización delta en programación.

El tiempo delta se puede utilizar para medir cuánto tiempo tardó en ejecutarse un programa determinado en tiempo real. El siguiente fragmento de Python muestra cómo se puede calcular el tiempo de ejecución de una función de ejemplo utilizando el delta de tiempos antes y después de la ejecución.

Pitón

# tiempo()# devuelve los segundos desde la época como un número de punto flotantedesde  el momento  de la importación # definir is_prime(x)def  es_prime ( x ): para  i  en  el rango ( 2 ,  x ): si  ( x  %  i )  ==  0 : imprimir ( x ,  "no es primo" ) devolver imprimir ( x ,  "es primo" )# medir el tiempo deltat0  =  tiempo ()  # inicio de la mediciónis_prime ( 13 )  # función de llamadat1  =  tiempo ()  # fin de la medicióndeltaTiempo  =  t1  -  t0print ( "is_prime(13) tarda" ,  deltaTime ,  "¡segundos para ejecutarse!" )

Tiempo delta y velocidad de fotogramas

El tiempo delta y la velocidad de fotogramas no siempre están relacionados. Los videojuegos se clasifican en una de dos categorías con respecto a la velocidad de fotogramas: dependiente de la velocidad de fotogramas o independiente de la velocidad de fotogramas. Velocidad de fotogramas Los juegos dependientes tienen una velocidad de fotogramas que varía según la computadora que ejecuta el software. Por ejemplo, si un juego que depende de la velocidad de fotogramas se ejecuta a 300 fotogramas por segundo (fps) en una computadora con una frecuencia de actualización de 120 hercios (Hz), entonces se ejecutará a 150 fps en una computadora con una frecuencia de actualización de 60 Hz. Una expresión de tiempo delta estándar puede crear pantallas de pausa y efectos intencionales de cámara lenta en juegos que dependen de la velocidad de fotogramas. Las fórmulas de tiempo delta estándar rara vez se utilizan para juegos estándar porque el tiempo delta entre fotogramas varía mucho dependiendo de la frecuencia de actualización de la computadora en la que se ejecuta.

Si un juego es independiente de la velocidad de cuadros, la velocidad de cuadros está preestablecida y se ejecuta de manera idéntica en todas las computadoras, independientemente de sus especificaciones. La independencia de la velocidad de cuadros limita la calidad máxima de los gráficos para que el juego esté disponible para más consumidores. La independencia de la velocidad de cuadros es particularmente popular en juegos móviles y juegos optimizados para computadoras de gama baja como Chromebooks. En los juegos independientes de la velocidad de fotogramas, el tiempo delta entre fotogramas es constante en todo el juego. Esta estandarización significa que una expresión de tiempo delta puede crear una velocidad de cuadros consistente para todos los usuarios en todos los tipos de computadoras. [4]

Cuándo utilizar el tiempo delta

La sincronización delta puede sobresalir en cualquier momento en que la velocidad de fotogramas de un juego deba ser independiente de su hardware. Un ejemplo de esto podrían ser los juegos que deben ejecutarse en dispositivos móviles o computadoras de gama baja. En algunos casos, los desarrolladores de videojuegos utilizan la sincronización delta para estandarizar la velocidad de movimiento de un objeto en la pantalla. Por ejemplo, si un personaje se mueve por la pantalla a un ritmo constante, la sincronización delta puede garantizar que esta velocidad de movimiento sea constante y no fluctúe. El uso de sincronización delta para el movimiento es particularmente útil para usuarios que poseen Internet inconsistente o hardware informático de gama baja. Este método también puede regular el movimiento de los objetos en pantalla.

Una desventaja de utilizar la sincronización delta para el movimiento es que puede resultar complicado para juegos que incorporan una amplia variedad de movimientos y velocidades de movimiento. Por ejemplo, un juego podría tener una velocidad específica para caminar y correr para todos los personajes; sin embargo, los personajes también pueden conducir coches, barcos, aviones y otros vehículos. Si el desarrollador quiere que cada una de estas velocidades de movimiento sea diferente (para que el juego sea lo más realista posible), necesitaría una expresión de tiempo delta separada para cada velocidad de movimiento (eso solo suponiendo que estos movimientos ocurren a un ritmo constante). Si los movimientos no ocurren a un ritmo constante, las expresiones de sincronización delta se vuelven ineficaces. [5]

Ver también

Referencias

  1. ^ "Software de creación de juegos: Construct 3 ★★★★★".
  2. ^ "Animación basada en tiempo con HTML 5 Canvas y JavaScript | Viget".
  3. ^ Cocinero, Shane (28 de diciembre de 2012). Programación CUDA: una guía para desarrolladores sobre computación paralela con GPU. Newnes. ISBN 978-0-12-415988-4.
  4. ^ Ashley (26 de septiembre de 2017). "Independencia de velocidad de fotogramas y tiempo delta". Constructor.net . Desconocido . Consultado el 5 de febrero de 2022 .
  5. ^ Dibujó Coleman (24 de julio de 2019). "Comprensión del tiempo delta". Medio.com . Desconocido . Consultado el 5 de febrero de 2022 .