AM : A propos de fsx_variable_subscribe

Programmation LUA, Macros FSUIPC, logiciel LINDA
et codage en LUA des gauges Air Manager

AM : A propos de fsx_variable_subscribe

Messagede PapaLima » Lun 3 Déc 2018 22:22

Bonsoir

Question pour les pros des gauges AM :

Je me pose la question suivante : Vaut-il mieux avoir :
1 fsx_variable_subscribe avec 10 paramètres d'abonnement ou bien 10 fsx_variable_subscribe avec 1 paramètre d'abonnement ?

En d'autres termes (extrait de la gauge clock Seneca V)

Ici on s'abonne sur 9 variables et on appelle la fonction PT_clock

Code: Tout sélectionner
fsx_variable_subscribe("ELECTRICAL AVIONICS BUS VOLTAGE", "Volts",
                  "ELECTRICAL BATTERY BUS VOLTAGE", "Volts",
                  "ELECTRICAL MAIN BUS VOLTAGE","Volts",
                  "AMBIENT TEMPERATURE", "Celsius",
                  "AMBIENT TEMPERATURE", "Fahrenheit",
                  "ZULU TIME", "Hours",
                  "TIME ZONE OFFSET", "Hours",
                  "L:HoursTime","Number",
                  "L:MinutesTime","Number",
                  PT_clock)


Ne serait-il pas plus efficace (en terme de perf) de faire plusieurs souscriptions par groupe par exemple:

Code: Tout sélectionner
fsx_variable_subscribe("ELECTRICAL AVIONICS BUS VOLTAGE", "Volts",
                  "ELECTRICAL BATTERY BUS VOLTAGE", "Volts",
                  "ELECTRICAL MAIN BUS VOLTAGE","Volts",
                  PT_clock_elec)

fsx_variable_subscribe(     "AMBIENT TEMPERATURE", "Celsius",
                  "AMBIENT TEMPERATURE", "Fahrenheit",
                  PT_clock_temp)

fsx_variable_subscribe(    "ZULU TIME", "Hours",
                  "TIME ZONE OFFSET", "Hours",
                  "L:HoursTime","Number",
                  "L:MinutesTime","Number",
                  PT_clock_time)


Je dis peut être une bêtise. Mais il n'y a pas de question idiote hein ? sourirebis

@+
Avatar de l’utilisateur
PapaLima
 
Messages: 393
Inscription: 14/04/16
Localisation: LFPG

Re: AM : A propos de fsx_variable_subscribe

Messagede JacquesZ » Mar 4 Déc 2018 00:34

Ce n'est pas une question bête, mais j'ai pas vraiment la réponse!

Le soucis avec des variables_subscribes décomposés dans plusieurs fonctions différentes qui sont appelées, est que cela peut poser des problèmes des synchronisation quand plusieurs tâches doivent s'enchainer.

Si elles sont dans des fonctions séparées, comme on ne maîtrise pas l'appel à la fonction qui est géré parle plugin d' AM chaque fois qu'une variable change dans FSX/P3D/XPlane, l'enchaînement des séquences peut être compliqué, ou alors il faut prévoir des "flags" de partout.

Si dans le cas de l'horloge du Seneca, température et Zulu time sont complètement indépendants, pourquoi pas...
Mais toutes ces fonctions dépendent AUSSI de l'état de la batterie (c'est une montre électrique), ce qui veut dire qu'il faudra souscrire pour chaque fonction à l'état de la batterie,OU ALORS AVOIR UNE VARIABLE GLOBALE POUR STOCKER L'état de la batterie, donc ce sera de toutes façons redondant! Pas sûr qu'on y gagne au final...

Code: Tout sélectionner
fsx_variable_subscribe("ELECTRICAL AVIONICS BUS VOLTAGE", "Volts",
                  "ELECTRICAL BATTERY BUS VOLTAGE", "Volts",
                  "ELECTRICAL MAIN BUS VOLTAGE","Volts",
                  PT_clock_elec)

fsx_variable_subscribe(ELECTRICAL AVIONICS BUS VOLTAGE", "Volts",
                  "ELECTRICAL BATTERY BUS VOLTAGE", "Volts",
                   "AMBIENT TEMPERATURE", "Celsius",
                  "AMBIENT TEMPERATURE", "Fahrenheit",
                  PT_clock_temp)

fsx_variable_subscribe(ELECTRICAL AVIONICS BUS VOLTAGE", "Volts",
                  "ELECTRICAL BATTERY BUS VOLTAGE", "Volts",
                   "ZULU TIME", "Hours",
                  "TIME ZONE OFFSET", "Hours",
                  "L:HoursTime","Number",
                  "L:MinutesTime","Number",
                  PT_clock_time)


