Bonjour bonjour,
je fais de nouveau face à un problème qui pour moi a toujours été récurrent avec les calculatrices : le temps n'est pas constant.
Que je fasse appel à la fonction sleep() d'os.h ou SDL_Delay() (bien que je suppose que les deux utilisent le même timer), à des valeurs d'environ 100~150, il m'arrive d'avoir des pointes de vitesse plutôt gênantes.
J'utilise cela pour des délais de répétition de touches. Quelqu'un connaîtrait-il une technique pour obtenir un résultat constant (ou du moins réduire ces pointes de vitesse), ou vais-je devoir faire avec ?
Inconstances temporelles
5 posts
• Page 1 of 1
-
Lepzulnag
Niveau 9: IC (Compteur Infatigable)- Posts: 151
- Joined: 02 Aug 2012, 21:15
- Location: Bretagne
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: M2 Maths
Re: Inconstances temporelles
Lepzulnag wrote:Bonjour bonjour,
je fais de nouveau face à problème qui pour moi a toujours été récurrent avec les calculatrices : le temps n'est pas constant.
Que je fasse appel à la fonction sleep() d'os.h ou SDL_Delay() (bien que je suppose que les deux utilisent le même timer), à des valeurs d'environ 100~150, il m'arrive d'avoir des pointes de vitesse plutôt gênantes.
J'ai déjà remarqué ça aussi =(
Et je ne sais jamais à quoi c'est dû, mais ça se résout en bougeant de place certains bouts de code...
J'utilise cela pour des délais de répétition de touches. Quelqu'un connaîtrait-il une technique pour obtenir un résultat constant (ou du moins réduire ces pointes de vitesse), ou vais-je devoir faire avec ?
Le truc standard c'est :
- Je reçois une touche pressée
- J'attends qu'aucune touche ne soit pressée (toutes lachées)
- Je fais l'action que je veux
C'est la fonction wait_no_key_pressed();
-
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6414
- Images: 22
- Joined: 27 Nov 2008, 00:00
- Location: 0x1AACC355
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: BAC+5: Epita (ING3)
Re: Inconstances temporelles
En fait c'est la technique que j'utilise avec toutes les touches... sauf les flèches
. J'aime bien quand il n'y a pas à se fatiguer à appuyer 20 fois sur une flèche pour arriver au résultat
Je viens de regarder mviewer, et je vois que dans l'explorateur de fichiers il utilise la tactilité de la CX, et cela donne un résultat bien plus constant que le mien. L'utilisation du touchpad pourrait-elle m'aider ?


Je viens de regarder mviewer, et je vois que dans l'explorateur de fichiers il utilise la tactilité de la CX, et cela donne un résultat bien plus constant que le mien. L'utilisation du touchpad pourrait-elle m'aider ?
-
Lepzulnag
Niveau 9: IC (Compteur Infatigable)- Posts: 151
- Joined: 02 Aug 2012, 21:15
- Location: Bretagne
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: M2 Maths
Re: Inconstances temporelles
Je ne sais pas.
La véritable méthode passe par les timers, mais je ne maîtrise absolument pas leur fonctionnement sur Nspire ...
Une autre méthode consiste à remplacer ton sleep par un calcul quelques peu ... couteux, ce qui provoque une latence, donc, un sleep. Seulement, sleep() passe en idle_mode, contrairement à un calcul lourd, ce qui permet d'économiser des piles.
La véritable méthode passe par les timers, mais je ne maîtrise absolument pas leur fonctionnement sur Nspire ...
Une autre méthode consiste à remplacer ton sleep par un calcul quelques peu ... couteux, ce qui provoque une latence, donc, un sleep. Seulement, sleep() passe en idle_mode, contrairement à un calcul lourd, ce qui permet d'économiser des piles.
-
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6414
- Images: 22
- Joined: 27 Nov 2008, 00:00
- Location: 0x1AACC355
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: BAC+5: Epita (ING3)
Re: Inconstances temporelles
D'accord merci.
Je vais voir un peu les timers, et si je ne trouve pas tant pis, je vais laisser le sleep(). J'ai trop pitié pour les piles de ma calculette pour lui faire faire des calculs coûteux en permanence.
Je vais voir un peu les timers, et si je ne trouve pas tant pis, je vais laisser le sleep(). J'ai trop pitié pour les piles de ma calculette pour lui faire faire des calculs coûteux en permanence.
-
Lepzulnag
Niveau 9: IC (Compteur Infatigable)- Posts: 151
- Joined: 02 Aug 2012, 21:15
- Location: Bretagne
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: M2 Maths
5 posts
• Page 1 of 1
Return to Native: Ndless, Linux, ...
Who is online
Users browsing this forum: ClaudeBot [spider] and 4 guests