1 (edited by Joshua 2021-02-25 21:14:02)

Topic: Nouveautés de la version de développement 0.9

MAJ 25/02/2021

Bonjours,
On recommence pour la 0.9 la liste des nouveautés.
J’énumérais sur ce topic les nouveautés apportés à la version de développement qui sera la future version 0.9.
Seront présentes uniquement les nouvelles fonctionnalités disponibles pour l'utilisateur.
Tout autre chose, tel que les bugfixs, remaniement de code et autres qui n'apporte rien de nouveau pour l'utilisation de QET ne seront pas mentionné ici, à quelques rares exceptions.
Ce topic n'a pas pour vocation d'être une release note (car ne sera pas exhaustif), mais aidera à visualiser rapidement les évolutions et avoir vos retours tout aussi rapidement afin d'être réactif durant le développement.

Rétrocompatibilité :
Il fallait bien y passer un jour, la retro compatibilité à été supprimé sur certaine partie du code.
L'ouverture de projet crée avec une version de QElectroTech inférieur à la 0.7 sera toujours possible, mais les schéma seront cassé sur :
-Les anciens textes d'éléments ne seront plus convertie en nouveau texte d'élément (texte dynamique), donc les éléments n'auront plus de texte.
-Il y a longtemps il fallait écrire les variables directement dans le 'label' des éléments. Quand la 'formule' d'élément est apparue les 'label' contenant des variables (le %) étais considéré comme des 'formules' et donc le contenue du 'label' étais transféré dans la 'formule'. Ce n'est plus le cas dorénavant, si le 'label' est de la forme KM%id, il restera ainsi et la formule sera vide.

Pourquoi casser vos jolie schéma fait avec amoure et qui on nécessité des heures de travail me direz-vous ?
Afin de nettoyer des vieilles portions de code bancale, tordu, parfois volumineuse et qui seul moi en connais les obscures raison.
Préparer petit à petit le future de qet (j'en parle beaucoup pour ceux qui suivent le développement de qet).
Mais aussi grâce au travail de Laurent on dispose sur windows des ready to use et linux des appimages des anciennes versions de qet donc rien n'est perdu nomicons/smile il suffira d'ouvrir un projet non compatible avec la 0.8, l'enregistrer (ce qui aura pour effet d'avoir un projet enregistré selon les 'normes' de la 0.8) puis de l'ouvrir avec la 0.9.
Lors de l'ouverture d'un projet crée avec une version non compatible un dialogue informera l'utilisateur de la situation ainsi que la procédure à suivre pour rendre le projet compatible (pas encore codé à la date du 25/02/2021).

2 (edited by Joshua 2021-02-25 21:14:13)

Re: Nouveautés de la version de développement 0.9

Rétrocompatibilité :
Il fallait bien y passer un jour, la retro compatibilité à été supprimé sur certaine partie du code.
L'ouverture de projet crée avec une version de QElectroTech inférieur à la 0.7 sera toujours possible, mais les schéma seront cassé sur :
-Les anciens textes d'éléments ne seront plus convertie en nouveau texte d'élément (texte dynamique), donc les éléments n'auront plus de texte.
-Il y a longtemps il fallait écrire les variables directement dans le 'label' des éléments. Quand la 'formule' d'élément est apparue les 'label' contenant des variables (le %) étais considéré comme des 'formules' et donc le contenue du 'label' étais transféré dans la 'formule'. Ce n'est plus le cas dorénavant, si le 'label' est de la forme KM%id, il restera ainsi et la formule sera vide.

Pourquoi casser vos jolie schéma fait avec amoure et qui on nécessité des heures de travail me direz-vous ?
Afin de nettoyer des vieilles portions de code bancale, tordu, parfois volumineuse et qui seul moi en connais les obscures raison.
Préparer petit à petit le future de qet  (j'en parle beaucoup pour ceux qui suivent le développement de qet).
Mais aussi grâce au travail de Laurent on dispose sur windows des ready to use et linux des appimages des anciennes versions de qet donc rien n'est perdu nomicons/smile il suffira d'ouvrir un projet non compatible avec la 0.8, l'enregistrer (ce qui aura pour effet d'avoir un projet enregistré selon les 'normes' de la 0.8) puis de l'ouvrir avec la 0.9.
Lors de l'ouverture d'un projet crée avec une version non compatible un dialogue informera l'utilisateur de la situation ainsi que la procédure à suivre pour rendre le projet compatible (pas encore codé à la date du 25/02/2021).

Re: Nouveautés de la version de développement 0.9

https://git.tuxfamily.org/qet/qet.git/c … bb3e99c298
https://git.tuxfamily.org/qet/qet.git/c … 49671d8d80

https://github.com/itay-grudev/SingleAp … issues/121

Upgrade SingleApplication seem's to speed faster QET launching under Windows \o/ from ~60 seconds to 5 seconds.
On my laptop Win 10

