Hey stranger!
Si eres nuevo o llevas un tiempo siguiendo el proyecto, pediría una reseña honesta o un comentario en el proyecto, significa mucho.
Desde la última actualización he trabajado duro en performance optimisation con el objetivo de que DAWG funcione bien incluso en móviles antiguos y Steam Deck.
Para la optimización decidí apoyarme en Unity DOTS system, sobre todo Burst compiler y workers. Burst es el equivalente de Unity a código de alto rendimiento que se traduce a native machine code. El truco está en el control manual de memoria de bits, parecido a Rust y Assembly.
Este sistema funciona perfecto para number crunching y DSP - Digital Signal Processing (lo que realmente hace el audio), básicamente es mucho number crunching=)
Los resultados iniciales son realmente impresionantes. Por ejemplo, en un full on stress test (full patterns en todos los instrumentos con 8th rows de múltiples stabs y notas sostenidas), el resultado llegó hasta 180% de uso de CPU del DSP en PC. Esto significaba muchos audio dropouts, glitches y similares durante stress testing, aunque todavía bien para uso "normal". Claro que no era aceptable, así que cuando el DSP se solidificó lo suficiente, empecé a implementar Burst compiler en DAWG.
Solo el Burst compiler bajó el uso de CPU del DSP de 180% a 62% en PC, y en Android cayó a 110%. En la práctica, eso significa que incluso un core de alto rendimiento basta para correr audio stress test sin problemas ni dropouts. El hardware más antiguo, por otro lado (S20 - cores de 2.7 & 2.5 GHz), todavía tiene hiccups y un single core performance demasiado lento para ejecutar DAWG suavemente en un core.
En la imagen de abajo puedes ver la diff. entre código C# normal y Burst compiler en PC. Los números vienen del editor, así que la build debería ser aún mejor. Todavía tengo que terminar por completo la adición de workers/jobs, pero las pruebas iniciales mostraron que el uso de CPU en PC cayó otro 30%.
Si las ganancias en Android están en niveles parecidos, eso debería ser green light para empezar a desarrollar las cosas más divertidas - Story mode y editions.
Como Story mode merece la misma atención que el DAW core.....¿alguien quiere ayudar en el desarrollo? Busco ayuda visual y artística, o incluso posibles co-founders.
Deja un comentario abajo :D
Sigue DAWG.
Añádelo a la wishlist en Steam, descárgalo en itch.io y sigue el desarrollo.
Wishlist en Steam