Bonjour à tous,
Pour le taf, je dois réaliser une bibliothèque de traitement video/data modulaire permettant des traitements lourds (de quoi remplir des dizaines de cores et faire chauffer des GPU) sur des données capturées ou enregistrées.
J'ai fait un petit schéma ultra simplifié de ce à quoi ça peut ressembler:
Ici chaque bloc est une opération plus ou moins lourde, tournant dans des threads séparés et fonctionnant donc en asynchrone.
Ces blocs peuvent être ajouté/modifiés/supprimés au runtime en fonction des données et des actions utilisateur, par exemple un filtre peut s'ajouter, et les parametres d'un autre peuvent changer.
Donc plusieurs types de filtres/process qui traitent plusieurs types de données en entrée et en sortie, avec un nombre d'entrées/sorties qui peuvent éventuellement varier au runtime.
J'ai déjà réalisé un telle bibliothèque et elle répondais aux besoins de l'époque mais pour une utilisation plus étendue elle montre assez vite ses limites car elle est très peu évolutive et ne permet pas beaucoup d'opération au runtime, quasiment tout doit être construit à la compilation
Je me débrouille à peu près en C++ mais ma spécialité c'est plutôt le temps réel et l'optimisation et j'ai pas mal de lacune en architecture/design pattern donc j'aimerais quelques avis/conseils pour m'orienter sur les meilleurs pistes à prendre pour réaliser cela au mieux.
Merci
Partager