Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| comment réduire le scintillement ? | |
| | Auteur | Message |
---|
mimic
Nombre de messages : 103 Localisation : france Date d'inscription : 02/09/2009
| Sujet: comment réduire le scintillement ? Sam 17 Sep 2011 - 20:57 | |
| Bonsoir, Avec par exemple, le code suivant produisant le triangle de Sierpinsky, comment procéder pour limiter le scintillement et améliorer la rapidité d’exécution. - Code:
-
rem dimension of form 0 top 0,0 left 0,0 width 0,1000 height 0,400 picture 1 width 1,590 height 1,365
rem color light-yellow on picture 1 color 1,255,255,220
rem send all 2D drawing on picture 1 2d_target_is 1
rem title to application caption 0,"Triangle" 2d_pen_color 255,0,0 dim ptx,pty,i,r label debut DIM tabl(2, 3) tabl(0, 0) = 10 tabl(1, 0) = 90 tabl(0, 1) = 300 tabl(1, 1) = 10 tabl(0, 2) = 300 tabl(1, 2) = 180 ptx = 150 pty = 100 debut: i = i + 1 r = int(rnd(3)) ptx = (ptx + tabl(0, r)) / 2 pty = (pty + tabl(1, r)) / 2 2d_line ptx,pty,ptx+1,pty+1 display IF i < 64000 GOTO debut end_if
D’avance merci. | |
| | | 659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: Re: comment réduire le scintillement ? Sam 17 Sep 2011 - 21:47 | |
| | |
| | | mimic
Nombre de messages : 103 Localisation : france Date d'inscription : 02/09/2009
| Sujet: Re: comment réduire le scintillement ? Sam 17 Sep 2011 - 22:28 | |
| Merci, mais quand j’enlève le display, l’application paranomic se met en « ne répond pas » et l’on perd aussi, logiquement, la mise à jour en continu… (Il faut donc attendre que le code arrive à son terme pour avoir quelque chose à l’affichage, ce qui est relativement long). | |
| | | Invité Invité
| Sujet: Re: comment réduire le scintillement ? Dim 18 Sep 2011 - 4:11 | |
| Pour la "solution" que je mets, il y a mieux, mais c'est plus cher. Et comme vous le savez, je ne suis pas riche! J' ai repris un peu la présentation pour que cela soit plus parlant pour moi, mais c'est juste pour moi. Le principe est d'avoir 2 pictures, l'un sur l'autre. On dessine sur celui qui est mis à hide, et on montre l'autre. Et inversement. Il y a un peu d'arrache dans le code, et il y a encore quelques traits. - Code:
-
top 0,0 : left 0,0 : width 0,1000 : height 0,420 : caption 0,"Triangle"
label debut1 ,debut2 ,lancer dim ptx,pty , i , r ,b ,j DIM tabl(2, 3) tabl(0, 0) = 10 : tabl(0, 1) = 300 : tabl(0, 2) = 300 tabl(1, 0) = 90 : tabl(1, 1) = 10 : tabl(1, 2) = 180 ptx = 150 : pty = 100
picture 1 : width 1,590 : height 1,365 : color 1,255,255,220 2d_target_is 1 : 2d_pen_color 255,0,0
picture 2 : width 2,590 : height 2,365 : color 2,255,255,220 2d_target_is 1 : 2d_pen_color 255,0,0 : HIDE 2 timer 3:timer_interval 3,5:on_timer 3,lancer
end ' =========================================== lancer: timer_off 3 j=j + 1 :i=j gosub debut1 i=j gosub debut2 j=i :' j reprend la dernière valeur de i return ' le principe est de dessiner sur le picture mis à HIDE, et de montrer l'autre debut1: show 2 : hide 1 for b=0 to 30 if scancode=27 then end i=i+b r = int(rnd(3)) ptx = (ptx + tabl(0, r)) / 2 pty = (pty + tabl(1, r)) / 2
2d_target_is 1:2d_line ptx,pty,ptx+1,pty+1 next b timer_on 3 ' en arrivant au return, il y a display sur le picture 1 return
debut2: show 1 : hide 2 for b=0 to 30 if scancode=27 then end i=i+b r = int(rnd(3)) ptx = (ptx + tabl(0, r)) / 2 pty = (pty + tabl(1, r)) / 2 2d_target_is 2:2d_line ptx,pty,ptx+1,pty+1 next b ' en arrivant au return, il y a display sur le picture 2 return par contre: - Citation :
- et améliorer la rapidité d’exécution.
Là j'ai pas de solution, si ce n'est quand affichant une fois sur 30 ici, (et là je ne sais pas comment on veut voir les choses), on doit aller plus vite. (for b=0 to 30) Il y a eu beaucoup de modifs depuis le début, et comme il est présenté, l'emploi de 2 pictures ne change rien. Je ne modifie pas le programme, j'ai fais plein de modifications depuis pour testé, et le résultat n'est pas meilleur. j'ai mis : for b=0 to 100, et cela semble une bonne valeur pour b dans la présentation.
Dernière édition par cosmos70 le Dim 18 Sep 2011 - 16:54, édité 1 fois |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: comment réduire le scintillement ? Dim 18 Sep 2011 - 5:56 | |
| Net amélioration du résultat visuel avec ta version Cosmos | |
| | | mimic
Nombre de messages : 103 Localisation : france Date d'inscription : 02/09/2009
| Sujet: Re: comment réduire le scintillement ? Dim 18 Sep 2011 - 21:27 | |
| Merci Cosmos, je vais étudier ta solution de mon coté. Et reste preneur de toutes autres suggestions d’améliorations...
| |
| | | mimic
Nombre de messages : 103 Localisation : france Date d'inscription : 02/09/2009
| Sujet: Re: comment réduire le scintillement ? Ven 23 Sep 2011 - 21:25 | |
| Bon, je n'arrive pas à trouver un solution pleinement fonctionnelle sous paranomic par contre le problème ne semble pas exister sous toonic, je passe donc à toonic ! | |
| | | Contenu sponsorisé
| Sujet: Re: comment réduire le scintillement ? | |
| |
| | | | comment réduire le scintillement ? | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |