Bonjour,
Question TIMER
Pour que le Timer par exp s'active à une tâche (peu importe), toute
les minutes, comment sait-il qu'il y a une minute de passée (ah... il
n'a pas de cerveau avec un pile et d'horloge sur dos) ?
J'en déduis que le timer doit aller lire l'heure à chaque
milliseconde, ce qui en pratique est plus long car il y a des
priorités dans les tâches plus le délai de réponse... En plus,
doit-il pour interroger l'horloge, passer par le processeur, je crois
que oui ?
Bref, si quelqu'un a une doc là dessus, sur le mécanisme logiciel
du Timer, j'aurais besoin d'infos, merci.
Bonjour,
Question TIMER
Pour que le Timer par exp s'active à une tâche (peu importe), toute
les minutes, comment sait-il qu'il y a une minute de passée (ah... il
n'a pas de cerveau avec un pile et d'horloge sur dos) ?
J'en déduis que le timer doit aller lire l'heure à chaque
milliseconde, ce qui en pratique est plus long car il y a des
priorités dans les tâches plus le délai de réponse... En plus,
doit-il pour interroger l'horloge, passer par le processeur, je crois
que oui ?
Bref, si quelqu'un a une doc là dessus, sur le mécanisme logiciel
du Timer, j'aurais besoin d'infos, merci.
Bonjour,
Question TIMER
Pour que le Timer par exp s'active à une tâche (peu importe), toute
les minutes, comment sait-il qu'il y a une minute de passée (ah... il
n'a pas de cerveau avec un pile et d'horloge sur dos) ?
J'en déduis que le timer doit aller lire l'heure à chaque
milliseconde, ce qui en pratique est plus long car il y a des
priorités dans les tâches plus le délai de réponse... En plus,
doit-il pour interroger l'horloge, passer par le processeur, je crois
que oui ?
Bref, si quelqu'un a une doc là dessus, sur le mécanisme logiciel
du Timer, j'aurais besoin d'infos, merci.
LE TROLL a écrit :Bonjour Jaques,
Intéresant ce que tu me dis et montre, ce serait la bonne solution,
toutefois je n'ai pas l'impresion qu'elle est sur nos PC, car il suffit
d'y mettre 10 timer qui tournent en permanence, et on sent nettement le
ralentissement... Même un MouseMove fait pareil...
C'était juste pour en signaler l'existence, je ne sais pas comment est
implémenté le contrôle Timer sous VB, mais les Timers "matériel" sont
utilisés de manière intensive par tous les OS actuels.
En soit les Timers peuvent tourner en permanence, comme ton réveil, c'est
quand il interrompe le processeur (via un autre composant) pour des tâches
lourdes que cela peut poser problème, un peu comme si ton réveil sonne, en
même temps ton tel fixe, ton portable, et on sonne à la porte ...
--
Cordialement,
Jacques.
LE TROLL a écrit :
Bonjour Jaques,
Intéresant ce que tu me dis et montre, ce serait la bonne solution,
toutefois je n'ai pas l'impresion qu'elle est sur nos PC, car il suffit
d'y mettre 10 timer qui tournent en permanence, et on sent nettement le
ralentissement... Même un MouseMove fait pareil...
C'était juste pour en signaler l'existence, je ne sais pas comment est
implémenté le contrôle Timer sous VB, mais les Timers "matériel" sont
utilisés de manière intensive par tous les OS actuels.
En soit les Timers peuvent tourner en permanence, comme ton réveil, c'est
quand il interrompe le processeur (via un autre composant) pour des tâches
lourdes que cela peut poser problème, un peu comme si ton réveil sonne, en
même temps ton tel fixe, ton portable, et on sonne à la porte ...
--
Cordialement,
Jacques.
LE TROLL a écrit :Bonjour Jaques,
Intéresant ce que tu me dis et montre, ce serait la bonne solution,
toutefois je n'ai pas l'impresion qu'elle est sur nos PC, car il suffit
d'y mettre 10 timer qui tournent en permanence, et on sent nettement le
ralentissement... Même un MouseMove fait pareil...
C'était juste pour en signaler l'existence, je ne sais pas comment est
implémenté le contrôle Timer sous VB, mais les Timers "matériel" sont
utilisés de manière intensive par tous les OS actuels.
En soit les Timers peuvent tourner en permanence, comme ton réveil, c'est
quand il interrompe le processeur (via un autre composant) pour des tâches
lourdes que cela peut poser problème, un peu comme si ton réveil sonne, en
même temps ton tel fixe, ton portable, et on sonne à la porte ...
--
Cordialement,
Jacques.
Jacques93 a écrit :LE TROLL a écrit :Bonjour Jaques,
Intéresant ce que tu me dis et montre, ce serait la bonne solution,
toutefois je n'ai pas l'impresion qu'elle est sur nos PC, car il suffit
d'y mettre 10 timer qui tournent en permanence, et on sent nettement le
ralentissement... Même un MouseMove fait pareil...
C'était juste pour en signaler l'existence, je ne sais pas comment est
implémenté le contrôle Timer sous VB, mais les Timers "matériel" sont
utilisés de manière intensive par tous les OS actuels.
En soit les Timers peuvent tourner en permanence, comme ton réveil, c'est
quand il interrompe le processeur (via un autre composant) pour des
tâches lourdes que cela peut poser problème, un peu comme si ton réveil
sonne, en même temps ton tel fixe, ton portable, et on sonne à la porte
...
Bonjour,
Tous les ordis ont des horloges. C'est ce qui permet de cadencer
(la fréquence) les différents éléments et les échanges de bits.
Ne pas confondre horloges et irq (interrup request). Les irq
ne stoppent pas le processeur mais lui demandent des cycles
d'horloge pour effectuer une tâche. Le processeur donne du temps
en fonction de "l'urgence" de la demande de temps.
Je ne sais ou se trouve la base de temps des timers. Je dirais qu'il
y a 3 solutions: un quartz, la fréquence du courant 230v, ou une
fréquence autre prise sur la carte mère.
Noter que des expériences sont menées pour faire fonctionner des ordis
sans horloge.
--
Jacques dit Jacquouille
Jacques93 a écrit :
LE TROLL a écrit :
Bonjour Jaques,
Intéresant ce que tu me dis et montre, ce serait la bonne solution,
toutefois je n'ai pas l'impresion qu'elle est sur nos PC, car il suffit
d'y mettre 10 timer qui tournent en permanence, et on sent nettement le
ralentissement... Même un MouseMove fait pareil...
C'était juste pour en signaler l'existence, je ne sais pas comment est
implémenté le contrôle Timer sous VB, mais les Timers "matériel" sont
utilisés de manière intensive par tous les OS actuels.
En soit les Timers peuvent tourner en permanence, comme ton réveil, c'est
quand il interrompe le processeur (via un autre composant) pour des
tâches lourdes que cela peut poser problème, un peu comme si ton réveil
sonne, en même temps ton tel fixe, ton portable, et on sonne à la porte
...
Bonjour,
Tous les ordis ont des horloges. C'est ce qui permet de cadencer
(la fréquence) les différents éléments et les échanges de bits.
Ne pas confondre horloges et irq (interrup request). Les irq
ne stoppent pas le processeur mais lui demandent des cycles
d'horloge pour effectuer une tâche. Le processeur donne du temps
en fonction de "l'urgence" de la demande de temps.
Je ne sais ou se trouve la base de temps des timers. Je dirais qu'il
y a 3 solutions: un quartz, la fréquence du courant 230v, ou une
fréquence autre prise sur la carte mère.
Noter que des expériences sont menées pour faire fonctionner des ordis
sans horloge.
--
Jacques dit Jacquouille
Jacques93 a écrit :LE TROLL a écrit :Bonjour Jaques,
Intéresant ce que tu me dis et montre, ce serait la bonne solution,
toutefois je n'ai pas l'impresion qu'elle est sur nos PC, car il suffit
d'y mettre 10 timer qui tournent en permanence, et on sent nettement le
ralentissement... Même un MouseMove fait pareil...
C'était juste pour en signaler l'existence, je ne sais pas comment est
implémenté le contrôle Timer sous VB, mais les Timers "matériel" sont
utilisés de manière intensive par tous les OS actuels.
En soit les Timers peuvent tourner en permanence, comme ton réveil, c'est
quand il interrompe le processeur (via un autre composant) pour des
tâches lourdes que cela peut poser problème, un peu comme si ton réveil
sonne, en même temps ton tel fixe, ton portable, et on sonne à la porte
...
Bonjour,
Tous les ordis ont des horloges. C'est ce qui permet de cadencer
(la fréquence) les différents éléments et les échanges de bits.
Ne pas confondre horloges et irq (interrup request). Les irq
ne stoppent pas le processeur mais lui demandent des cycles
d'horloge pour effectuer une tâche. Le processeur donne du temps
en fonction de "l'urgence" de la demande de temps.
Je ne sais ou se trouve la base de temps des timers. Je dirais qu'il
y a 3 solutions: un quartz, la fréquence du courant 230v, ou une
fréquence autre prise sur la carte mère.
Noter que des expériences sont menées pour faire fonctionner des ordis
sans horloge.
--
Jacques dit Jacquouille
LE TROLL wrote:Bonjour,
Question TIMER
Pour que le Timer par exp s'active à une tâche (peu importe), toute
les minutes, comment sait-il qu'il y a une minute de passée (ah... il
n'a pas de cerveau avec un pile et d'horloge sur dos) ?
J'en déduis que le timer doit aller lire l'heure à chaque
milliseconde, ce qui en pratique est plus long car il y a des
priorités dans les tâches plus le délai de réponse... En plus,
doit-il pour interroger l'horloge, passer par le processeur, je crois
que oui ?
Bref, si quelqu'un a une doc là dessus, sur le mécanisme logiciel
du Timer, j'aurais besoin d'infos, merci.
Hello,
En interne, le controle Timer utilise l'API Windows GetTickCount().
Cette API utilise elle même le timer system standard, invoqué via
NtQuerySystemTime.
Elle même utilise une fonction bas niveau du C (Time). Cette fonction elle
même demande
au hardware de lui retourner l'heure. Au niveau le plus bas, c'est le BIOS
qui maintient tout ça gràce à une des horloges internes du PC.
Pour en revenir au controle Timer, pour savoir qu'un temps X est écoulé,
il regarde à intervalle régulier la différence entre le temps courant et
le temps lors du dernier déclenchement ou lors de l'init. Si ce
delta(Temps) est supérieur ou égal à Interval, la procédure affecté à ton
contrôle Timer est appellée.
Le temps du dernier déclenchement ou temps de l'init est stocké
statiquement en interne.
Il est évident qu'il passe par le processeur pour faire tout ça :-) Et
oui, les controles timer peuvent être un peu gourmands en ressource, mais
en pratique pas tant que ça, du moins tant qu'on les utilise à bon
escient, c'est à dire typiquement avec 2 conditions:
- Interval nettement supérieur à 100 ms (en pratique: 200 ou 300 ms
minimum)
- Temps d'exec de la fonction appellée lors du déclenchement nettement
inférieur à 10ms, en pratique pas plus de 5 ms.
En dehors de ces conditions, il existe des tas d'alternatives plus
appropriées. On en parle un peu dans la FAQ:
http://faq.vb.free.fr/index.php?question6
http://faq.vb.free.fr/index.php?question8
--
Jean-marc Noury (jean_marc_n2)
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
LE TROLL wrote:
Bonjour,
Question TIMER
Pour que le Timer par exp s'active à une tâche (peu importe), toute
les minutes, comment sait-il qu'il y a une minute de passée (ah... il
n'a pas de cerveau avec un pile et d'horloge sur dos) ?
J'en déduis que le timer doit aller lire l'heure à chaque
milliseconde, ce qui en pratique est plus long car il y a des
priorités dans les tâches plus le délai de réponse... En plus,
doit-il pour interroger l'horloge, passer par le processeur, je crois
que oui ?
Bref, si quelqu'un a une doc là dessus, sur le mécanisme logiciel
du Timer, j'aurais besoin d'infos, merci.
Hello,
En interne, le controle Timer utilise l'API Windows GetTickCount().
Cette API utilise elle même le timer system standard, invoqué via
NtQuerySystemTime.
Elle même utilise une fonction bas niveau du C (Time). Cette fonction elle
même demande
au hardware de lui retourner l'heure. Au niveau le plus bas, c'est le BIOS
qui maintient tout ça gràce à une des horloges internes du PC.
Pour en revenir au controle Timer, pour savoir qu'un temps X est écoulé,
il regarde à intervalle régulier la différence entre le temps courant et
le temps lors du dernier déclenchement ou lors de l'init. Si ce
delta(Temps) est supérieur ou égal à Interval, la procédure affecté à ton
contrôle Timer est appellée.
Le temps du dernier déclenchement ou temps de l'init est stocké
statiquement en interne.
Il est évident qu'il passe par le processeur pour faire tout ça :-) Et
oui, les controles timer peuvent être un peu gourmands en ressource, mais
en pratique pas tant que ça, du moins tant qu'on les utilise à bon
escient, c'est à dire typiquement avec 2 conditions:
- Interval nettement supérieur à 100 ms (en pratique: 200 ou 300 ms
minimum)
- Temps d'exec de la fonction appellée lors du déclenchement nettement
inférieur à 10ms, en pratique pas plus de 5 ms.
En dehors de ces conditions, il existe des tas d'alternatives plus
appropriées. On en parle un peu dans la FAQ:
http://faq.vb.free.fr/index.php?question6
http://faq.vb.free.fr/index.php?question8
--
Jean-marc Noury (jean_marc_n2)
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
LE TROLL wrote:Bonjour,
Question TIMER
Pour que le Timer par exp s'active à une tâche (peu importe), toute
les minutes, comment sait-il qu'il y a une minute de passée (ah... il
n'a pas de cerveau avec un pile et d'horloge sur dos) ?
J'en déduis que le timer doit aller lire l'heure à chaque
milliseconde, ce qui en pratique est plus long car il y a des
priorités dans les tâches plus le délai de réponse... En plus,
doit-il pour interroger l'horloge, passer par le processeur, je crois
que oui ?
Bref, si quelqu'un a une doc là dessus, sur le mécanisme logiciel
du Timer, j'aurais besoin d'infos, merci.
Hello,
En interne, le controle Timer utilise l'API Windows GetTickCount().
Cette API utilise elle même le timer system standard, invoqué via
NtQuerySystemTime.
Elle même utilise une fonction bas niveau du C (Time). Cette fonction elle
même demande
au hardware de lui retourner l'heure. Au niveau le plus bas, c'est le BIOS
qui maintient tout ça gràce à une des horloges internes du PC.
Pour en revenir au controle Timer, pour savoir qu'un temps X est écoulé,
il regarde à intervalle régulier la différence entre le temps courant et
le temps lors du dernier déclenchement ou lors de l'init. Si ce
delta(Temps) est supérieur ou égal à Interval, la procédure affecté à ton
contrôle Timer est appellée.
Le temps du dernier déclenchement ou temps de l'init est stocké
statiquement en interne.
Il est évident qu'il passe par le processeur pour faire tout ça :-) Et
oui, les controles timer peuvent être un peu gourmands en ressource, mais
en pratique pas tant que ça, du moins tant qu'on les utilise à bon
escient, c'est à dire typiquement avec 2 conditions:
- Interval nettement supérieur à 100 ms (en pratique: 200 ou 300 ms
minimum)
- Temps d'exec de la fonction appellée lors du déclenchement nettement
inférieur à 10ms, en pratique pas plus de 5 ms.
En dehors de ces conditions, il existe des tas d'alternatives plus
appropriées. On en parle un peu dans la FAQ:
http://faq.vb.free.fr/index.php?question6
http://faq.vb.free.fr/index.php?question8
--
Jean-marc Noury (jean_marc_n2)
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Bonjour Jean-Marc,
Oui mais à te lire, si la fonction va lire le timer, il faut qu 'elle le
fasse en boucle,
temps avant d'y aller (cas d'un timer électronique intégré sur un P C ???) ?
Faut rajouter tous les fonction d'appels permanent (Mouse, Click)...
Pour Jacques, voir plus haut, y a un timer électronique sur les PC, pou r les
autres dont moi = non !
Bonjour Jean-Marc,
Oui mais à te lire, si la fonction va lire le timer, il faut qu 'elle le
fasse en boucle,
temps avant d'y aller (cas d'un timer électronique intégré sur un P C ???) ?
Faut rajouter tous les fonction d'appels permanent (Mouse, Click)...
Pour Jacques, voir plus haut, y a un timer électronique sur les PC, pou r les
autres dont moi = non !
Bonjour Jean-Marc,
Oui mais à te lire, si la fonction va lire le timer, il faut qu 'elle le
fasse en boucle,
temps avant d'y aller (cas d'un timer électronique intégré sur un P C ???) ?
Faut rajouter tous les fonction d'appels permanent (Mouse, Click)...
Pour Jacques, voir plus haut, y a un timer électronique sur les PC, pou r les
autres dont moi = non !
Bonjour,
Question TIMER
Pour que le Timer par exp s'active à une tâche (peu importe), toute les
minutes, comment sait-il qu'il y a une minute de passée (ah... il n'a
pas de cerveau avec un pile et d'horloge sur dos) ?
J'en déduis que le timer doit aller lire l'heure à chaque milliseconde,
ce qui en pratique est plus long car il y a des priorités dans les
tâches plus le délai de réponse... En plus, doit-il pour interroger
l'horloge, passer par le processeur, je crois que oui ?
Bref, si quelqu'un a une doc là dessus, sur le mécanisme logiciel du
Timer, j'aurais besoin d'infos, merci.
Bonjour,
Question TIMER
Pour que le Timer par exp s'active à une tâche (peu importe), toute les
minutes, comment sait-il qu'il y a une minute de passée (ah... il n'a
pas de cerveau avec un pile et d'horloge sur dos) ?
J'en déduis que le timer doit aller lire l'heure à chaque milliseconde,
ce qui en pratique est plus long car il y a des priorités dans les
tâches plus le délai de réponse... En plus, doit-il pour interroger
l'horloge, passer par le processeur, je crois que oui ?
Bref, si quelqu'un a une doc là dessus, sur le mécanisme logiciel du
Timer, j'aurais besoin d'infos, merci.
Bonjour,
Question TIMER
Pour que le Timer par exp s'active à une tâche (peu importe), toute les
minutes, comment sait-il qu'il y a une minute de passée (ah... il n'a
pas de cerveau avec un pile et d'horloge sur dos) ?
J'en déduis que le timer doit aller lire l'heure à chaque milliseconde,
ce qui en pratique est plus long car il y a des priorités dans les
tâches plus le délai de réponse... En plus, doit-il pour interroger
l'horloge, passer par le processeur, je crois que oui ?
Bref, si quelqu'un a une doc là dessus, sur le mécanisme logiciel du
Timer, j'aurais besoin d'infos, merci.
LE TROLL wrote:Bonjour,
Question TIMER
Pour que le Timer par exp s'active à une tâche (peu importe), toute les
minutes, comment sait-il qu'il y a une minute de passée (ah... il n'a pas
de cerveau avec un pile et d'horloge sur dos) ?
J'en déduis que le timer doit aller lire l'heure à chaque milliseconde,
ce qui en pratique est plus long car il y a des priorités dans les tâches
plus le délai de réponse... En plus, doit-il pour interroger l'horloge,
passer par le processeur, je crois que oui ?
Bref, si quelqu'un a une doc là dessus, sur le mécanisme logiciel du
Timer, j'aurais besoin d'infos, merci.
Tout est expliqué en long et en large dans MSDN, comme toujours...
LE TROLL wrote:
Bonjour,
Question TIMER
Pour que le Timer par exp s'active à une tâche (peu importe), toute les
minutes, comment sait-il qu'il y a une minute de passée (ah... il n'a pas
de cerveau avec un pile et d'horloge sur dos) ?
J'en déduis que le timer doit aller lire l'heure à chaque milliseconde,
ce qui en pratique est plus long car il y a des priorités dans les tâches
plus le délai de réponse... En plus, doit-il pour interroger l'horloge,
passer par le processeur, je crois que oui ?
Bref, si quelqu'un a une doc là dessus, sur le mécanisme logiciel du
Timer, j'aurais besoin d'infos, merci.
Tout est expliqué en long et en large dans MSDN, comme toujours...
LE TROLL wrote:Bonjour,
Question TIMER
Pour que le Timer par exp s'active à une tâche (peu importe), toute les
minutes, comment sait-il qu'il y a une minute de passée (ah... il n'a pas
de cerveau avec un pile et d'horloge sur dos) ?
J'en déduis que le timer doit aller lire l'heure à chaque milliseconde,
ce qui en pratique est plus long car il y a des priorités dans les tâches
plus le délai de réponse... En plus, doit-il pour interroger l'horloge,
passer par le processeur, je crois que oui ?
Bref, si quelqu'un a une doc là dessus, sur le mécanisme logiciel du
Timer, j'aurais besoin d'infos, merci.
Tout est expliqué en long et en large dans MSDN, comme toujours...