Optimisations et GFA

Re: Optimisations et GFA

Messagede leglod » Mer 25 Mai 2011 18:15

Ce serait bien de se faire pack editeur+compilateur a jour et d'utiliser tous le meme !
Avatar de l’utilisateur
leglod
 
Messages: 182
Inscription: Jeu 6 Nov 2008 22:33
Localisation: Montpellier (34) sud France

Re: Optimisations et GFA

Messagede shadow272 » Jeu 2 Juin 2011 16:23

Bonne idée Leglod
Comme ça on parlerait tous le même langage.
Un ATARI, le GFA c'est le bonheur
Avatar de l’utilisateur
shadow272
Administrateur du site
 
Messages: 211
Inscription: Mer 15 Oct 2008 21:40
Localisation: Hainaut, Belgique

Re: Optimisations et GFA

Messagede Helijah » Jeu 8 Déc 2011 08:03

Bonjour à tous,

Et puis pour les amoureux des casses têtes il y a ce genre de choses :
Code: Tout sélectionner
bl&=-bl&*(bl&=>0 AND bl&<=255)+0*(bl&<0)-255*(bl&>255)


qui remplace
Code: Tout sélectionner
IF bl& < 0 THEN
  bl&=0
ENDIF
IF bl& > 255 THEN
  bl&=255
ENDIF


Amicalement Emmanuel
Quelques avions pour FlightGear
http://helijah.free.fr
Avatar de l’utilisateur
Helijah
 
Messages: 9
Inscription: Mar 6 Déc 2011 19:22
Localisation: Chartres

Re: Optimisations et GFA

Messagede shadow272 » Jeu 8 Déc 2011 17:59

Ben oui, ça fait qu'une ligne de code mais quelle ligne :P
Un ATARI, le GFA c'est le bonheur
Avatar de l’utilisateur
shadow272
Administrateur du site
 
Messages: 211
Inscription: Mer 15 Oct 2008 21:40
Localisation: Hainaut, Belgique

Re: Optimisations et GFA

Messagede leglod » Jeu 8 Déc 2011 18:29

On y gagne beaucoup en temps machine apres compilation ??
Avatar de l’utilisateur
leglod
 
Messages: 182
Inscription: Jeu 6 Nov 2008 22:33
Localisation: Montpellier (34) sud France

Re: Optimisations et GFA

Messagede Daroou » Jeu 8 Déc 2011 19:42

J'en doute fortement :mrgreen:

Code: Tout sélectionner
    bl&=-bl&*(bl&=>0 AND bl&<=255)+0*(bl&<0)-255*(bl&>255)

4 tests de condition + 3 multiplications + 1 opération logique + 1 affectation

peut être difficilement plus rapide que 2 tests de condition + 1 affectation (dans le cas défavorable)



Par contre, pour un GFA punch...





Code: Tout sélectionner
    IF bl& < 0 THEN
      bl&=0
    ENDIF
    IF bl& > 255 THEN
      bl&=255
    ENDIF


Si bl&<0 : 2 test de condition + 1 affectation
Si bl&>255 : 2 test de condition + 1 affectation
Si bl& est correct: 2 test de condition


Peut être optimisé simplement en

Code: Tout sélectionner
    IF bl& < 0 THEN
      bl&=0
   
    ELSE IF bl& > 255 THEN
      bl&=255
    ENDIF



Si bl&<0 : 1 test de condition + 1 affectation
Si bl&>255 : 2 test de condition + 1 affectation
Si bl& est correct: 2 test de condition
Avatar de l’utilisateur
Daroou
 
Messages: 10
Inscription: Jeu 30 Déc 2010 18:22

Re: Optimisations et GFA

Messagede Helijah » Ven 9 Déc 2011 08:54

Même si Darcou n'a pas tord dans sa démonstration, de mémoire, car cela date il faut bien le reconnaître, j'avais testé dans une boucle de 10000 itérations et si j'ai gardé la ligne magique c'est que le résultat était plus rapide :)... A re tester donc :)

Amicalement Emmanuel

P.S. Attention, toujours de mémoire il faut tester en direct et compilé car il y de grosses différences souvent. Le compilateur du GFA fait des choses que je ne maîtrise pas :)
Quelques avions pour FlightGear
http://helijah.free.fr
Avatar de l’utilisateur
Helijah
 
Messages: 9
Inscription: Mar 6 Déc 2011 19:22
Localisation: Chartres

Re: Optimisations et GFA

Messagede leglod » Ven 9 Déc 2011 10:02

Et faire des ADD Mul Sub plutot qu'avec les signe on ya gagne, je me rappel plus ??
Avatar de l’utilisateur
leglod
 
Messages: 182
Inscription: Jeu 6 Nov 2008 22:33
Localisation: Montpellier (34) sud France

Re: Optimisations et GFA

Messagede tomchi » Ven 9 Déc 2011 12:33

leglod a écrit:Et faire des ADD Mul Sub plutot qu'avec les signe on ya gagne, je me rappel plus ??



Ben t'as qu'à relire la premiere page du thread hein ?!

^^'
Avatar de l’utilisateur
tomchi
Administrateur du site
 
Messages: 342
Inscription: Mer 15 Oct 2008 20:51

Re: Optimisations et GFA

Messagede Helijah » Lun 12 Déc 2011 22:53

Sans vouloir faire le "moi je" :( mais bon j'ai quand même quelques milliers de lignes pour me servir d'exemple :) Dans les sources de EB Model 3 vous trouverez des dizaines si ce n'est des centaines de trucs dans ce genre. Décalage en lieu et place des divisions/multiplications, tableaux de valeurs pré calculées en lieu et place des calculs eux mêmes. Utilisation de valeurs entières converties seulement au départ et à la fin en flottant (avec une précision de 3 chiffres après la virgule), optimisation des Malloc par assemblage de toutes les zones à réserver au départ pour réduire le nombre de Malloc, ré écriture des fonction GEM/AES au lieu d'utiliser celles du GFA etc... etc.... et tout un tas d'autres choses dont je ne me souvient plus vraiment :)

Ah oui par exemple tout ce qu'il faut pour optimiser le programme en fonction de la machine et de ses possiblités (STf, STe, TT, Falcon avec ou sans carte graphique etc....)

Amicalement Emmanuel
Quelques avions pour FlightGear
http://helijah.free.fr
Avatar de l’utilisateur
Helijah
 
Messages: 9
Inscription: Mar 6 Déc 2011 19:22
Localisation: Chartres

Précédent

Retourner vers Divers

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron