0 Members and 1 Guest are viewing this topic.
recvmsg (33 851 appels, 29 712 en erreur) — c'est le détail le plus révélateur. Un taux d'erreur de 87% sur recvmsg correspond typiquement à des lectures non-bloquantes sur un socket (EAGAIN : "rien à lire pour l'instant") appelées en boucle plutôt que d'attendre passivement un événement. Ça sent le polling actif sur une socket D-Bus ou PipeWire au lieu d'un vrai listener événementiel.Plusieurs threads d'AIMP (UI, décodage, I/O) se disputent des mutex plus souvent que nécessaire, ce qui gaspille du CPU en réveils/endormissements inutiles plutôt qu'en travail utile.nanosleep (21%, seulement 733 appels mais 2.8s cumulées) — un thread qui dort puis se réveille très régulièrement (~2.8ms par appel en moyenne), typique d'un polling à intervalle fixe plutôt que d'un vrai callback événementiel.
Verdict : ce n'est pas un problème de "trop de calcul audio", c'est un problème d'architecture du portage Linux — trop de threads qui se réveillent inutilement, du polling actif là où un design événementiel propre suffirait. Ça colle exactement avec les critiques vues sur les forums ("développeur qui ne maîtrise pas les spécificités Linux").