Pour améliorer la vitesse d'accès à la valeur d'un paramètre, surtout dans le cas où la simulation comporte de nombreux accès, on peut remplacer l'appel à, par exemple, GetIntParameterValue("voiture", "conso") par une invocation d'une variable globale, appelée par exemple gIntParam_voiture_conso_.
A cette fin, il faut :
- déclarer ces variables (en extern) dans le code du simulateur (fichier UserTypes.h) :
extern int gIntParam_voiture_conso_;- leur donner une valeur : ces initialisations sont réalisées de la manière suivante, dans une fonction dont le nom est obligatoirement InitParameterGlobalVariables.
void InitParameterGlobalVariables() { gIntParam_voiture_conso_ = GetIntParameterValue("voiture", "conso"); ... };Parce que le moteur de simulation invoque impérativement cette fonction, elle doit être présente dans le code de l'application, même si elle ne comporte aucune initialisation de variable. On comprend que cette fonction est invoquée par le moteur de simulation juste après la lecture du fichier des paramètres du système.
Noter que le code de l'application peut contenir des appels GetIntParameterValue("voiture", "conso");, qu'on ait ou non initialisé la variable correspondante gIntParam_voiture_conso_.
Si le paramètre pris en exemple était de type flottant ou chaîne de caractères, la dénomination suggérée pour la variable serait gRealParam_voiture_conso_ ou gStringParam_voiture_conso_, respectivement.
Noter enfin que l'outil Solfege, associé à la bibliothèque DIESE, prend entièrement en charge le codage de InitParameterGlobalVariables, et le remplacement des appels aux Get...ParameterValue par la variable globale correspondante. Les appels aux Set...ParameterValue sont conservés et complétés par une surchargement de la valeur de la variable globale correspondante.