Tordre le cou au moteur audio:
- 212 réponses
- 40 participants
- 29 049 vues
- 56 followers
Anonyme
521410
Sujet de la discussion Posté le 16/06/2006 à 20:33:57Tordre 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
pour ça, un autre thread:
Tordre le coup au moteur audio: polemiques et crtiques
miles1981
8352
Je poste, donc je suis
Membre depuis 20 ans
151 Posté le 25/04/2018 à 20:54:48
Citation de Hakim+K :
C'est fou quand je disais ça au début, on m'a assassiné de théorie pour m'expliquer que Logic et Kontakt fonctionnent normalement et que c'est les principes de base qui conduisent au problème de surcharge single-core en live et qu'il n'y a rien à faire. Mais là maintenant c'est acquis que Logic et Kontakt ont un problème avec le multithreading. Bravo la théorie! Tu ne dirais pas ça sans les expérimentations que j'ai partagé.
Non, Logic et Kontakt n'ont aucun problème, c'est Kontakt qui ne fait pas son travail correctement (être multithreadé et ne pas détecter le binding).
Et Logic fait son travail correctement, à savoir binder les coeurs.
Audio Toolkit: http://www.audio-tk.com/
Hakim+K
2179
AFicionado·a
Membre depuis 19 ans
152 Posté le 25/04/2018 à 20:56:09
ça semble être parti sur une vraie discussions enfin avec des hypothèses sérieuses plutôt que des "c'est comme ça" et "c'est impossible", tiens donc?
Hakim+K
2179
AFicionado·a
Membre depuis 19 ans
153 Posté le 25/04/2018 à 20:58:15
Euh tu dis Logic et Kontakt n'ont aucun problème puis juste après Kontakt ne fait pas son travail correctement, ce n'est pas un problème de Kontakt s'il ne fait pas son travail? Parce que moi quand je ne fais pas mon travail correctement c'est mon problème.
Après en Standalone le multithreads de Kontakt fonctionne, pas de surcharge avec les mêmes instru.
Après en Standalone le multithreads de Kontakt fonctionne, pas de surcharge avec les mêmes instru.
[ Dernière édition du message le 25/04/2018 à 21:01:00 ]
miles1981
8352
Je poste, donc je suis
Membre depuis 20 ans
154 Posté le 25/04/2018 à 20:58:38
Citation de Dr :
Parce que les threads de Kontakt sont en compétition avec ceux de Logic pour les mêmes ressources.
Sauf que les threads de Logic se tournent les pouces. Si on part du principe qu’un instrument se crée des threads quand ça se justifie, hypothèse plutôt raisonnable, il n’y a pas de raison de l’en empêcher. [/quote]
Effectivement, c'est alex.d qui a donné la solution avec le binding des threads de Logic qui est vraisemblablement hérité par les threads de Kontakt qui sont alors attaché à un seul coeur. C'est pourtant la bonne pratique, ce que fait Logic. En revanche, Kontakt ne devrait créer que des threads pour remplir le binding qu'il crée (c'est facile à calculer).
Citation de Dr :
Peux-tu préciser cette notion de spin ? Je ne suis pas sûr de connaître.
Quand les threads ne font rien, ils peuvent rendre la dispo à l'OS, ou alors être en spin wait (grosso modo while(true){}). Ce dernier évite un délai de réveil (parfois), et sur les clusters où les threads sont bindés, c'est la pratique usuelle (parce que rien d'autre n'est plus important et les codeurs développent leur application pour avoir 1thread = 1 coeur car c'est là que tu maximises la perf).
Audio Toolkit: http://www.audio-tk.com/
miles1981
8352
Je poste, donc je suis
Membre depuis 20 ans
155 Posté le 25/04/2018 à 21:00:51
Citation de Hakim+K :
Euh tu dis Logic et Kontakt n'ont aucun problème puis juste après Kontakt ne fait pas son travail, ce n'est pas un problème de Kontakt s'il ne fait pas son travail? Parce que moi quand je ne fais pas mon travail correctement c'est mon problème.
Tu dis que c'est un problème de Logic et Kontakt, non.
Et le problème original du séquencement des opérations est un vrai problème que tu n'as pas encore compris, je maintiens la position. En revanche, à force de te tirer les vers du nez, on a réussi à comprendre le véritable problème que tu as rencontré. f(g(x)) ne pourra jamais être parallélisé.
Audio Toolkit: http://www.audio-tk.com/
Dr Pouet
52037
Membre d’honneur
Membre depuis 20 ans
156 Posté le 25/04/2018 à 21:03:07
Citation :
être en spin wait (grosso modo while(true){})
Ah oui, pour moi ça s’appelait de « l’attente active ».
On peut soit gagner un peu, soit perdre beaucoup avec ce genre de stratégie.
Ça ne me semble viable que quand une seule appli, ou uniquement des applis prévues d’avance, vont tourner sur la machine.
Hakim+K
2179
AFicionado·a
Membre depuis 19 ans
157 Posté le 25/04/2018 à 21:04:10
Citation :
Et le problème original du séquencement des opérations est un vrai problème que tu n'as pas encore compris
Si si compris depuis au moins 6 ans,
Citation :
En revanche, à force de te tirer les vers du nez, on a réussi à comprendre le véritable problème que tu as rencontré. f(g(x)) ne pourra jamais être parallélisé.
Par pitié, on s'en fout, on cherche ce qui cloche entre Logic et Kontakt, puisque ça marche mieux avec d'autres STAN et ça marche mieux avec un bridge. Explique-moi plutôt cette phrase
Citation :
. Il y a une contradiction non?Effectivement, c'est alex.d qui a donné la solution avec le binding des threads de Logic qui est vraisemblablement hérité par les threads de Kontakt qui sont alors attaché à un seul coeur. C'est pourtant la bonne pratique, ce que fait Logic
[ Dernière édition du message le 25/04/2018 à 21:08:31 ]
Darkmoon
4068
Squatteur·euse d’AF
Membre depuis 20 ans
158 Posté le 25/04/2018 à 21:05:20
Citation de Hakim+K :
...j'ai dit exactement que ça met en doute ça :Citation :Un truc que tu disais impossible est devenu possible.C’est tout simplement impossible techniquement~physiquement à cause de l'implication du/de la notion de temps réel.
Lequel? Tu nous le rappelles SVP. Car si je me relis, je constate juste que j'ai dit que c'est impossible de calculer simultanément des opérations qui doivent attendre d'autres résultats. Alors de quoi tu causes? Cite-moi le passage exact
Citation de Hakim+K :
C'est fou quand je disais ça au début, on m'a assassiné de théorie pour m'expliquer que Logic et Kontakt fonctionnent normalement...
Pas du tout, j'ai évoquer une possibilité (tu connais le concept/notion de ce mot?) mais n'ais rien affirmé au départ. Tu fais des épouvantails parce que tu ne veux tjrs pas comprendre que je partageais des généralités et que ça pouvait servir à d'autres. Et que j'ai argumenté, te concernant, uniquement après que tu à commencer à prétendre que nous disions tous n'importe quoi. T'es trop centré sur toi-même et tu t'offusque trop rapidement. Désolé.
"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
[ Dernière édition du message le 25/04/2018 à 21:07:24 ]
Dr Pouet
52037
Membre d’honneur
Membre depuis 20 ans
159 Posté le 25/04/2018 à 21:06:11
Citation :
Effectivement, c'est alex.d qui a donné la solution avec le binding des threads de Logic qui est vraisemblablement hérité par les threads de Kontakt qui sont alors attaché à un seul coeur. C'est pourtant la bonne pratique, ce que fait Logic. En revanche, Kontakt ne devrait créer que des threads pour remplir le binding qu'il crée (c'est facile à calculer).
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 » ?
Dr Pouet
52037
Membre d’honneur
Membre depuis 20 ans
160 Posté le 25/04/2018 à 21:09:29
Citation :
Et Logic fait son travail correctement, à savoir binder les coeurs.
C’est pour ne pas casser le pipeline au sein d’un cœur ? (Et optimiser ainsi la puissance de calcul)
[ Dernière édition du message le 25/04/2018 à 21:09:52 ]
- < Liste des sujets
- Charte