[C][SDL]Exécuter deux fonctions en même temps
|
28-12-2013, 04h39
Message : #12
|
|
b0fh
Membre actif Messages : 210 Sujets : 17 Points: 309 Inscription : Jul 2012 |
RE: [C][SDL]Exécuter deux fonctions en même temps
Je plussoie gruik, les pthreads ne sont absolument pas adaptés à la situation. Ce ne sont pas vraiment deux activités concurrentes puisqu'elle se partagent complètement un état (celui du jeu), tu as donc le choix entre tout protéger avec un gros mutex (et avoir des performances inutilement pires qu'avec un code sans threads) ou une protection bancale qui pourra altérer le gameplay (l'OS décide aléatoirement de bloquer le thread d'input sans bloquer les autres threads du jeu, c'est affreusement frustrant pour le joueur).
Une meilleure solution serait d'utiliser des coroutines mais C ne les supportant pas, il va falloir les faire à la main, en écrivant une seule boucle qui traitera les deux cas à chaque itération, en sauvegardant si nécessaire la situation actuelle dans des variables, au lieu de se baser sur le flot de contrôle pour exécuter des actions succesives. |
|
« Sujet précédent | Sujet suivant »
|
Utilisateur(s) parcourant ce sujet : 5 visiteur(s)