Game loop en javascript - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Game loop en javascript (/showthread.php?tid=7081) Pages :
1
2
|
RE: Game loop en javascript - Aleskweb - 06-08-2013 Merci beaucoup pour ton aide Separer le physique du graphique a l'air de bien marcher, et je n'ai plus besoin d’accéder au body depuis la classe Perso car je stocke maintenant seulement les positions. J'ai bien fait de demander, déjà la c'est assez galère de passer le moteur 2D en Worker. Heureusement que je m'y suis pas pris plus tard. Pour ce qui est du serveur ca vaut le coup de créer un thread pour le moteur 2D? RE: Game loop en javascript - Maks - 06-08-2013 Ca dépend tu as quoi côté serveur ? Node ? Java ? Si ça tient la route côté serveur, autant laisser comme ça je pense Essaie juste de t'assurer que c'est le seul point chaud de ton code, donc un seul timer global côté serveur, et un petit coup de profileur de temps en temps au fur et à mesure de l'évolution du code ^^ (ou un coup d'oeil à la mémoire des processus) RE: Game loop en javascript - Aleskweb - 06-08-2013 Coté serveur jsuis sur Node avec socket.io. Je sais que Java fait des thread très facilement coté serveur (Quoi que carrément gourmands), Nodejs faudrait que je my penche puisque comme tu l'as dit javascript fonctionne en pile. Pour le moment ca tient la route, je verrais dans le futur, de toute facon je crois que le vps est Mono cœur pour les test, ca changerais rien (Quoi que, ça en fait peut être 2 virtuels). Par contre le moteur 2D coté serveur, on peut le faire tourner a 30 fps au lieu des 60 non? Ca doit pas changer grand chose et ce sera moins lourd. Après dans le futur je pensais, si je fais un thread pour le moteur 2D j'en ferais aussi un pour la connexion socket. Balancer les sokets.emit dans un thread a part, ça peut peut-être être rentable. ("peut peut-être être" c'est français ou c'est moi qui trouve ça bizarre ? :p ) Ps: Si tu testes, j'ai mis le moteur physique en web worker, ca marche vraiment mieux RE: Game loop en javascript - niahoo - 06-08-2013 c'est français mais c'est inutile. Il faudrait dire "ça peut être rentable". my 2 cts RE: Game loop en javascript - Aleskweb - 06-08-2013 Haha oui, mais avec 'Ça peut peut-etre etre" j'exprime une double hésitation sur le sujet :p RE: Game loop en javascript - Maks - 06-08-2013 Citation :Je sais que Java fait des thread très facilement coté serveur (Quoi que carrément gourmands), Nodejs faudrait que je my penche puisque comme tu l'as dit javascript fonctionne en pile. Pour Node il y a les child_process Citation :Par contre le moteur 2D coté serveur, on peut le faire tourner a 30 fps au lieu des 60 non? Ca doit pas changer grand chose et ce sera moins lourd. En théorie si tout est indépendant du framerate ça ne devrait rien changer en effet Citation :Après dans le futur je pensais, si je fais un thread pour le moteur 2D j'en ferais aussi un pour la connexion socket. Balancer les sokets.emit dans un thread a part, ça peut peut-être être rentable. Le tout c'est de ne pas optimiser trop tôt Je vais jeter un coup d'oeil ^^ RE: Game loop en javascript - Maks - 07-08-2013 J'ai re-testé c'est bien plus fluide en effet, bien joué ^^ J'ai jeté un coup d'oeil au code, y'a tant de code que ça pour ce rendu, ça me donne toujours envie d'essayer three.js RE: Game loop en javascript - Aleskweb - 07-08-2013 Merci Oui la fluidité y est, c'est vraiment bien :p Citation :J'ai jeté un coup d'oeil au code, y'a tant de code que ça pour ce rendu, ça me donne toujours envie d'essayer three.js (Je suppose que tu voulais dire "y'a pas tant de code" ^^ ) C'est vrai qu'il n'y en a pas encore beaucoup, enfin aussi on utilise au maximum les classes, ce qui économise pas mal de code , doit y en avoir a peine pour 40ko de code interface comprise. Mais globalement on arrive vite a quelque chose de sympas avec three.js Après, il y aurait meme a mon avis la possibilité d'encore réduire, mais bon, on verra plus tard pour l'optimisation (Par contre t'as du un peu galerer a charger, on a nos images en png et on arrive pas a les réduire en poids, rien que la texture du sol pèse 1,6Mo, va vraiment falloir qu'on trouve une solution x) ) RE: Game loop en javascript - Maks - 07-08-2013 Oui je voulais écrire "pas tant", désolé, c'est ça de poster à 3h du mat' ^^ Pour les images, pour les transparentes garde les PNG, pour celles qui sont lourdes et qui n'ont pas de transparence pense au JPEG ^^ Ensuite utilise l'astuce de l'atlas (cf. vidéo sur Grits) RE: Game loop en javascript - Aleskweb - 08-08-2013 Oui, jpeg est bien moins lourd. Peut etre qu'il y a des formats plus adaptés. Faudra que je fasse quelques recherches |