Mais Corjan (le developpeur d'AM) pourra sûrement t'en dire plus sur le forum SimInnovations, je vois que tu le fréquentes (le forum)! lunettesnoires

Jacques
i7 4770K, CM Asus Hero, 16Go, DD1To & SSD 500Go, GTX780Ti et GTX970,win 7 64b FSX
3 x 22" sur Matrox Th2Go + 2 x TV 32"
Tdb: 1 x 17" + 1 x 19"
Saitek Multi & radio panel, GNS430 Emuteq, FFB Yoke Brunner
Arduino MEGA+LeoBodnar
Avatar de l’utilisateur
JacquesZ
 
Messages: 1911
Inscription: 24/11/10

Re: AM : A propos de fsx_variable_subscribe

Messagede PapaLima » Mar 4 Déc 2018 10:53

Merci Jacques

Le forum AM était "sous l'eau" hier soir...difficilement accessible et puis on a pas mal d'amis qui nous ont fait de belles gauges ici aussi. Et comme je débute tout juste maintenant à écrire deux lignes... rigolus

Je viens de poster chez sur le forum AM. Je transmettrais leurs recommandations si il en a.

Mon idée étant de savoir si il y a une utilisation recommandée de cette fonction importante car il me semble que le Raspberry PI 2 auquel je soumets le code se retrouve vite dans les choux après plusieurs clics sur les boutons du timer.... Je pense qu'il est un peu débordé de mon panel instruments "captain" ... Je n'ai pas encore essayé avec un PI 3. D'où ma question pour optimiser l'utilisation de ces petits CPUs des Framboises des bois ecroulerire

A+
Philippe
Avatar de l’utilisateur
PapaLima
 
Messages: 393
Inscription: 14/04/16
Localisation: LFPG

Re: AM : A propos de fsx_variable_subscribe

Messagede PapaLima » Mar 4 Déc 2018 23:30

Voilà j'ai eu une réponse sur le forum AM : Ralph un des pontes chez eux lunettesnoires

En général cela importe peu à moins d'avoir une très grosse fonction callback. Ce qui arrive lorsqu'on a beaucoup de variables souscrites sur une fonction callback, c'est qu'à chaque petit changement, l'intégralité du script est parcourue.... Mais la plupart des scripts ne sont pas très longs, cela n'impacte pas.

Lorsque je construis des instruments complexes je découpe en plusieurs parties. Ainsi on a une callback par section. Cela aide aussi à organiser le code et de garder une bonne visibilité dessus.


Je retiens donc de faire un souscription de variables par section logiques de l'instrument programmé.
Plutôt qu'un appel avec 3km de variables... sourirebis

A+
Avatar de l’utilisateur
PapaLima
 
Messages: 393
Inscription: 14/04/16
Localisation: LFPG

Re: AM : A propos de fsx_variable_subscribe

Messagede arcc » Mer 5 Déc 2018 18:57

On peu donc aussi retenir que si nos jauges ne sont pas très compliquées (je pense que c'est vrai pour notre Twin) cela n'a pas trop d'importance.
En tout cas je ne mettais pas posé la question.

Impeccable
Christian
Un ancien sous-marinier qui a pris de la hauteur.
Avatar de l’utilisateur
arcc
 
Messages: 557
Inscription: 16/12/13
Localisation: La ou fini la terre (Finistere)

Re: AM : A propos de fsx_variable_subscribe

Messagede PapaLima » Mer 5 Déc 2018 19:10

arcc a écrit:On peu donc aussi retenir que si nos jauges ne sont pas très compliquées (je pense que c'est vrai pour notre Twin) cela n'a pas trop d'importance.
En tout cas je ne mettais pas posé la question.

Impeccable
Christian


Si je n'avais pas eu un Raspberry Pi 2 qui me semble avoir un peu de mal à gérer la partie gauche "instruments de pilotage", je ne me serais pas posé la question non plus !

Cà n'a pas vraiment d'importance pour la plupart des gauges comme l'on précisés les mentors chez AM.
On souscrit par petits groupes de variables pour organiser logiquement le code et on évite les variables globales car elles tendent à le compliquer.

60% du temps CPU va dans l'affichage et LUA est très rapide à l'exécution. Pas d'inquiétude à avoir.

byeaffiche
Avatar de l’utilisateur
PapaLima
 
Messages: 393
Inscription: 14/04/16
Localisation: LFPG


Retourner vers LUA, Linda, Macros & gauges Air Manager





Qui est en ligne

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