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édenteProchaine révisionLes deux révisions suivantes | ||
latence_de_l_osc_dans_blender [2018/07/19 07:49] – serge | latence_de_l_osc_dans_blender [2019/02/25 13:37] – serge | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
===== Définition: | ===== Définition: | ||
- | Le [[http:// | + | Le [[http:// |
===== Description du symptôme ===== | ===== Description du symptôme ===== | ||
Ligne 26: | Ligne 26: | ||
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 à 60 fps: {{:Pulse 1.png? | + | Blender tourne |
- | Les briques logiques: {{:Pulse 2.png? | ||
- | |||
- | En mode " | ||
===== Des solutions ===== | ===== Des solutions ===== | ||
Ligne 42: | Ligne 39: | ||
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}} | + | {{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 48: | Ligne 45: | ||
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 {{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 dfelinto. Ce script a été testé avec un patch avec un timer de 10 ms. Sans vider le buffer, la latence est de 15 secondes, avec ce script il n' ya plus de latence. Bien sûr ce script peut sans doute être amélioré. | + | 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 111: | Ligne 109: | ||
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 | + | {{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 123: | Ligne 122: | ||
===== Ressources ===== | ===== Ressources ===== | ||
- | * http:// | + | * [[http:// |
- | * http:// | + | * [[http:// |
+ | {{tag> |
latence_de_l_osc_dans_blender.txt · Dernière modification : 2021/04/08 06:01 de serge