Vous connaissez surement le principe, le système de timer de windows
n'est pas efficace. Voici un timer qui utilise les évènements onIdle
de l'application.
Fonctionnalitées:
- les mèmes que Timer : Permet d'appeler une procédure avec un certain interval
- ne surchargera pas la pile avec plusieurs appels si la procédure est longue (ce qui peut arriver avec le composants TTimer [sic] )
- donne le délai écoulé entre le dernier appel de l'évènement onTimer
- donne un FPS mis a jour toutes les 2 secondes pour les jeux
Sinon, l'explic. des quelques propriétées est dans le zip, ainsi que tout ce qui va avec(j'ai pas oublié le source cette fois :p )
Conclusion :
Attention, remarque de dernière minutes que j'y pense que maintenant:
Ne JAMAIS mettre un Delay de 0 dans ce timer. Je n'ai pas essayé, mais ça a planté chez un pote...
"OnIdle is called only once, as the application transitions into an idle state. It is not called continuously unless Done is set to false. Applications that set Done to false consume an inordinate amount of CPU time, which affects overall system performance."
Dans ta procedure PROCEDURE TIdleTimer.DoIdle(Sender : TObject; VAR Done : Boolean);
tu met -> " IF Factive THEN BEGIN
Done := False;"
Pourquoi toujour revérifier en continue ? Pour réglé le problème, j'ai mis "Done := False;" en commentaire... et ca semble fonctionner bien quand même... Qu'est-ce que tu en pense ? J'aimerais savoir pourquoi tu as voulu mettre Done à False !
Merci
Est-ce que tu sais c'est du à quoi et comment arranger ca ? car sinon, ton timer c'est une très bonne idée !
Je voudrais savoir si avec ton timer j arrive a avoir l évenement OnTimer ou un evenement semblable, de 20 en 20ms précisément? Bien entendu le Timer par défaut ne me le garanti pas, j ai déjà essayé!
Merci pout ta réponse!
Je suis trop débutant a mon avis.
Merci de m'éclairer ;)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.