OTHELLOC

Signaler
Messages postés
18
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
12 septembre 2006
-
Messages postés
13
Date d'inscription
dimanche 27 octobre 2002
Statut
Membre
Dernière intervention
23 août 2007
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/38394-othelloc

Messages postés
13
Date d'inscription
dimanche 27 octobre 2002
Statut
Membre
Dernière intervention
23 août 2007

Une derniere methode qui marche bein ! (meme principe que le select. mais moin galer a metre en place sous windows

//init
HANDLE h = CreateEvent(NULL,TRUE, FALSE, NULL);

// dans ta boucle
While(1)
{
// le Sleep
WaitForSingleObject(h, time_in_ms);
}

Et j'insite le Sleep(ms/1000) ne marchera pas !!!!!!

Enjoy
Messages postés
13
Date d'inscription
dimanche 27 octobre 2002
Statut
Membre
Dernière intervention
23 août 2007

Pour info le caste ne ca pas changer quand chose puisque c'est la fonction qui est ecri ainci ... les valeur flotante seron toujour convertie en entier.

En cherche un peut sur le net tu vera que le usleep et souvant ramplacer pas un

select(0,NULL,NULL,NULL,&tv) ou tv et une structure temprel exprime en micro segond.
(note : select et une fonction de gestion de thead.. souvant utiliser dans des socket.. , ici l'utilisation et un peut "bizard" .. mais c'est a ma connaisance le seul moyen efficace de faire un sleep avec un temps < 1ms)

Un autre moyen et d'utiliser le temps machine en crean une boucle vide qui tourne jusqua que le temp voulue soit ecouler. mais cette methode est peut recommender puisque aucune liberation de processeur n'est effectuer... (Utilisation de 100% du processeur inuti)

Info sur le Sleep .. le Sleep ou le select ne son pas des fonction precise, en effet de temps donnée en parametre et un minimal. apres un rapide test sur une vielle machine for(;;) Sleep(1); donne des temps de Sleep au allant tour de 2ms par Sleep.

dernier Info . pour calculer une valeur de temps precise il et fortement deconseiller d'utiliser les fonction de time.h.. pour des calcule de l'ordre du microsegonde il vaux mieu utilisé QueryPerformanceFrequency et QueryPerformanceCounter (voire google)

Voila j'en et deja trop dit !
Messages postés
71
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
20 avril 2008

La remarque aurait pu être constructive si au lieu de rigoler, tu proposais une correction avec un cast par exemple.

Cela dit et bien que cela reste hors sujet, je te conseille d'utiliser un correcteur orthographique et un meilleur clavier car il semble inverser certaines lettres (étrange).
Messages postés
13
Date d'inscription
dimanche 27 octobre 2002
Statut
Membre
Dernière intervention
23 août 2007

Franchament j'ai rein vue de plus drole : Sleep(x / 1000)

la fonction Sleep de Windows prend comme paramentre un DWORD, equivalent d'un unsigned int ...

si tu mes x = 100 .. ca fais Sleep(0.1) qui en unsigned int donne tout simplement 0 .
Afficher les 15 commentaires