En C++, je cherche à trouver le moyen de placer un condition sur le temps
d'éxécution d'une boucle : par exemple
si (temps d'execution < 50 ms ) { wait } else { continue }
je v m'en servir pour un programme qui va afficher une série d'images et je
vois pas trop comment faire pour "brider" le programme .
En C++, je cherche à trouver le moyen de placer un condition sur le temps d'éxécution d'une boucle : par exemple si (temps d'execution < 50 ms ) { wait } else { continue } je v m'en servir pour un programme qui va afficher une série d'images et je vois pas trop comment faire pour "brider" le programme .
GetSystemTime est ton amie
-- cns
On 2004-03-31, Ragnartichaud <ragnartichaud@free.fr> wrote:
En C++, je cherche à trouver le moyen de placer un condition sur le temps
d'éxécution d'une boucle : par exemple
si (temps d'execution < 50 ms ) { wait } else { continue }
je v m'en servir pour un programme qui va afficher une série d'images et je
vois pas trop comment faire pour "brider" le programme .
En C++, je cherche à trouver le moyen de placer un condition sur le temps d'éxécution d'une boucle : par exemple si (temps d'execution < 50 ms ) { wait } else { continue } je v m'en servir pour un programme qui va afficher une série d'images et je vois pas trop comment faire pour "brider" le programme .
GetSystemTime est ton amie
-- cns
patrox
Sleep( 50 )
ce n'est pas tres precis cela dit.
pat.
"Cyrille Szymanski" a écrit dans le message de news:406c9d72$0$15494$
On 2004-03-31, Ragnartichaud wrote: > En C++, je cherche à trouver le moyen de placer un condition sur le
temps
> d'éxécution d'une boucle : par exemple > si (temps d'execution < 50 ms ) { wait } else { continue } > je v m'en servir pour un programme qui va afficher une série d'images et
je
> vois pas trop comment faire pour "brider" le programme . > GetSystemTime est ton amie
-- cns
Sleep( 50 )
ce n'est pas tres precis cela dit.
pat.
"Cyrille Szymanski" <cns2@cns.invalid> a écrit dans le message de
news:406c9d72$0$15494$626a14ce@news.free.fr...
On 2004-03-31, Ragnartichaud <ragnartichaud@free.fr> wrote:
> En C++, je cherche à trouver le moyen de placer un condition sur le
temps
> d'éxécution d'une boucle : par exemple
> si (temps d'execution < 50 ms ) { wait } else { continue }
> je v m'en servir pour un programme qui va afficher une série d'images et
je
> vois pas trop comment faire pour "brider" le programme .
>
GetSystemTime est ton amie
"Cyrille Szymanski" a écrit dans le message de news:406c9d72$0$15494$
On 2004-03-31, Ragnartichaud wrote: > En C++, je cherche à trouver le moyen de placer un condition sur le
temps
> d'éxécution d'une boucle : par exemple > si (temps d'execution < 50 ms ) { wait } else { continue } > je v m'en servir pour un programme qui va afficher une série d'images et
je
> vois pas trop comment faire pour "brider" le programme . > GetSystemTime est ton amie
-- cns
Manu et Isa
Les Timer sont aussi tres pratiques.
Manu
"patrox" a écrit dans le message de news:4072f312$0$288$
Sleep( 50 )
ce n'est pas tres precis cela dit.
pat.
"Cyrille Szymanski" a écrit dans le message de news:406c9d72$0$15494$ > On 2004-03-31, Ragnartichaud wrote: > > En C++, je cherche à trouver le moyen de placer un condition sur le temps > > d'éxécution d'une boucle : par exemple > > si (temps d'execution < 50 ms ) { wait } else { continue } > > je v m'en servir pour un programme qui va afficher une série d'images
et
je > > vois pas trop comment faire pour "brider" le programme . > > > GetSystemTime est ton amie > > -- > cns
Les Timer sont aussi tres pratiques.
Manu
"patrox" <misterbanned@hotmail.com> a écrit dans le message de
news:4072f312$0$288$7a628cd7@news.club-internet.fr...
Sleep( 50 )
ce n'est pas tres precis cela dit.
pat.
"Cyrille Szymanski" <cns2@cns.invalid> a écrit dans le message de
news:406c9d72$0$15494$626a14ce@news.free.fr...
> On 2004-03-31, Ragnartichaud <ragnartichaud@free.fr> wrote:
> > En C++, je cherche à trouver le moyen de placer un condition sur le
temps
> > d'éxécution d'une boucle : par exemple
> > si (temps d'execution < 50 ms ) { wait } else { continue }
> > je v m'en servir pour un programme qui va afficher une série d'images
et
je
> > vois pas trop comment faire pour "brider" le programme .
> >
> GetSystemTime est ton amie
>
> --
> cns
"patrox" a écrit dans le message de news:4072f312$0$288$
Sleep( 50 )
ce n'est pas tres precis cela dit.
pat.
"Cyrille Szymanski" a écrit dans le message de news:406c9d72$0$15494$ > On 2004-03-31, Ragnartichaud wrote: > > En C++, je cherche à trouver le moyen de placer un condition sur le temps > > d'éxécution d'une boucle : par exemple > > si (temps d'execution < 50 ms ) { wait } else { continue } > > je v m'en servir pour un programme qui va afficher une série d'images
et
je > > vois pas trop comment faire pour "brider" le programme . > > > GetSystemTime est ton amie > > -- > cns
siwu
Ragnartichaud wrote:
En C++, je cherche à trouver le moyen de placer un condition sur le temps d'éxécution d'une boucle : par exemple si (temps d'execution < 50 ms ) { wait } else { continue } je v m'en servir pour un programme qui va afficher une série d'images et je vois pas trop comment faire pour "brider" le programme .
merci
int ticks1; int ticks2;
for (i = 0; i < n; i++) { ticks1 = GetTickCount();
ce code synchronise ta boucle a 50ms par iteration (si moins de 50ms). Ca bride par le bas dirons-nous :)
siwu
Ragnartichaud wrote:
En C++, je cherche à trouver le moyen de placer un condition sur le temps
d'éxécution d'une boucle : par exemple
si (temps d'execution < 50 ms ) { wait } else { continue }
je v m'en servir pour un programme qui va afficher une série d'images et je
vois pas trop comment faire pour "brider" le programme .
merci
int ticks1;
int ticks2;
for (i = 0; i < n; i++)
{
ticks1 = GetTickCount();
En C++, je cherche à trouver le moyen de placer un condition sur le temps d'éxécution d'une boucle : par exemple si (temps d'execution < 50 ms ) { wait } else { continue } je v m'en servir pour un programme qui va afficher une série d'images et je vois pas trop comment faire pour "brider" le programme .
merci
int ticks1; int ticks2;
for (i = 0; i < n; i++) { ticks1 = GetTickCount();
ce code synchronise ta boucle a 50ms par iteration (si moins de 50ms). Ca bride par le bas dirons-nous :)
1) Peut être bien qu'il faut remplacer > par <, sinon on risque de faire un Sleep de quelques semaines, non ?
2) Peut être bien aussi qu'il faut se méfier du moment où les ticks passent de 0xffffffff à 0, non ?
halfwolf
"Manuel Leclerc" wrote in message news:<c6boj8$hfa$...
siwu a écrit :
> int ticks1; > int ticks2; > > for (i = 0; i < n; i++) > { > ticks1 = GetTickCount(); > > // afficher l'image, faire des trucs > > ticks2 = GetTickCount(); > if ((ticks2 - ticks1) > 50) > Sleep(50 - (ticks2 - ticks1)); > } > > ce code synchronise ta boucle a 50ms par iteration >(si moins de 50ms). Ca bride par le bas dirons-nous :)
1) Peut être bien qu'il faut remplacer > par <, sinon on risque de faire un Sleep de quelques semaines, non ?
Oui, fort probable.
2) Peut être bien aussi qu'il faut se méfier du moment où les ticks passent de 0xffffffff à 0, non ?
Non, si on travaille en non signé (en signé on aura des surprises). Par exemple 0x32 - 0xFFFFFFFF fait 0x33 sur un DWORD, qui est bien le résultat qu'on attendait.
DWORD ticks1; DWORD ticks2;
for (i = 0; i < n; i++) { ticks1 = GetTickCount();
"Manuel Leclerc" <manuel.leclerc@alussinan.org> wrote in message news:<c6boj8$hfa$1@news-reader2.wanadoo.fr>...
siwu a écrit :
> int ticks1;
> int ticks2;
>
> for (i = 0; i < n; i++)
> {
> ticks1 = GetTickCount();
>
> // afficher l'image, faire des trucs
>
> ticks2 = GetTickCount();
> if ((ticks2 - ticks1) > 50)
> Sleep(50 - (ticks2 - ticks1));
> }
>
> ce code synchronise ta boucle a 50ms par iteration
>(si moins de 50ms). Ca bride par le bas dirons-nous :)
1) Peut être bien qu'il faut remplacer > par <, sinon
on risque de faire un Sleep de quelques semaines, non ?
Oui, fort probable.
2) Peut être bien aussi qu'il faut se méfier du moment où
les ticks passent de 0xffffffff à 0, non ?
Non, si on travaille en non signé (en signé on aura des surprises).
Par exemple 0x32 - 0xFFFFFFFF fait 0x33 sur un DWORD, qui est bien le
résultat qu'on attendait.
DWORD ticks1;
DWORD ticks2;
for (i = 0; i < n; i++)
{
ticks1 = GetTickCount();
"Manuel Leclerc" wrote in message news:<c6boj8$hfa$...
siwu a écrit :
> int ticks1; > int ticks2; > > for (i = 0; i < n; i++) > { > ticks1 = GetTickCount(); > > // afficher l'image, faire des trucs > > ticks2 = GetTickCount(); > if ((ticks2 - ticks1) > 50) > Sleep(50 - (ticks2 - ticks1)); > } > > ce code synchronise ta boucle a 50ms par iteration >(si moins de 50ms). Ca bride par le bas dirons-nous :)
1) Peut être bien qu'il faut remplacer > par <, sinon on risque de faire un Sleep de quelques semaines, non ?
Oui, fort probable.
2) Peut être bien aussi qu'il faut se méfier du moment où les ticks passent de 0xffffffff à 0, non ?
Non, si on travaille en non signé (en signé on aura des surprises). Par exemple 0x32 - 0xFFFFFFFF fait 0x33 sur un DWORD, qui est bien le résultat qu'on attendait.
DWORD ticks1; DWORD ticks2;
for (i = 0; i < n; i++) { ticks1 = GetTickCount();
Non, si on travaille en non signé (en signé on aura des surprises).Par exemple 0x32 - 0xFFFFFFFF fait 0x33 sur un DWORD, qui est bien le résultat qu'on attendait.
Cool, j'aurais encore appris quelque chose aujourd'hui.
-- <Mooby> bon je vousprevien <Mooby> j'ai du repnrdre monacien clavier <Mooby> l'auter est naze
HalfWolf a écrit :
Non, si on travaille en non signé (en signé on aura
des surprises).Par exemple 0x32 - 0xFFFFFFFF fait
0x33 sur un DWORD, qui est bien le résultat qu'on
attendait.
Cool, j'aurais encore appris quelque chose aujourd'hui.
--
<Mooby> bon je vousprevien
<Mooby> j'ai du repnrdre monacien clavier
<Mooby> l'auter est naze
Non, si on travaille en non signé (en signé on aura des surprises).Par exemple 0x32 - 0xFFFFFFFF fait 0x33 sur un DWORD, qui est bien le résultat qu'on attendait.
Cool, j'aurais encore appris quelque chose aujourd'hui.
-- <Mooby> bon je vousprevien <Mooby> j'ai du repnrdre monacien clavier <Mooby> l'auter est naze
Aurélien REGAT-BARREL
> > 2) Peut être bien aussi qu'il faut se méfier du moment où > les ticks passent de 0xffffffff à 0, non ?
Tiens, c'est marrant, en cherchant combien de temps il faut pour que cela se produise (GetTickCount renvoie (en gros) le nombre de millisecondes depuis lesquel Windows fonctionne), voilà ce que ça donne : 0xFFFFFFFF / 1000 => 4 294 967,295 secondes / 3600 => 1193 heures / 24 => 49,7
Cela ne fait-il pas le nombre de jours max durant lequel Win9x peut fonctionner sans planter ?
-- Aurélien REGAT-BARREL
> > 2) Peut être bien aussi qu'il faut se méfier du moment où
> les ticks passent de 0xffffffff à 0, non ?
Tiens, c'est marrant, en cherchant combien de temps il faut pour que cela se
produise (GetTickCount renvoie (en gros) le nombre de millisecondes depuis
lesquel Windows fonctionne), voilà ce que ça donne :
0xFFFFFFFF / 1000 => 4 294 967,295 secondes
/ 3600 => 1193 heures
/ 24 => 49,7
Cela ne fait-il pas le nombre de jours max durant lequel Win9x peut
fonctionner sans planter ?
> > 2) Peut être bien aussi qu'il faut se méfier du moment où > les ticks passent de 0xffffffff à 0, non ?
Tiens, c'est marrant, en cherchant combien de temps il faut pour que cela se produise (GetTickCount renvoie (en gros) le nombre de millisecondes depuis lesquel Windows fonctionne), voilà ce que ça donne : 0xFFFFFFFF / 1000 => 4 294 967,295 secondes / 3600 => 1193 heures / 24 => 49,7
Cela ne fait-il pas le nombre de jours max durant lequel Win9x peut fonctionner sans planter ?
-- Aurélien REGAT-BARREL
Manuel Leclerc
Aurélien REGAT-BARREL a écrit :
[GetTickCount 49,7 jour]
Cela ne fait-il pas le nombre de jours max durant lequel Win9x peut fonctionner sans planter ?
Si, et le plantage est lié à cette API, je crois.
-- But if that doesn't work for you, I would not consider it a great loss for the world if your products were not produced. They contribute something to the world if they are free software, but otherwise not. -- Richard Stallman
Aurélien REGAT-BARREL a écrit :
[GetTickCount 49,7 jour]
Cela ne fait-il pas le nombre de jours max
durant lequel Win9x peut fonctionner sans planter ?
Si, et le plantage est lié à cette API, je crois.
--
But if that doesn't work for you, I would not consider it a great loss
for the world if your products were not produced. They contribute
something to the world if they are free software, but otherwise not.
-- Richard Stallman
Cela ne fait-il pas le nombre de jours max durant lequel Win9x peut fonctionner sans planter ?
Si, et le plantage est lié à cette API, je crois.
-- But if that doesn't work for you, I would not consider it a great loss for the world if your products were not produced. They contribute something to the world if they are free software, but otherwise not. -- Richard Stallman
AMcD®
Manuel Leclerc wrote:
Si, et le plantage est lié à cette API, je crois.
'Lut. C'est pas une API c'est une fonction. Une API c'est un ensemble de fonctions, de structures, d'interfaces, etc. Je sais bien que la mode est à la vulgarisation et au crétinisme (trojan pour Cheval de Troie, programme malicieux pour malware...), mais bon, ça coûte pas plus cher d'être un peu précis.
'Lut. C'est pas une API c'est une fonction. Une API c'est un ensemble de
fonctions, de structures, d'interfaces, etc. Je sais bien que la mode est à
la vulgarisation et au crétinisme (trojan pour Cheval de Troie, programme
malicieux pour malware...), mais bon, ça coûte pas plus cher d'être un peu
précis.
'Lut. C'est pas une API c'est une fonction. Une API c'est un ensemble de fonctions, de structures, d'interfaces, etc. Je sais bien que la mode est à la vulgarisation et au crétinisme (trojan pour Cheval de Troie, programme malicieux pour malware...), mais bon, ça coûte pas plus cher d'être un peu précis.