π
<-

Inconstances temporelles

C, C++, ASM...

Inconstances temporelles

Unread postby Lepzulnag » 15 Sep 2012, 00:14

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 ?
User avatar
Lepzulnag
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 78.5%
 
Posts: 151
Joined: 02 Aug 2012, 21:15
Location: Bretagne
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: M2 Maths

Re: Inconstances temporelles

Unread postby Levak » 15 Sep 2012, 00:22

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();
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: Inconstances temporelles

Unread postby Lepzulnag » 15 Sep 2012, 00:58

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 :D

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 ?
User avatar
Lepzulnag
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 78.5%
 
Posts: 151
Joined: 02 Aug 2012, 21:15
Location: Bretagne
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: M2 Maths

Re: Inconstances temporelles

Unread postby Levak » 15 Sep 2012, 01:17

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.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: Inconstances temporelles

Unread postby Lepzulnag » 16 Sep 2012, 08:20

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.
User avatar
Lepzulnag
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 78.5%
 
Posts: 151
Joined: 02 Aug 2012, 21:15
Location: Bretagne
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: M2 Maths


Return to Native: Ndless, Linux, ...

Who is online

Users browsing this forum: ClaudeBot [spider] and 4 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1520 utilisateurs:
>1506 invités
>7 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)