latence_de_l_osc_dans_blender
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
latence_de_l_osc_dans_blender [2018/07/19 07:52] – serge | latence_de_l_osc_dans_blender [2021/04/08 06:01] (Version actuelle) – [Définition: Wikipedia EN] serge | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
======Latence de l' OSC dans Blender====== | ======Latence de l' OSC dans Blender====== | ||
+ | |||
+ | <WRAP center round box 60% centeralign> | ||
+ | **[[http:// | ||
+ | </ | ||
+ | |||
+ | |||
===== Définition: | ===== Définition: | ||
- | Le [[http:// | + | Le [[http:// |
===== Description du symptôme ===== | ===== Description du symptôme ===== | ||
Ligne 15: | Ligne 21: | ||
Si l' | Si l' | ||
- | C'est un problème de **baignoire, | + | C'est un problème de **baignoire, |
- | En anglais, c'est une Queue LIFO : Last In First Out {{:Lifo queue.png? | + | En anglais, c'est une Queue LIFO : Last In First Out {{media_08:lifo_queue.png? |
Ligne 26: | Ligne 32: | ||
Le test ci-dessous montre des compteurs avec des valeurs de pulse de 0, 1 et 2. | Le test ci-dessous montre des compteurs avec des valeurs de pulse de 0, 1 et 2. | ||
- | Blender tourne au maximum à 60 fps: {{:Pulse 1.png? | + | Blender tourne au maximum à 60 fps: {{media_12:pulse_1.png? |
Ligne 39: | Ligne 45: | ||
Le tableau ci-dessous donne les fréquences et périodes dans Blender et Pure Data. | Le tableau ci-dessous donne les fréquences et périodes dans Blender et Pure Data. | ||
- | {{:Pulse 3.png|Pulse 3.png Pulse 3.png}} | + | {{media_12:pulse_3.png|Pulse 3.png}} |
La solution la plus rationnelle est de régler la fréquence d' envoi plus basse que la fréquence de réception dans Blender, idem est régler le " | La solution la plus rationnelle est de régler la fréquence d' envoi plus basse que la fréquence de réception dans Blender, idem est régler le " | ||
Ligne 45: | Ligne 51: | ||
Régler le " | Régler le " | ||
- | === 3 - Définir la taille du Buffer UDP === | + | === 3 - Définir la taille du Buffer UDP: la meilleure solution !=== |
GameLogic.socket.setsockopt(socket.SOL_SOCKET, | GameLogic.socket.setsockopt(socket.SOL_SOCKET, | ||
- | Ce {{:OSC buffer mini 2.49.zip|fig:OSC buffer mini 2.49.zip}} utilise cette option, si elle est commentée le cube est en retard. | + | Ce {{media_10:osc_buffer_mini_2.49.zip| OSC buffer mini 2.49.zip}} utilise cette option, si elle est commentée le cube est en retard. |
=== 4 - Vider le buffer si il contient plus de 1 valeur === | === 4 - Vider le buffer si il contient plus de 1 valeur === | ||
- | C'est la méthode proposée par [[https:// | + | C'est la méthode proposée par [[https:// |
+ | **Cette solution est lourde: Définir la taille du Buffer UDP est bien plus éléguante** | ||
<code python> | <code python> | ||
Ligne 108: | Ligne 115: | ||
GameLogic.handWii = OSC.decodeOSC(data) | GameLogic.handWii = OSC.decodeOSC(data) | ||
</ | </ | ||
+ | |||
=== 5 - Définir la taille du Buffer UDP avec Pure Data === | === 5 - Définir la taille du Buffer UDP avec Pure Data === | ||
- | {{:Osc 08.png|Osc 08.png | + | {{media_10:osc_08.png|Osc 08.png}} |
bufsize 1024 sur packOSC définit la taille du buffer. | bufsize 1024 sur packOSC définit la taille du buffer. | ||
Ligne 120: | Ligne 128: | ||
===== Ressources ===== | ===== Ressources ===== | ||
- | * http:// | + | * [[http:// |
- | * http:// | + | * [[http:// |
+ | {{tag> |
latence_de_l_osc_dans_blender.txt · Dernière modification : 2021/04/08 06:01 de serge