jueves, 28 de marzo de 2019

Actualización de estado #8

Hoy jueves 28 de marzo de 2019, me apetecía hablar sobre los progresos en estabilidad que he ido realizando a lo largo de la semana.

Habiendo sacado ya 4 actualizaciones tipo Hotfix, es probable que todavía hagan falta más correcciones. Creo que principalmente los errores que se detecten en la Beta serán por confiar demasiado en la capacidad de detección de fallos del programa. Por ejemplo, cargar una implementación vacía si el archivo aún no existe, error que ya está corregido.

Los cambios significativos de esta semana son:
Nuevo método de carga: ya no requiere un sobres fuerzo del ordenador en un solo tic, sino que la carga se distribuye en los tics que hagan falta; por lo que el tiempo de espera es proporcional a la magnitud del tablero y no satura el procesador.
Nuevo sistema de sonido: desde la primera versión del gestor de audio hasta la actual han pasado cinco iteraciones, cada una con sus problemas y sus soluciones. Primero creaba y abría un clip de audio con un stream de audio recién cargado del archivo, luego tuve un solo clip para todos los sonidos, después un clip precargado para cada sonido (ya que a veces tarda un poco en abrir el clip), ahora tengo un dataline por el que paso el stream de audio al mismo tiempo que se va leyendo (Apenas tiene latencia y no ocupa memoria innecesaria).  Todos estos métodos fueron probados tanto en el hilo principal, como creando un hilo para cada sonido en progreso.
Mejorada la estabilidad de simulación: antes la llamada a VMESS se realizaba en el hilo principal del programa, ahora se crea un hilo a parte que queda a la espera de VMESS y cuando termina vuelca sus datos en el hilo principal. También se ha mejorado la detección de errores esporádicos en la ejecución, mediante un limite de tiempo de respuesta. Modelo de COM Surrogate.


Nuevos sonidos: Efectos de sonido completamente originales, grabados en casa.
  • SwitchUp: Activar conmutador.
  • SwitchDown: Desactivar conmutador.
  • ButtonUp: Presionar botón
  • ButtonDown: Despresionar botón.
  • KeyPress: Pulsar y soltar tecla.
El conmutador usado es muy parecido al que tienen los entrenadores electrónicos de la universidad. El botón lo saqué de una fuente de alimentación AT, tiene más de 20 años. La tecla es una CherryMX Blue.

No hay comentarios:

Publicar un comentario