Bonjour à tous et à toutes,
Hier, je m'étais enfin décidé à faire un suivi de mes actions principales au fur et à mesure pour qu'à l'avenir je puisse isoler plus aisément les erreurs potentielles. Mais avant, puisque mes scripts tournent en boucle, j'ai voulu m'assurer que l'écriture d'informations dans la console ne ralentissait pas trop l'exécution d'Actionaz. Il s'avère qu'écrire des informations dans la console ralenti considérablement le temps d'exécution de chaque ligne.
Mon script de test consista en une ligne "Code" écrivant 5 phrases différentes dans la console et d'une action "Ecrire fichier" écrivant la durée d'exécution du script, le tout dans une boucle infinie. Quelques minutes plus tard, j'interrompis le script.
Si au départ, le script s'exécutait quasi instantanément, il mettait 2824 ms alors qu'il n'avait fait que 243 boucles.
Je m'attendais à un ralentissement sensible, mais pas à ce point. Plutôt que d'utiliser la console, j'ai donc décidé de passer par la rédaction d'un fichier texte au fur et à mesure, qui se fait d'ailleurs plus vite que l'écriture de ne serait-ce que deux lignes dans la console.
Je ne sais pas s'il est possible de faire quelque chose pour la console mais je fais tout de même des propositions.
Tout d'abord, même si la console ralenti fortement le script, je me suis dit que certains utilisateurs en auraient tout de même l'utilité. Pour ceux qui comme moi auraient besoin d'écrire des informations dedans alors que leur script tourne boucle, il faudrait permettre à l'utilisateur de vider le contenu de la console avec une action ou en code (je ne pense pas qu'il soit possible de le faire en l'état). Personnellement, j'aurais pu vider la console juste avant la fin de chaque boucle.
Ensuite, pourquoi pas permettre à l'utilisateur de créer une copie de la console dans un fichier texte? Un peu à la façon d'un fichier de logs.
Fichier de logs/Console
Re: Fichier de logs/Console
L'écriture d'une quantité importante de texte dans un widget provoquera forcément des ralentissement, c'est le cas avec tous les logiciels et tous les frameworks. Une solution à ça serait de proposer une limite de texte : le début est automatiquement supprimé si cette limite est dépassée.
Le nettoyage du contenu de la console est une bonne idée, mais cela ne fonctionnera que dans le cas de l'interface graphique de d'Actionaz. Dans une sortie texte sous Linux par exemple ça ne fonctionnera pas. Pour l'envoi vers un fichier texte, pourquoi pas. Mais s'agirait-il d'un réglage par script ? Par utilisateur d'Actionaz (donc dans les options du logiciel) ?
Le nettoyage du contenu de la console est une bonne idée, mais cela ne fonctionnera que dans le cas de l'interface graphique de d'Actionaz. Dans une sortie texte sous Linux par exemple ça ne fonctionnera pas. Pour l'envoi vers un fichier texte, pourquoi pas. Mais s'agirait-il d'un réglage par script ? Par utilisateur d'Actionaz (donc dans les options du logiciel) ?
"My software never has bugs. It just develops random features."
Re: Fichier de logs/Console
Je voyais cela comme un ajout de fonctionnalité à l'action "Console".
Pour l'instant, on ne peut qu'y ajouter du texte. Une case "Vider le contenu", à cocher, permettrait de vider la console avant d'y écrire le texte éventuellement indiqué. Sur le principe, cela reviendrait presque au même que d'interrompre actionaz et de cliquer sur le bouton "Vider" visible en dessous de la console. Puisqu'il existe d'ailleurs un case "vider avant exécution", je suppose que cela doit être faisable sans trop de difficultés.
Du point de vue du code, je ne sais pas s'il est possible d'ajouter une fonction, mais il serait si pratique de la vider d'un simple Console.clear();
Pour l'instant, on ne peut qu'y ajouter du texte. Une case "Vider le contenu", à cocher, permettrait de vider la console avant d'y écrire le texte éventuellement indiqué. Sur le principe, cela reviendrait presque au même que d'interrompre actionaz et de cliquer sur le bouton "Vider" visible en dessous de la console. Puisqu'il existe d'ailleurs un case "vider avant exécution", je suppose que cela doit être faisable sans trop de difficultés.
Du point de vue du code, je ne sais pas s'il est possible d'ajouter une fonction, mais il serait si pratique de la vider d'un simple Console.clear();
Re: Fichier de logs/Console
je peux prendre ça comme une invitation à reprendre mon travail sur une action qui permettrait
- de masquer/afficher la fenêtre actionaz et/ou la console
- repositionner à la volée la fenêtre actionaz et/ou la console
- vider la console
Une action avec ces possibilités (décrites ci-dessus) permettrait-elle de couvrir le besoin ?
- de masquer/afficher la fenêtre actionaz et/ou la console
- repositionner à la volée la fenêtre actionaz et/ou la console
- vider la console
Une action avec ces possibilités (décrites ci-dessus) permettrait-elle de couvrir le besoin ?
Re: Fichier de logs/Console
Je pense effectivement que cela couvrirait tous les besoins.
Je regrette tout de même de ne pas m'y connaître suffisamment que pour vous aider sur le code source, je me suis pris de passion pour Actionaz
Je regrette tout de même de ne pas m'y connaître suffisamment que pour vous aider sur le code source, je me suis pris de passion pour Actionaz
Re: Fichier de logs/Console
tout dépend ...
quand tu dis "ne pas m'y connaitre ..."
tu parles de la programmation en général ou d'actionaz en particulier
car si le pb est juste de rentrer dans le code d'actionaz, et que tu comprends la syntaxe C++, il y a une rubrique developpement dans le forum ou Jmgr et moi-même pourront répondre à toutes tes questions.
Le premier apprentissage est de coder une nouvelle action ...
quand tu dis "ne pas m'y connaitre ..."
tu parles de la programmation en général ou d'actionaz en particulier
car si le pb est juste de rentrer dans le code d'actionaz, et que tu comprends la syntaxe C++, il y a une rubrique developpement dans le forum ou Jmgr et moi-même pourront répondre à toutes tes questions.
Le premier apprentissage est de coder une nouvelle action ...
Re: Fichier de logs/Console
Je ne connais pas le C++ (tout juste quelques bases) et encore moins le framework Qt, mais je me suis mis à la programmation depuis peu et je progresse assez vite.
Lorsque j'aurais terminé de programmer mes scripts actionaz, je pense m'y mettre sérieusement. Le projet Actionaz est remarquable et j'aimerais bien y contribuer humblement
Ce sera l'occasion de m'autoformer et d'apprendre "sur le tas".
Lorsque j'aurais terminé de programmer mes scripts actionaz, je pense m'y mettre sérieusement. Le projet Actionaz est remarquable et j'aimerais bien y contribuer humblement
Ce sera l'occasion de m'autoformer et d'apprendre "sur le tas".