Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 22-09-2018 13:16:19

MoxSite
Membre
Distrib. : Debian Buster (Testing+SID)
Noyau : Linux 4.18.0-1-amd64
(G)UI : Gnome 3.30
Inscription : 28-07-2015

Qt gènere des fichiers trop voluminaux

Bonjour,

Depuis peu, j'essaie de développer des programmes avec des interfaces graphiques grâce à Qt et Go, mais le problème est que pour une simple fenêtre avec un petit bouton, je me retrouve avec un programme qui fait presque 100Mo une fois déployé. C'est normal ?

Debian Stretch sur mes serveurs. Buster (Testing+SID) sur mon PC. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

#2 25-09-2018 10:07:34

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 28-09-2012
Site Web

Re : Qt gènere des fichiers trop voluminaux

Salut, je code en c++ mais le Go doit avoir les même principes.

QtCreator peut prendre 100Mo mais pas une petite fenêtre.
La lib qt peut prendre de la place mais pas la fenêtre. Tout dépend de comment tu mesures l'encombrement et avoir quoi.

Tu peux aussi lancer 1000 boutons les uns sur les autres  sans le voir, si tu ne fais pas une boucle propre.
Ajoute un petit texte dans ton constructeur de bouton afin de voir combien tu en fabriques.
Regarde aussi si la mémoire croit au fils du temps.

Perso je créais une liste de boutons que j'initialise une seule fois au début de mon programme. Ensuite je vais piocher dedans à l'aide de pointeur en fonction des besoins 
J'évite ainsi les copies.

Je ne sais pas si tu peux partager ton code, mais regarde bien à quel moment tu créais tes objets et en quelle quantité, ajoute des compteurs si nécessaire.

Hors ligne

#3 25-09-2018 11:46:14

MoxSite
Membre
Distrib. : Debian Buster (Testing+SID)
Noyau : Linux 4.18.0-1-amd64
(G)UI : Gnome 3.30
Inscription : 28-07-2015

Re : Qt gènere des fichiers trop voluminaux

Bonjour,

Merci pour ces précisions, je n'utilise pas de boucle pour le moment dans mon gramme de test ni QtCreator. En fait c'est une fois déployé sur Linux que ça prend beaucoup de place. Pour Android par exemple, le apk fait seulement 8Mo, pour Windows l’exécutable fait 20Mo.

Debian Stretch sur mes serveurs. Buster (Testing+SID) sur mon PC. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

#4 25-09-2018 13:38:20

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 28-09-2012
Site Web

Re : Qt gènere des fichiers trop voluminaux

100Mo sur le disque pas en RAM.... Je n'avais pas suivi....
C'est un paquet autonome avec toutes les libs embarqués dedans ?
Comment tu fais pour le fabriquer ? C'est une application tierce qui te le génère ?
Et si tu n'utilise pas QtCreator par quels outils passes-tu ?

Hors ligne

#5 28-09-2018 00:05:59

MoxSite
Membre
Distrib. : Debian Buster (Testing+SID)
Noyau : Linux 4.18.0-1-amd64
(G)UI : Gnome 3.30
Inscription : 28-07-2015

Re : Qt gènere des fichiers trop voluminaux

kao a écrit :

100Mo sur le disque pas en RAM.... Je n'avais pas suivi....
C'est un paquet autonome avec toutes les libs embarqués dedans ?
Comment tu fais pour le fabriquer ? C'est une application tierce qui te le génère ?
Et si tu n'utilise pas QtCreator par quels outils passes-tu ?


Désolé pour ma réponse tardive.

J'utilise ceci :https://github.com/therecipe/qt

C'est une sorte d'interface entre Go et Qt/QML, on peut ainsi programmer en Go, sans toucher au C++ big_smile. C'est vraiment prometteur. Pour faire du déploiement rapide et pour éviter d'installer toutes les libraires, le programme propose de le faire avec Docker, j'ai réussi à déployer un programme sur Windows et Android sans problème sans modifier la moindre ligne, c'est vraiment génial comme concept.

Pour info Go permet aussi de compiler sans passer par Qt ou Docker.

Dernière modification par MoxSite (28-09-2018 00:09:13)


Debian Stretch sur mes serveurs. Buster (Testing+SID) sur mon PC. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

