Bonjour,
Je me retrouve confronté à un petit problème...
En effet, j'ai une appli dans laquelle j'ai besoin de temporiser certaines actions.
Pas de soucis, je suis parti sur la solution de la fonction sleep.
Je teste, et là je m'apperçois que le sleep "endort" également les événements sur la form, ce qui se traduit pas une réaction très lente - par exemple si on désire déplacer l'interface ou même ma réduire - . Pas cool ça...
Du coup, je me retourne vers un bon et vieux timer.
J'implémente tout ça, je lance, et oh magie, plus de problèmes d'évènements liés à ma form. Bien bien bien me dis-je, mais c'était parler trop vite!
En effet, travaillant sur un portable (très silencieux), voila que le ventilateur se met à tambouriner mes oreilles sensibles.
Diantre, qu'est-ce ce phénomène me dis-je? Allons recherche le fautif processus qui consomme mes ressources CPU au point de briser la quiétude studieuse de mon environnement de travail!
Un petit click-droit plus tard + un géstionnaire des tâches exécuté, et voila que j'observe que mon projet, en exécution, consomme dans les 80% de ressources processeur!!!
Ayant eu des déboirs avec les timer sous LabWindows/CVI, je me dis: "tiens, comparons avec et sans timer".
Et là, désillusions, le timer Delphi et aussi pourri que celui de CVI, il consomme des ressources le petit!
Bon, trève de plaisenterie et de tournures verbales.
Je me retrouve avec le problème suivant:
- Utiliser un sleep qui consomme peu mais bloque la convivialité de mon soft
- Utiliser un timer, plus confortable, sauf pour mon CPU et mes oreilles.
La question du jour, donc, avons nous une solution permettant de bénéficier des deux avantages (et pas des deux inconvénients, je peux aussi faire un timer utilisant un sleep!!):
- Pas de ralentissement et une consommation des ressources faible?
Merci à tous.
Partager