NetDynamics es un campo de juego de redes orientado a datos para transportes UDP confiables. La aplicación se creó para realizar pruebas de estrés y depurar una biblioteca de redes patentada, pero también es compatible con ENet como alternativa de código abierto.
NetDynamics permite generar hasta 100.000 entidades dinámicas, procesar datos de manera eficiente y representar gráficos mediante el procesamiento por lotes de llamadas de sorteo. La aplicación genera una gran cantidad de datos para transferir a través de una red o en bucle invertido utilizando transporte UDP que admite la entrega secuenciada de mensajes confiables/no confiables. El objetivo principal es determinar puntos problemáticos, cuellos de botella o errores en un transporte de red y visualizarlos en tiempo real.
El enfoque general se basa en el Sistema de componentes de entidades, donde una entidad es solo un identificador desacoplado de los datos y la lógica. NetDynamics es una aplicación cliente-servidor que sincroniza la representación visual de entidades entre conexiones. El servidor serializa y transmite a los clientes grandes lotes de componentes que esencialmente son datos de la entidad. Los sistemas se utilizan para lógica y para procesar componentes para entidades designadas.
El servidor tiene plena autoridad sobre todas las entidades, los clientes sólo pueden participar en la población de un mundo enviando un mensaje apropiado. El servidor también puede generar entidades y también puede destruirlas localmente con una mayor sincronización entre los clientes. El servidor envía actualizaciones de estado para las entidades en un intervalo fijo (20 actualizaciones por segundo de forma predeterminada). Los clientes están utilizando la interpolación para replicar el movimiento fluido de entidades entre actualizaciones de estado en función de los componentes de posición y velocidad. No se implementa la extrapolación, por lo que la pérdida de paquetes será notable.
La aplicación está diseñada para generar tráfico de manera exponencial con cientos de miles de mensajes de red. No es que varios subprocesos noten intencionalmente una degradación del rendimiento del subproceso principal cuando un transporte de red tiene una carga alta; por lo tanto, un transporte de un solo subproceso siempre funcionará con latencias más altas dependiendo de la velocidad de fotogramas de la aplicación. Mover la lógica de transporte a un hilo dedicado separado o hacerla independiente de la velocidad de fotogramas de cualquier otra manera resolverá esto, pero está más allá del propósito de NetDynamics.
Descargue la aplicación y configure los parámetros deseados en el archivo settings.ini
. Ejecute la aplicación, use el botón izquierdo del mouse en el servidor o cliente para generar entidades, use el botón derecho del mouse en el servidor para destruir entidades.
Para probar el rendimiento de procesamiento y renderizado de una aplicación inicial para obtener una diferencia visual en el consumo de un tiempo de fotograma mediante la lógica de red, simplemente puede generar entidades en el servidor sin ninguna conexión.