#6 28-09-2018 09:19:12

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 28-09-2012
Site Web

Re : Qt gènere des fichiers trop voluminaux

Pas mal comme outils !
Docker est une sorte de mini-machine virtuelle ce serait normal qu'il prenne plus de place. Pour en être certain tu devrais comparer les deux méthodes décrite ici :
https://github.com/therecipe/qt/wiki/De … x-to-Linux

qtdeploy build desktop


contre

qtdeploy -docker build linux



Et regarder la place que cela prends...
De plus il semble que tu peux lancer l'application avec le Qt du système ou celui embarqué dans le paquet.

Hors ligne

#7 28-09-2018 11:03:15

MoxSite
Membre
Distrib. : Debian Buster (Testing+SID)
Noyau : Linux 4.18.0-1-amd64
(G)UI : Gnome 3.30
Inscription : 28-07-2015

Re : Qt gènere des fichiers trop voluminaux

Bonjour,

Je crois qu'il y a un truc que je n'avais pas compris, en fait "qtdeploy" pour Linux, génère un répertoire source, avec un fichier exécutable à l'intérieure, le répertoire fait 126Mo et l’exécutable fait seulement 2Mo, après avoir supprimé le répertoire source et garder l’exécutable, celui-ci se lance quand-même tout comme pour Android.

Je vais exécuter l’exécutable sur une autre machine pour voir s'il ne fait pas appel à des librairies de mon PC. Si c'est ça marche, je vais l'adopter big_smile

Debian Stretch sur mes serveurs. Buster (Testing+SID) sur mon PC. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

#8 29-09-2018 13:23:51

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 28-09-2012
Site Web

Re : Qt gènere des fichiers trop voluminaux

You can start your app either by running project-name or project-name.sh. If you use project-name, your app will run using Qt5 libraries that installed by your system package manager, therefore make it looks native in your platform. On the other hand, if you use project-name.sh, your app will run by dynamic linking the included libraries which will use the fusion style


C'est ce texte qui donne l'explication. Si tu joue le .sh ça utilise les libs embarqués dans le dossier. Si tu lances la commande sans le .sh il utilise le Qt de ta machine.

Hors ligne

#9 30-09-2018 14:07:49

MoxSite
Membre
Distrib. : Debian Buster (Testing+SID)
Noyau : Linux 4.18.0-1-amd64
(G)UI : Gnome 3.30
Inscription : 28-07-2015

Re : Qt gènere des fichiers trop voluminaux

kao a écrit :

You can start your app either by running project-name or project-name.sh. If you use project-name, your app will run using Qt5 libraries that installed by your system package manager, therefore make it looks native in your platform. On the other hand, if you use project-name.sh, your app will run by dynamic linking the included libraries which will use the fusion style


C'est ce texte qui donne l'explication. Si tu joue le .sh ça utilise les libs embarqués dans le dossier. Si tu lances la commande sans le .sh il utilise le Qt de ta machine.


Bonjour,

Effectivement, j'ai fait le test, c'est bien ça. Merci pour tes réponses :-)


Debian Stretch sur mes serveurs. Buster (Testing+SID) sur mon PC. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

#10 01-10-2018 16:11:27

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 28-09-2012
Site Web

Re : Qt gènere des fichiers trop voluminaux

Du coup en terme de place, l'exectuble ne fait plus que 2Mo au lieu de 100, sacré gain wink

Hors ligne

#11 01-10-2018 18:37:15

MoxSite
Membre
Distrib. : Debian Buster (Testing+SID)
Noyau : Linux 4.18.0-1-amd64
(G)UI : Gnome 3.30
Inscription : 28-07-2015

Re : Qt gènere des fichiers trop voluminaux

kao a écrit :

Du coup en terme de place, l'exectuble ne fait plus que 2Mo au lieu de 100, sacré gain wink


Tout à fait, c'est une bonne chose si on doit développer plusieurs programmes avec interface graphique. Pour Windows tout dans un fichier de 20Mo, c'est vraiment génial, c'est beaucoup mieux que Python :-). Sinon pour les programmes sans interfaces, Go est juste.. comme dire, l'invention du siècle ! lol


Debian Stretch sur mes serveurs. Buster (Testing+SID) sur mon PC. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

Pied de page des forums