le 10-26-2020 11:55 AM
Bonjour à tous,
J'ai un projet comprenant 6 webcams USB3.0 (type 926H de Spedal), des cartes PCIe USB3.0 (PEXUSB3S44V de StarTech).
Le client souhaite enregistrer les images des 6 caméras (un dossier par webcam) et ceci pendant 30sec.
J'utilise Vision pour faire l'acquisition et l'enregistrement des images.
Je rencontre un problème que je n'arrive pas à expliquer : plus j'ajoute de caméras, moins il y a d'images enregistrées. Comme si le débit diminuait.
Mon code d'essai est relativement simple : deux boucles qui tournent en parallèle, l'une pour l'enregistrement de la webcam 0 l'autre pour la 1.
Voici une copie d'écran (c'est un code de test, il est dégouttant, on est d'accord 😅 ).
La carte USB est faite pour du 5Gb/s par port USB, donc normalement elle assure.
Ma question est simple : comment faire pour que quelque soit le nombre de webcams connectées, le débit d’enregistrement soit tout le temps le même.
Merci par avance,
A++
le 10-28-2020 07:22 AM
le 10-28-2020 10:34 AM
@ben64 a écrit :
Je n'utilise pas Vision et je ne suis pas familier avec ces VI mais la question qui me vient à l'esprit est les vi cam0.vi et cam1.vi sont-ils réentrant? Si non cela expliquerait la diminution du débit.
Ben64
Salut Ben64,
Merci pour ta réponse.
Les deux VI sont bien séparés, ce n'est pas le même sous VI donc qu'ils soient réentrants ou non ne change rien ... si ? 🤔
le 10-28-2020 10:54 AM
Si c'est différent, lorsqu'un vi est réentrant chaque instance dans le diagramme est un clone et est indépendant des autres instances. Si le vi n'est pas réentrant l'exécution d'une instance doit attendre que la fonction soit disponible, c'est-à-dire qu'il n'y ait pas une autre instance du vi qui utilise la fonction.
Ben64
le 10-28-2020 11:37 AM