18:30:52.275 Info: "QElectroTech V 0.90-DEV+7c3bde911c957a06d79751d3" 
18:30:52.276 Info: "Compilation : GCC 9.3.0"
18:30:52.277 Info: "Built with Qt 5.15.2 - Date : Feb 28 2021 : 18:19:34"
18:30:52.278 Info: "Run with Qt 5.15.2 using 8 thread(s)"
18:30:52.279 Info: "CPU : NAME                                      \r\r\nINTEL(R) CORE(TM) I7-8550U CPU @ 1.80GHZ  \r\r\n\r\r\n"
18:30:52.280 Info: "RAM Total : 16199 MB"
18:30:52.281 Info: "RAM Available : 12460 MB"
18:30:52.282 Info: "GPU : VideoProcessor                \r\r\nIntel(R) UHD Graphics Family  \r\r\n\r\r\n"
18:30:52.282 Info: "GPU RAM : RAM Total : AdapterRAM  \r\r\n1073741824  \r\r\n\r\r\n B"
18:30:52.283 Info: "OS : winnt  - x86_64 - Version : Windows 10 Version 1909 - Kernel : 10.0.18363"
18:30:52.284 Info: *** Qt screens ***
18:30:52.284 Info: "( 1 : 3840 x 2160 )"
18:30:52.608 Info: Elements collection reload
18:30:57.795 Info: Elements collection finished to be loaded

It's not as good as in Linux, but the performance seems to be about the same as in OSX now.
And now on Windows, QET use all the processor threads at launch to speed up the loading.
I hope that we can load more than 20,000 elements without this being a brake in the future
I never thought that the bottleneck on Windows could come from this part..

Re: Nouveautés de la version de développement 0.9

https://www.linuxexpres.cz/qelectrotech-2

Podle všeho není vývojářům úplně jasné, proč se různé výsledky pozorované v OS Windows (udávaný nárůst rychlosti je asi 30 %) liší od OS Linux, kde má být skutečně dosahováno vyšší rychlosti při nahrávání sbírky - dvojnásobku (pozn. sbírka prvků má v současnosti přes osm tisíc položek).

Apparently it is not entirely clear to the developers why the various results observed in Windows (the reported increase in speed is about 30%) differ from Linux, where a higher loading speed of the collection is to be achieved - twice (note that the element collection currently has over eight thousand items).

Re: Nouveautés de la version de développement 0.9

scorpio810 wrote:

It's not as good as in Linux, but the performance seems to be about the same as in OSX now.
And now on Windows, QET use all the processor threads at launch to speed up the loading.
I hope that we can load more than 20,000 elements without this being a brake in the future
I never thought that the bottleneck on Windows could come from this part..

Je n'ai pas encore pris le temps d'essayer, mais si plusieurs personnes confirment que le chargement est plus raide on ajoutera ce commit à la 0.8.1.

Re: Nouveautés de la version de développement 0.9

Nouveauté sur les éléments bornier pour l'instant accessible uniquement depuis l'éditeur.

- Les bornes (point de connections électrique) possèdent un nouveau paramètre "type" ce paramètre peut avoir trois valeurs :
.générique
.Bornier intérieur
.Bornier extérieur
Les deux dernier seront disponible uniquement si l'élément est de type bornier, ces paramètres serviront à savoir si le point de connexion se situe coté armoire ou coté extérieur de l'armoire (câble).
Ces deux types pourront être changé à tout moment dans l'éditeur de diagramme.

Le type d'élément bornier gagne deux nouveaux paramètres :
Type : générique, Fusible sectionnable, diode.
Fonction : générique, phase, neutre, terre.

La fonction pourra être changé à tout moment dans l'éditeur de diagramme.

Re: Nouveautés de la version de développement 0.9

scorpio810 wrote:

https://git.tuxfamily.org/qet/qet.git/c … bb3e99c298
https://git.tuxfamily.org/qet/qet.git/c … 49671d8d80

https://github.com/itay-grudev/SingleAp … issues/121

Upgrade SingleApplication seem's to speed faster QET launching under Windows \o/ from ~60 seconds to 5 seconds.
On my laptop Win 10

18:30:52.275 Info: "QElectroTech V 0.90-DEV+7c3bde911c957a06d79751d3" 
18:30:52.276 Info: "Compilation : GCC 9.3.0"
18:30:52.277 Info: "Built with Qt 5.15.2 - Date : Feb 28 2021 : 18:19:34"
18:30:52.278 Info: "Run with Qt 5.15.2 using 8 thread(s)"
18:30:52.279 Info: "CPU : NAME                                      \r\r\nINTEL(R) CORE(TM) I7-8550U CPU @ 1.80GHZ  \r\r\n\r\r\n"
18:30:52.280 Info: "RAM Total : 16199 MB"
18:30:52.281 Info: "RAM Available : 12460 MB"
18:30:52.282 Info: "GPU : VideoProcessor                \r\r\nIntel(R) UHD Graphics Family  \r\r\n\r\r\n"
18:30:52.282 Info: "GPU RAM : RAM Total : AdapterRAM  \r\r\n1073741824  \r\r\n\r\r\n B"
18:30:52.283 Info: "OS : winnt  - x86_64 - Version : Windows 10 Version 1909 - Kernel : 10.0.18363"
18:30:52.284 Info: *** Qt screens ***
18:30:52.284 Info: "( 1 : 3840 x 2160 )"
18:30:52.608 Info: Elements collection reload
18:30:57.795 Info: Elements collection finished to be loaded

