bonjour à tous et à toutes,
je travaille sur un moteur de physique distribué et j'utilise SDL pour la partie thread et donc synchronisation
l'usage des mutex et des sémaphores ne pause pas de problème en soit, c'est trés simple.
SDL_SemWait(sem);
...
SDL_SemPost(sem);
le problème c'est que parfois le sémaphore reste bloquer 16-60 ms sur le wait, alors qu'il n'y a qu'un seul thread !!! Donc je vois mal comment il peu s'auto-interrompre... j'ai vérifié à coup de "cout" le thread ne lance pas deux fois le wait
mais il reste parfois coincé 60ms (environ 1 fois sur 50 appels c'est très variable)
ça arrive une fois de temps en temps mais ça limite les performance de façon assez forte.
Quand j'augmente le nombre de balles dans ma scène le nombre d'appel augmente et les performance s'effondre
sans la synchro je peu gérer 6000 objets en mouvement sur mon 2Ghz
mais avec ces problèmes de sémaphore je ne dépasse pas les 250 ...
c'est un problème connu des sémaphore et mutex SDL ?
c'est un problème d'utilisation ou d'environnement ?
A savoir parfois ce délais est moins fréquent que d'autre.
si quelqu'un a une idée... elle est la bienvenue
Partager