Quand je demande à afficher la liste des variables (écran scénario), l’affichage prend facilement une trentaine de secondes.
Y aurait-il moyen de diminuer ce temps d’affichage ?
On doit pouvoir utiliser des commandes infos d’un virtuel au lieu de variables : est-ce que pour les performances des scénarios, il est conseillé une manière de faire ?
Bonjour,
Je viens de regarder le code malheureusement il n’y a pas grand chose a faire de notre coté malheureusement. Tu as beaucoup de variable ? Passer par des virtuel sera certe plus rapide a l’affichage mais plus lourd dans le fonctionnement de jeedom
J’ai un peu moins de cent variables, mais si tu me dis que transformer ces variables en commandes info de virtuel sera plus lourd, c’est à dire moins performant dans le fonctionnement régulier de jeedom, je laisse comme cela.
Quelle est ta recommandation ?
Ma recommandation est au dessus c’est moins performant tout simplement une variable c’est en general 1 accès en db la ou une commande ca peut etre 2,3 voir plus
La je comprend plus, j’utilisais beaucoup les variables et en effet j’avais aussi constaté que l’affichage était long et @Loic m’a conseillé de passer par des commandes qui ont l’avantage d’être en cache alors que les variables non. J’ai donc tout revu ma domotique pour virer les variables et les remplacer par des commandes dans des virtuels avec une mise a jour par la fonction ‹ event › et là je crois comprendre que j’aurais dû laisser les variables ?
Passer par une variable et plus rapide pour le core.
La lenteur des variables c’est uniquement l’affichage de la page avec toutes les variables car y’a des checks dans les scénarios pour afficher où elles sont utilisées. Checks qui ne se font que pour l’affichage de cette page pas en fonctionnement normal quand le core y fait appel.
La lenteur de l’affichage n’était pas un problème, c’est chiant mais je n’y vais pas souvent, non la discussion que j’ai eu avec @Loic c’etait que l’usage des variables est à éviter car cela génère des accès BD alors que les commandes sont en cache donc plus performant. Donc je ne comprends pas que maintenant c’est l’inverse qui est dit, j’ai passé des heures pour refaire mes scénarios sans variables si c’est pour résultat d’avoir alourdie le système franchement je suis pas content
Là je veux pas dire de c…ries non plus. Mais çà dépend aussi comment tu le fait
Tu peu faire :
1 : 50 variables
2 : 50 virtuels avec chacun une info
3 : 1 virtuels avec 50 infos
Le 2 est clairement à proscrire. J’imagine qu’avec les commandes en cache, le 3 doit être un peu mieux que le 1.
Perso j’ai une dizaine de variables (générale et sur des sujets divers), par contre j’ai une 20 aines d’infos propres au jour (weekend, vacances, vacances demain, lévé/couché du soleil en heure et timestamp, etc), tout çà je les ai dans un seul virtuel en commands info. Jamais eu de soucis.
Pour chaque variables, j’ai mis dans un virtuel, en général déjà existant, une commande info pour la remplacer et dans le scénario, je fais un ‹ event › de l’info dans la commande
Non l’info virtuel sera plus rapide quand dans la plupart des cas ya même pas d’accès bdd il va chercher directement dans le cache. L’écriture d’une info virtuel peut être par contre est similaire mais moins stressant que la variable car ya juste un accès db et une écriture en cache au lieu d’une écriture en db. Pour rappel le cache est monté en RAM .
Ok c’est bien ce que j’avais compris, il faut réserver les variables a des paramètres ou informations qui ne changent pas, sinon il faut mieux passer par une commande