Bonjour à tous,
je développe un patch Max/MSP pour faire des régies spectacle autonome. L'idée c'est de gérer DMX, musique et vidéo dans une seule et même interface pour des spectacle simple. Globalement je m'en sortait pas mal j'ai donc poursuivi pour étendre un peu les possibilités du système en particulier pour la partie contrôle DMX.
Voici le problème que je rencontre depuis plusieurs jours : de gros lags avec les boites number. Je m'explique voir screenshot pour un peu plus de clarté :
Les boites circuits en haut à gauche sont des abstractions. J'en appelle autant que de circuit et elles sont censé afficher la valeur de mes circuits de 1 à 100. Dans ce patch j'ai donc 48 abstractions "circuits". Chacune a un receive qui lui est propre : CH-001, CH-002, CH-003, etc... Juste en dessous j'ai 12 abstractions "fader" qui me permettent de contrôler ces circuits.
Bref j'ai mon problème c'est que lorsque que j'envoie le résultat d'une line à ces abstractions les valeurs affichées lags à mort. Une line de 0 à 100 en 5000ms se déroule bien en 5000ms (testé avec cpuclock) par contre les valeurs des boites nombres continue à se modifier pendant au moins 10s.
C'est pas très clair désolé, je peux mettre une version du patch en ligne si ça peux aider. Quelqu'un aurait-il déjà eu ce genre de problème ?
++ Sylvain
Hors ligne
oui si tu peux joindre ton patch ça sera plus simple de saisir le probleme
Hors ligne
Salut les gars,
merci pour vos réponses. Le patch étais un peu trop en chantier pour le joindre avant hier ceci-dit je joindrait une copie pour la forme quand le projet sera fini pour le mettre à dispo.
J'ai pas mal d'autres GUI, mais en l'occurrence c'est ta deuxième piste qui a réglé le problème j'ai désactivé l'overdrive et tout roule nickel maintenant même avec 96 abstractions comme ce sera le cas dans le spectacle. Pour les [speeedlim] c'est une piste que j'ai suivi aussi pour limiter la charge et du coup j'ai optimisé mon tissage.
En tout cas merci beaucoup on démarre la créa demain, je commençais à avoir des sueurs froides :-)
++ Sylvain
Hors ligne
Alors j'ai pas de [defer], par contre grand nombre d'action ça oui vu que j'ai donc potentiellement 96 line en float qui envoie leurs valeurs avec un grind de 20 vers 3 au moins trois boites différentes chacune. Mais bon ça reste logiquement assez léger.
Hors ligne
Ok je vois, je vais donc continuer l'optimisation je n'avais pas vraiment conscience des limite de traitement de max. Mais c'est très intéressant de savoir ça parce que théoriquement pour du DMX je suis censé allé à 512 canaux et donc multiplier encore le problème. Parce qu'au final le problème était que l'envoi DMX ramait lui aussi parce que l'affichage du GUI est effectivement beaucoup moins important.
Il y a une fonction pour afficher le nombre d'events traité ?
Hors ligne
Yep pour le coup j'utilise pas mal zl et pattr entre autre mais d'une manière ou d'une autre je vais être obligé de séparer le message en autant de canal qu'utilisé. Si j'ai les canaux 1 à 512 qui sont envoyé avec 512 temps de monté différents je suis bien obligé de multiplier les messages. Enfin pour l'instant ça marche je vais étudier de prêt tes deux exemples pour voir comment je peux optimiser de mon côté. Merci beaucoup en tout cas pour ces pistes, je suis encore pas mal dans le bricolage avec max du coup ça m'aide bien d'avoir des astuces extérieures sur le sujet :-)
Hors ligne
C'est bon j'ai trouvé une belle solution qui limite les envois de messages. En fait placé un [change] après mes [line] pour limiter l'envoi du la valeur de chaque canal aux dépendances qui y sont liées. Du coup ça ne lague plus du tout même avec l'overdrive et les paramètres par défaut du scheduler.
Hors ligne
Nouvelle solution encore plus efficace, je vais limité le grain de mes lines en fonction de l'écart qu'elles ont a effectué du coup le nombre de message transmis baisse énormément au maximum 512 / 25 ms (rafraichissement maxi du DMX) soit 20 msg / ms. J'ai optimisé la chaine de traitement de l'info également.
En attendant je vous mets la version actuelle en DL pour ceux que ça intéresse. C'est un peu le ouaille mais ça marche, je raffinerais dans les prochaines semaines.
++ Sylvain
Hors ligne
Pages: 1