Tutorial N°2 :: Optimisation du code

19-02-2006 à 00:31:46
Tutorial n°2 par Neku

Optimisation du code

Dans ce tutorial, je vais vous donner quelques astuces vous permettant d’optimiser au mieux le code de vos programme en Visual Basic.

Pour commencer nous allons à nouveau parler de variables, je ne vais pas répéter les petits conseils qui ont déjà été fournis dans le Tutorial n°1 mais vous fournir quelques astuces supplémentaires.

Eviter les variables de type Variant
Le type variant est attribué à toutes les variables dont le type n’est pas déclaré explicitement. Ce type de variable est le plus gourmand en mémoire et est très difficile pour Visual Basic de le traiter, il prend minimum 16 ou 22 Octets en mémoire par variable.

Stocker dans des variables les propriétés qui sont souvent lues :
Si vous devez lire régulièrement une propriété, il est conseillé de placer la valeur de celle-ci dans une variable, car les variables sont accessibles en mémoire beaucoup plus rapidement que les propriétés d’objets.
En fait, la mise en mémoire cache des valeurs évite les appels fréquents à la bibliothèque de liaisons dynamiques (DLL) d’exécution, Msvbm60.dll (pour VB6).

Exemple : vous avez à faire appel de nombreuse fois à la largeur de votre feuille
Feuille.Width
Placez cette valeur dans une variable en choisissant judicieusement le type
Dim Fenetre_Largeur as Long
Fenetre_Largeur = Feuille.Width

Et à chaque fois que vous aurez besoin de la largeur de la fenêtre vous ferrez appel à Fenetre_Largeur plutôt que à Feuille.Width

Réduire au maximum le nombre d’appels à des procédures au profit de leur code équivalent.

Quand vous faites appel à une procédure (Sub) ou à une fonction (Function), VB doit d’abord placer cette procédure en mémoire, puis seulement lui passer les arguments, et si il s’agit d’une fonction de renvoyer la réponse donnée.
Donc il est conseillé de remplacer à chaque fois que c’est possible une appel à une procédure ou une fonction par sont code respectif.
Ce que je vous conseille, c’est de développer votre application avec un maximum de Sub ou Function pour plus de clarté, et une fois tous les vilains bugs éradiqués, remplacez les appels par leur code respectif

Passer les arguments de vos Sub ou Function par VALEUR (ByVal)

Il faut savoir que pour passer des valeurs à un Sub ou Function il existe deux manières :
La première par Valeur
La seconde par Référence

Par Valeur comme le nom l’indique ne va passer rien que la valeur de l’argument
Alors que lorsque l’on passe par référence, on va passer l’adresse mémoire.

Il faut savoir que par défaut lorsque vous faites appel à une procédure ou une fonction les arguments sont passés par référence, ce qui n’est pas très malin ….

Eviter l’utilisation de la propriété AutoreDraw des contrôles

Lorsque vous mettez la propriété AutoRedraw d’un objet sur True, VB conserve la copie de l’image contenue dans le contrôle pour la réafficher chaque fois qu’elle s’efface à la suite d’un passage en arrière plan par exemple. Il est inutile de vous préciser qu’en plus, une image assez grande, et en 16 millions de couleurs, en AutoRedraw est vraiment maudite pour VB et donc aussi pour la fluidité de votre application.


--Message édité par Neku le 19-02-06 à 00:32:06--
Leandre aka Neku