Bonsoir à tous,
Je m'étais mis pour objectif pour avant noël, d'apprendre PureData et réaliser un patch permettant de commander 4 barres LED de 3 adresses en DMX avec une manette de Xbox, un micro et pourquoi pas d'autres choses. L'objectif fut atteint (non sans joie !) concernant la manette, le micro et un petit mode aléatoire le tout installé sur une RaspberryPi sans tête.
Seulement le patch ne fonctionne pas plus de trente minutes environ.
Les différentes fonctions (fixe, audio, aléatoire) calculent des valeurs qui sont stockées provisoirement dans un array de profondeur 513 (index 0 non utilisé) puis grâce à la fonction Array get je récupère les 512 valeurs sous forme de liste et les envoi à une interface enttec MKII par comport.
[Array Get buffer 1 512] me pose soucis : la mémoire RAM utilisée par PD ne cesse d'augmenter jusqu'à ce que Raspbian ne tue le processus.
Pour [Array Get buffer 1 99] le problème ne survient pas mais pour 100 valeurs le problème survient de nouveau.
L'un de vous a-t-il déjà fait face à une telle situation ?
Je penche pour le fait que la Raspberry ne puisse pas gérer une liste de 512 float (les tableaux sont des float sur 32 bit si j'ai bien lu ?) mais je ne sais pas si cela vient de Array de PD de Raspbian ou bien de la partie matérielle de la Raspberry.
Je joins le patch en question et je suis à l'écoute de toute vos remarques, demandes de précision.
Très cordialement
Etienne
Dernière modification par TiTigab (2016-01-06 00:31:27)
Hors ligne
Hello,
bon apparemment tu as détecté une fuite de mémoire dans [array] ; est-ce que tu utilises la dernière version de pd 0.47.6 ? Parce que pas mal de bugs ont été traités ces derniers temps.
Sinon perso j'ai pas encore pris l'habitude d'utiliser [array] donc je n'ai pas d'autre conseil à te donner (si ce n'est d'utiliser des classiques [table]s à la place des [array]s...).
Hors ligne
Hey,
Merci pour ta réponse et bonne année !
Je suis toujours en 0.46.2 sur la Raspberry (Raspbian Jessie). La 0.47 n'est pas encore propagée dans les dépôts Debian. Je vais essayer de lire les changelog et compiler pour tester.
Le problème est aussi présent sous Ubuntu 14.04 avec pd 0.45.4.
J'étais passé de [tabread] à [array get] car la fonction [until 512] que j'utilisais pour créer la liste consommait toutes les ressources processeur... [array get] renvoi une belle liste sans rien à faire derrière (mais fuit pour le coup).
Hors ligne
Je viens tout juste de tomber sur tabdump ; j'installe tout de suite pd-zexy et je regarde aussi tabdump2 !
Hors ligne
Eh bien en faite pd-zexy est une dépendance de puredata, donc installé par défaut mais [tabdump] n'est pas présent sous linux (pas chez moi tout du moins...) ce qui est contrariant.
Moonlib n'est pas dans les dépots.
Je continue les investigations demain ! Bonne nuit
Hors ligne
N'hésites pas à montrer ton patch.
On peut le tester de notre côté et éventuellement voir un truc qui peux t'aider.
Il y a sur le site de Miller une version stable 0.46.7 il me semble...
Hors ligne
Bonsoir,
Pas du tout avancé aujourd'hui, premier post modifié avec les pièces jointes.
Hors ligne
Pages: 1