It's not as good as in Linux, but the performance seems to be about the same as in OSX now.
And now on Windows, QET use all the processor threads at launch to speed up the loading.
I hope that we can load more than 20,000 elements without this being a brake in the future
I never thought that the bottleneck on Windows could come from this part..

Same laptop but on Ubuntu 20.4

14:59:03.647 Info: "QElectroTech V 0.90-DEV+0424eb9fbc957a06d79751d3" 
14:59:03.647 Info: "Compilation : GCC 9.3.0"
14:59:03.647 Info: "Built with Qt 5.12.8 - Date : Mar  2 2021 : 12:12:50"
14:59:03.647 Info: "Run with Qt 5.12.8 using 8 thread(s)"
14:59:03.647 Info: "CPU : model name\t: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz\n"
14:59:03.647 Info: "RAM Total : 15828 MB"
14:59:03.647 Info: "RAM Available : 13051 MB"
14:59:03.647 Info: "GPU :  Intel Corporation UHD Graphics 620 (rev 07)\n Intel Corporation Sunrise Point-LP Integrated Sensor Hub (rev 21)\n"
14:59:03.647 Info: "GPU RAM : @ToDo"
14:59:03.647 Info: "OS : linux  - x86_64 - Version : Ubuntu 20.04.2 LTS - Kernel : 5.4.0-66-generic"
14:59:03.647 Info: *** Qt screens ***
14:59:03.647 Info: "( 1 : 3840 x 2160 )"
14:59:03.960 Info: Elements collection reload
14:59:04.366 Info: Elements collection finished to be loaded

406 ms

Re: Nouveautés de la version de développement 0.9

Joshua wrote:

Je n'ai pas encore pris le temps d'essayer, mais si plusieurs personnes confirment que le chargement est plus raide on ajoutera ce commit à la 0.8.1.

Le chargement plus raide ... heu si tu veux nomicons/grin
Quelques cherry-pic et c'est déja ajouté sur la branche 0.8.1.

Maintenant j'attend les remarques et surtout les logs de nos 2 râleurs de service,  ils se reconnaîtrons .. nomicons/smiley-green
D’après mes tests la maj de pugiXML n'a pas amélioré le temps de chargement, celle de SingleApplication : à par contre divisé sur les deux machines de tests le temps de lancement par dix.
premier pc de test: laptop hp elitebook 850 g5 i7 UHD + 16 G RAM + SSD MVME M.2 - PCI-E 3.0 4x
second pc de test:  Ryzen 1600X 16 G RAM MSI b350 tomahawk+ SSD sata

Re: Nouveautés de la version de développement 0.9

Apres quelques galères avec certains changements d'outil de packaging Debian : devscripts, dh-autoreconf, pbuilder etc .. les paquets sont de nouveau disponibles sur le PPA :
Upgrade du pinning :

sudo sed -i 's/'"version 0.80.*"'/'"version 0.90.*"'/' /etc/apt/preferences.d/40qelectrotech-devel

Added Groovy packages for next builds on PPA

Re: Nouveautés de la version de développement 0.9

j'ai crée une branche "no_single_application" sur git, qui comme son nom l'indique n'utilise pas le single application.
Si certain veulent tester, afin de voir la différence concrète avec/sans single application.....

11 (edited by galexis 2021-03-04 10:25:47)

Re: Nouveautés de la version de développement 0.9

Joshua wrote:

j'ai crée une branche "no_single_application" sur git, qui comme son nom l'indique n'utilise pas le single application.
Si certain veulent tester, afin de voir la différence concrète avec/sans single application.....

Au risque de paraître bête, c'est quoi cette version "single application" ? On ne peut lancer qu'une instance de QET c'est ça ?

Re: Nouveautés de la version de développement 0.9

https://www.kdab.com/kdsingleapplication/

What is a single-instance policy?
Single-instance policy refers to those applications that want to spawn a unique instance for a given user session. Even when launched multiple times, such applications will not spawn a number of separate instances. Instead, the existing instance will be notified, somehow, and some action will be taken by that instance. Typically, its window will be shown (if hidden) and raised to the foreground.

This mechanism works even when the application is launched indirectly, like from a file manager when opening a file type associated with the application. In this case, the new instance (launched by the file manager) will simply tell the existing instance to open the selected file, and then the new instance will immediately quit.

The problem is: on most operating systems we do normally get a new instance every time we launch an application! Therefore, some logic is needed to honor a single-instance policy. KDSingleApplication implements such logic.

13 (edited by saybot2011 2021-04-03 09:47:14)

Re: Nouveautés de la version de développement 0.9

Молодцы! Программа достойная чтобы быть лицензированной. Добавьте линейку и указатель размеров в миллиметрах. Тогда ей цены не будет!