Sujet: Re: [INFO] Entraide MPF Jeu 28 Mar 2024 - 9:58
Petit retour d'information, car je pense que j'ai voulu faire un truc pas courant, et j'ai galéré comme pas possible. Je pensais que ce serait une formalité, et ça m'a pris 5 heures pour trouver quelque-chose qui fonctionne chez moi : lire des vidéos de façon aléatoire
Je ne sais pas si mon tout petit PC me bloque ou si c'est MPF qui n'est pas encore au point sur le sujet. Depuis le début, j'ai réussi à avoir beaucoup de trucs aléatoire, donc je pensais maîtriser, mis là dès qu'on passe sur les vidéos, tout ce que j'avais appris ne fonctionne plus aussi simplement.
Donc pour information, si jamais vous en aviez besoin, je m'en suis tiré en ajoutant un délais entre chaque lecture.
Le résultat : des vidéos sont piochées aléatoirement et jouées pendant les missions (effet garantie, pas de lassitude possible). Exemple avec uniquement le code liés aux vidéos.
Sans tout ce bordel, je n'avais rien de fonctionnel. Le mieux que j'avais, c'était 2 vidéos qui se lançaient de suite puis ça commençait à déconner (images figées, vidéos bloqués ou tournant en boucle sur 2 images). A noter que j'ai essayé de travailler avec des slides différents avec le même résultat (plutôt comme ici que de sortir et de ré-injecter les widgets). Ma méthode est peu orthodoxe car je n'ai qu'un seul slide que j'alimente au fur et à mesure, j'aime mieux ça que de tout remplacer à chaque fois.
A noter que le PC peut lire une vidéo de 10 gigas sans broncher dans MPF. Mais dès que j'ai essayé d'enchainer aléatoirement les vidéos, il semble être à bout de souffle (pourtant chaque vidéo fait entre 50 et 150mo). En regardant l'utilisation CPU et mémoire dans MPF il en avait pourtant largement sous le coude.
Laurent0722 aime ce message
Laurent0722
Messages : 133 Département : 60
Sujet: Re: [INFO] Entraide MPF Jeu 28 Mar 2024 - 12:03
Ah oui en effet c’est bizarre cette histoire… comme une sorte d’engorgement finalement… Bon…
Sinon, il y avait une autre solution pour lire des vidéos de façon aleatoire: inclure une section "video_pools" dans ta config.
La doc n’est pas encore rédigée pour cette fonction, mais cela doit très probablement fonctionner comme les « sound_pools »…
J’en parle car il y a dans cette section un réglage pour paramètrer de chargement de l’asset, en l'occurence « pre load ou load on_demand… peut être que cela aurait pu t’éviter d’avoir ce phénomène d’engorgement…
J’utilise énormément les sound_pools et ils marchent TRES BIEN, mais je n'ai jamais eu m'occasion d'utiliser les video_pools, donc je n’ai pas de retour d’expérience avec ceux-ci… À essayer un de ces quatres peut être…
Merci en tout cas d’avoir partagé ta solution
Dernière édition par Laurent0722 le Jeu 28 Mar 2024 - 12:11, édité 1 fois
leeoneil
Messages : 1715 Département : 63
Sujet: Re: [INFO] Entraide MPF Jeu 28 Mar 2024 - 12:10
@Laurent0722 j'ai bien vu cette section "video_pool" non documentée, sauf que comme pour les sons (que j'utilise énormément), ça ne va piocher qu'une fois dans la liste. Donc ensuite il faut relancer la lecture, et c'est là que ça déconne. Pour ça que j'ai utilisé cette solution de contournement avec des évènements aléatoires. C'est de la grosse bidouille, et c'est difficile de dire si c'est MPF qui bloque ou si c'est le PC.
edit: actuellement sur MPF c'est impossible de "preload" ou de jouer avec "on_demand" sur les vidéos. En effet elles sont en lecture "streaming" sans possibilité de contournement, pour éviter les crash mémoire (preload un truc de 25 go et ça risque de mal se passer ! )
Dernière édition par leeoneil le Jeu 28 Mar 2024 - 14:39, édité 1 fois
Laurent0722 aime ce message
Laurent0722
Messages : 133 Département : 60
Sujet: Re: [INFO] Entraide MPF Jeu 28 Mar 2024 - 12:18
Oui, en effet, si tu veux pouvoir "enchaîner" automatiquement la lecture de plusieurs vidéos les video_pools ne conviennent pas car ils ne permettent pas d'avoir un events_when_stopped pour déclencher la lecture de la vidéo suivante... ni même de régler un slide cible pour la lecture de la vidéo... C'est bien... mais pas suffisant !
peskopat Admin
Messages : 11962 Département : 54
Sujet: Re: [INFO] Entraide MPF Sam 30 Mar 2024 - 12:12
@leeoneil ces codes MPF devrait , à mon sens , être différencié dans des sujets sépares , ce serait plus lisible non .
@Laurent0722 ou @Tiboflip54 vous aviez vu qu'il y a une version "production" pour MPF ? En gros, on peut compiler des trucs pour qu'ensuite il démarre plus rapidement ? Vous avez testé ?
A priori, après avoir compilé le code avec la fonction mpf build production_bundle, il "suffit" de lancer le jeu avec la commande mpf -P. Bien entendu, si modification sur le code il faudra "re-compiler".
Je découvre complètement, je teste ça dès que possible !
edit : alors pour l'instant ça ne fonctionne pas chez moi. La compilation semble fonctionner, j'ai un "success" ! Quand je lance mpf -P, mpf se lance (la fenêtre avec les switches etc..) mais pas l'affichage du jeu. Au bout de 30 secondes, le lancement coupe en disant que ça a pris trop de temps... A suivre...
edit 2 : pour lancer tout le jeu, j'utilise la commande mpf both -p sinon pas d'affichage !
Dernière édition par leeoneil le Jeu 2 Mai 2024 - 10:25, édité 1 fois
Salut Leeoneil, Non je ne connaissais pas.si je comprends bien c est à la toute fin que l on compile le code. Ton code mets beaucouo de temps à se lancer?. Laurent m a dit que les gifs allongent le temps de chargement... Pour ma part j'en ai pas et le chargement prend que qqs secondes.
@Tiboflip54 en fait au dernier salon, Nicolas P. avait un chargement en pourcentage au lancement du flipper (sur l'invaders). Je lui ai demandé comment il avait fait ça, et il m'a dit que c'était automatique avec le mode "production", donc j'ai testé. Je pense qu'il a oublié de m'expliquer un morceau !
Le mode production ne me donne pas un loading automatique, et pour l'instant je n'ai pas vu de grosse différence de chargement. Chez moi c'est pas ultra long, bien que je preload toutes mes musiques (sinon y'a a effet "sacade sonore" au lancement d'une nouvelle musique). J'ai 3 go de vidéos maintenant, ça ne bronche pas, ça ne ralentit rien au chargement en tout cas (mais les videos sont en streaming, impossible à preload, et heureusement !). Aucun gif, je ne sais pas si j'en mettrais, à voir.
Vous avez vu que la version 0.8 débarque pour MPF ? Énorme changement, tous les widgets, les slides et les sons deviennent obsolètes. La nouvelle façon de les gérer/créer utilise désormais "godot" que je ne connais pas.
https://missionpinball.org/install/0.80/
Je ne sais pas si j'aurais la motivation de migrer, car ça veut dire reprendre énormément de choses....
Moi c est tout vu..déjà que je souhaite Pas passer en 0.57...d ailleurs si tu as mpf 0.56 je suis preneur....je souhaite faire une sauvegarde de mon jeu...
@Tiboflip54 J'ai fait la bascule en 0.56->0.57 en quelques minutes, vraiment. C'était hyper court, il y a vraiment peu de choses à changer (mais c'est chiant, des copié/collé quoi) !
Donc non désolé je n'ai plus la 0.56.
Par contre migrer vers la 0.8 ça a l'air beaucoup plus chaud...
Ha c'est chiant ça, ces mises à jour qui ne sont pas rétro-compatibles A peine tu as terminé un jeu qui marche à peu-près qu'il faut tout péter pour refaire Et quand tu auras adapté pour la 0.8 ils sortirons la 0.9 qui sera à nouveau pas compatible... Je déteste ça Bon courage si tu te lances
Est-ce que vous avez déjà fait un "wizard mode" ? Dans mon idée, je voudrais faire comme les modes récents que je connais, c'est à dire que le jeu se coupe (on perd la bille), il nous explique rapido les règles puis le jeu se relance, souvent avec un très long ball save.
Mon problème c'est de couper les flip et ensuite de rendre la bille sans que ça compte une bille perdue. Ou alors j'ai pensé à une extraball "cachée" qui se lancerait avec le mode, je pense que ça peut marcher.
J'anticipe un peu ce passage car j'ai bien avancé sur les missions de base, il ne m'en reste plus que 2 à faire. Des idées là-dessus ?
Après, pour ce qui est de "couper" les batteurs, rapelle toi quand tu as déclaré tes batteurs dans ton tichier config.yaml, section "flipper:" , tu avais la possiblité d'ajouter un enable _event et un disable_event... Je pense que c'est la voie à suivre... cf:
Je coupe déjà les batteurs dans mes missions de gros bâtard, donc pour ça pas de problème ! Je vais aller voir de suite le faux ball save, ça me semble tout indiqué ! Merci chef !
Salut @Laurent0722 , désolé je t'embête de nouveau, je tourne en rond sur un "gros" problème.
Mon jeu se met à ramer sévère quand je fais des parties super longues, ou que j'enchaine des parties. Quand je regarde mes logs, les fichiers font des centaines de mega ! (200mo, 500 mo !) ça me semble délirant !
Je ne sais pas si ça pourrais aider, mais je voudrais couper la création automatique de ces log, t'as déjà vu passer cette info ?
Sinon je pensais essayer le mode "production" voir si c'était plus rapide, mais mon problème est toujours le même : il refuse de se lancer car mon jeu met plus de 30 secondes à charger, donc MPF coupe automatiquement.
Info pour tous, ça peut servir, et pour @Laurent0722 qui se cassait aussi la tête sur mon problème.
Ce délais de 30 secondes au démarrage du "production mode" peut être modifié dans les fichiers de MPF.
Le mec de cobra m'a trouvé ça dans le code, lien Github ici : https://github.com/missionpinball/mpf/blob/7a9665173916bb6621366893c5d053d1cc329657/mpf/core/machine.py#L668
On peut donc changer à la main cette valeur dans le fichier mpf/core/machine.py Attention par défaut ce sont des fichiers cachés dans le dossier python.
Perso j'ai collé 60 secondes de délais et ça marche impecable ! Voilà, si ça peut servir à d'autre, si vous chargez beaucoup de truc au démarrage, ou si votre ordi est un peu lent.