Salut à tous ! 👋
Voici encore un article pour vous présenter une partie de nos galères qui nous ont permis d'apprendre et de nous améliorer.
Nos soucis d'optimisation
Concernant notre choix de développement nous essayons de mettre en avant des jeux optimisés et qui ne nécessitent pas forcément de moteur physique, avec des vecteurs on peut très bien se débrouiller pour faire des jeux.
Cependant, nous avons rencontré quelques problèmes d'optimisation. En effet, notre premier souci majeur étant le fait que quand on rentrer dans un jeu et qu'on en sortait c'est comme si l'instance du jeu restait et se créer en double quand on revenait dessus ce qui causait non seulement des ralentissements mais aussi des affichages non désirés.
Je me suis vite rendu compte que nous utilisions mal les events listeners qui nous permettait d'agir avec nos boutons en vuejs.
Pour régler ce problème nous avons non seulement uniformisé la déclaration de ses events listeners mais aussi nous avons mis en place un système de suppression de ces events listeners quand on sortait du jeu.
Le second problème majeur venait du chargement en début de jeu avec le public, qui prenait beaucoup de temps. Voici une image qui montre le temps en millisecondes du démarrage d'un jeu avant et après la mise en place des instances ! Nous avons bien gagné entre 8 à 10 secondes de chargement, parfois même plus.
Vous retrouverez mon implémentation au lien suivant : implémentation
Pour mettre en place les instances, j'ai rencontré quelques difficultés car je ne comprenais pas bien comment instancier nos fichiers GLB. Heureusement, en consultant le forum, j'ai eu la chance de trouver une solution. Voici l'explication qui m'a aidé : explication
Voici le lien vers le code qui me permet de gérer les instances dans tous mes jeux : InstanceManager
Vous retrouverez mon implémentation au lien suivant avec la méthode loadInstance
: implémentation
👋 Conclusion
Nous sommes très heureux de vous partager notre aventure avec aussi nos galères qui nous ont permis d'apprendre et de nous améliorer.
Merci pour votre soutien et on lâche rien ! 🚀