Optimisation de code

Soyez le premier à donner votre avis sur cette source.

Vue 6 924 fois - Téléchargée 786 fois

Description

Il s'agit d'un tutorial (très court) sur l'optimisation de code...
Que la plupart d'entre vous connaissent peut-être mais on ne sait jamais donc je la poste quand même....

Allez, @ plus

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
921
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
23 septembre 2010

C'est Tesdud, pas Testud xD
Messages postés
2
Date d'inscription
jeudi 8 juillet 2004
Statut
Membre
Dernière intervention
8 juillet 2004

Heu c'est pas pour dire mais je doute que tu soit réellement l'auteur de tes petits conseils. J'ai chez moi un livre : DirectX 9 de Laurent Testud (jme goure peut etre dans le nom :d) et ya un chapitre sur l'optimisation et c'est EXACTEMENT les meme conseil dans le meme ordre! Donc a part modifié un peu le vocabulaire et changer le nom des variables toi et tes potes de STI-A faut arreter de pomper ;)

bye !

PS: les droits d'auteurs c'est précieux
Messages postés
17
Date d'inscription
jeudi 25 mars 2004
Statut
Membre
Dernière intervention
6 décembre 2004

Ne pourrais-tu pas écrire en francais, MasterShadows ?

Si vraiment ton "CPU travail rapidement" dès la deuxieme ligne de ton tutorial, je me demande comment ton programme peut fonctionner ?

C est pas si compliqué que cela d écrire correctement et cela fait tellement plaisir de lire du code commenté en bon francais de temps à autres. Vous avez encore le temps de le faire en 1ere.
Messages postés
43
Date d'inscription
mardi 30 mars 2004
Statut
Membre
Dernière intervention
7 octobre 2006

mouais chu pas trop convaincu par ce tuto...

deja pour les float c le compilateur qui fait les conversions que ce soit ecrit avec des f ou pas c juste une question de lisibilité et ca ne change en rien la vitesse d'execution de ton programme...

pour ce qui est des incrementations :

D3DXVECTOR3 vA, vB, vC; // allocation mémoire

vA = vB + vC;
// utilisation de l'operateur+ défini par la classe D3DXVECTOR3
// création variable temporaire pour la stocker résultat opération donc construction (sur la pile)
// utilisation du constructeur de recopie
// destruction variable temporaire


vA = vB;
// utilisation constructeur de recopie
vA += vC;
// utilisation operateur += de la classe D3DXVECTOR3

donc il ya bien gain de temps et de mémoire ram en utilisant les incrementeurs des classes et cela est vrai pour toute classe d'ou l'interet des incrementeurs... i++ est plus optimisé que i = i+1;
mais en arriver la devient ridicule... dans ce cas la autant faire ta routine en assembleur et l'incorporer à ton programme...
d'autant plus qu'une grande partie de l'optimisation vient du compilateur : faut utiliser les bons flags et avoir un bon compilateur :p
c souvent étonnant de voir le résultat code machine d'une source c (soit disant optimisée) et qui au final est tout pourri ou inversement (mais c moins frequent :p)
donc si tu geres mal ton compilo meme en voulant soi disant optimiser tu te retrouvera avec un code tout pourri...

principalement à retenir sur ce tuto :
- utiliser les incrémenteur natifs (moins d'erreur et plus rapide)
- n'utiliser pas de variables temporaires à tout va
- matez un peu les inline, define, register, static etc... ;)

faire ca c ridicule :

a=longueur_bielle;
a-=l;
a*=raideur_ressort;
b=amortissement;
b*=prod_scal;
b*=l_inv;
a-=b;

pBielle->effort_interne=a;

passe a l'assembleur...............
voit pas l'interet de faire du c ou c++
en plus si tu touche un peu aux flags de ton compilateur il te le fera tout seul à la compilation...

++
Messages postés
268
Date d'inscription
lundi 1 mars 2004
Statut
Membre
Dernière intervention
19 avril 2012
11
Je ne suis pas d'accord avec toi, Bombela, regarde dont le bouqin de Laurent Testud sur la programmation de jeux avec DirectX, à moins d'une erreur d'interprétation au niveau de ce que j'ai dit sur les float , je maintiens que tout ce que j'ai dit est bon
Afficher les 14 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.