Se connecter
Se connecter

ou
Créer un compte

ou

Sujet Tordre le cou au moteur audio:

  • 212 réponses
  • 40 participants
  • 28 376 vues
  • 56 followers
Sujet de la discussion Tordre le cou au moteur audio:
Ok, je vais essayer de mettre dans ce thread un petit recapitulatif d'avis t d'infos récupérés a droite a gauche sur le net, afin de ruiner le vieux mythe du moteur audio. merci de ne pas poster de commentaires et de ne pas entamer de fumeux debats sans arguments ici.
pour ça, un autre thread:
Tordre le coup au moteur audio: polemiques et crtiques
Afficher le sujet de la discussion
161
Citation :
avec le binding des threads de Logic qui est vraisemblablement hérité par les threads de Kontakt qui sont alors attaché à un seul coeur.
Comprends toujours pas ça, surtout qu'il est recommandé par NI et Apple (j'ai déjà posté les liens) de mettre l'option multicore de Kontakt sur off (en mode plugin bien sûr) et tous le monde le fait depuis longtemps (pas que moi hein).

Citation :
Kontakt pourrait créer des threads qui ne seraient plus liés au cœur qui héberge le thread de la tranche de Logic ?

Je ne vois pas trop comment, ça revient à sortir de soi-même, mais rien n'est impossible.

[ Dernière édition du message le 25/04/2018 à 21:17:36 ]

162
Question pour miles1981/alex.d.

Si Logic fait son boulot et que ça provient de Kontakt, qu’est-ce qui explique que ce dernier fonctionne sans problème dans certains autres DAW? N’y a-t-il pas, forcément, une implication/relation entre le DAW/Kontakt puisque ce dernier pose prob dans Logic, mais pas dans d’autres DAW?

:noidea:

"Si t'enregistres à Poudlard, avec l'ingé son Dumbledore, les lois physiques tu peux t'en foutre. Mais dans l'monde réel, les lois physiques, les mesures, le dBFS, tout ça existe bel et bien." youtou

163
Déjà demandé post 157
Citation :
ce qui cloche entre Logic et Kontakt, puisque ça marche mieux avec d'autres STAN et ça marche mieux avec un bridge
164
Citation de darkmoon :
ce dernier pose prob dans Logic, mais pas dans d’autres DAW?

Est ce qu'on est sur de ça ? J'ai peut être raté quelque chose dans la discussion, mais si j'ai bien compris :
-Hakim tu as testé dans Logic et en standalone mais pas avec d'autre DAW.
-Et toi Darkmoon tu as tester dans Studio One et FL studio mais pas dans Logic.
Vos config sont sans doute différentes donc on ne peut pas conclure que ça marche moins bien dans Logic que les autres DAW.
Mon hypothèse c'est que tout les DAW on a peu près le même problème.
165
Citation de darkmoon :
Question pour miles1981/alex.d.

Si Logic fait son boulot et que ça provient de Kontakt, qu’est-ce qui explique que ce dernier fonctionne sans problème dans certains autres DAW? N’y a-t-il pas, forcément, une implication/relation entre le DAW/Kontakt puisque ce dernier pose prob dans Logic, mais pas dans d’autres DAW?

:noidea:

Parce que les autres STANs ne font pas de binding des threads ?

DrPouet > oui, c'est mieux quand un thread haute priorité est bindé à un coeur de sorte que les données de ce thread ne bougent pas et qu'un autre thread haute priorité ne lui pique pas du temps.

[ Dernière édition du message le 25/04/2018 à 22:24:08 ]

166
Citation de Dr :
Kontakt pourrait créer des threads qui ne seraient plus liés au cœur qui héberge le thread de la tranche de Logic ?

Une sorte de « vraie option muliticore » ?

Oui, mais c'est pas recommandé.
Encore une fois, la seule option légitime est un thread pool de threads haute priorité qui serait fourni par la STAN.
167
Il y a aussi un souci courant mais méconnu quand on fait du temps-réel sur multicœur : l'accès simultané aux ressources partagées. Dont la mémoire fait partie, et souvent les caches L2 et/ou L3. Il y a des arbitrages en matériel, qui font qu'un cœur aura la ressource et les autres vont attendre. En moyenne ce n'est pas super grave (et sur de l'audio ca ne fera qu'ajouter un petit jitter) mais pour des applications critiques ca peut être un vrai souci.

Par exemple, un collègue arrivait il y a quelques années, avec du traitement d'image assez optimisé en SSE2 sur deux cœurs, à saturer la bande passante du cache L2 partagé.
Un autre exemple est celui de deux threads, qui en accédant à des tableaux mal rangés au regard de l'associativité du cache, s'évictent mutuellement les données.
Il y a plein de mécanismes comme ca, qui font assez rapidement dégringoler la perfo (ou la font varier de manière imprévisible) quand plusieurs choses se passent en même temps.
168
Citation de miles1981 :
Le souci arrive donc bien si tous les plugins se créent leur propre thread pool avec des threads temps réel (+ spin en général dans le thread pools pour permettre d'avoir une réactivité).


En général, tu ne fais pas d'attente active. Ça peut arriver parfois en HPC (et à condition de ne pas faire du green !), mais ça ne marche que pour une appli qui est seule sur son noeud, pas pour une bibliothèque qui doit partager les cores, et a fortiori pas pour un plugin qui sait par définition qu'il n'est pas seul.

Je ne connais pas les détails sous Windows ou Mac, mais sous Linux, avec jackd il n'y a que de l'attente passive pour passer la main aux threads. Ça se fait avec des write() et poll() (et non un pthread_cond_signal() comme on pourrait l'envisager intuitivement) parce que sur l'ensemble des systèmes supportés, c'est l'appel qui garantit que c'est précisément le thread temps-réel qui sera réveillé dès qu'il sera prêt. De mémoire, il me semble qu'on a aussi la garantie avec les sémaphores, mais pas sur tous les sytèmes.

Bon, après peut-être que sous Mac, il y a de l'attente active dans Logic ou dans Kontakt, mais alors là, tu m'étonnes que ça pète ! Mais je ne pense pas qu'ils soient aussi bêtes, au point de mettre de l'attente active dans un truc dont tu sais qu'il sera composé avec autre chose et donc qu'il ne sera pas tout seul.
169
Citation de darkmoon :
Citation de Papy :
ouais sauf que c'est bien connu que le moteur audio de fl c'est de la m*rde.


J'imagine que c'est une plaisanterie/troll, mais étant donné qu'il gère parfaitement le multithreading avec Kontakt (et de gros patchs/instruments orchestraux que j'utilise), l'on peut, à minima, conclure que FL, ainsi que Studio One avec lequel je n'expérimente aucun problème avec Kontakt, possèdent tous deux un moteur audio n'ayant pas les problèmes de Logic concernant Kontakt et le multithreading!


yes c'etait une petite blague car j'entend et vois souvent beaucoup de monde critiquer FL alors que de mon coté même si ça n'est plus mon DAW principal je l'utilise encore car c'est un monstre plein d'atouts!
170

"Si t'enregistres à Poudlard, avec l'ingé son Dumbledore, les lois physiques tu peux t'en foutre. Mais dans l'monde réel, les lois physiques, les mesures, le dBFS, tout ça existe bel et bien." youtou