Etienne BAUDOUX

Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Etienne BAUDOUX

Forum sur les projets de Etienne BAUDOUX

-39%
Le deal à ne pas rater :
Pack Home Cinéma Magnat Monitor : Ampli DENON AVR-X2800H, Enceinte ...
1190 € 1950 €
Voir le deal

4 participants

    Économiser les ressources et utiliser le multi-threads pour plus de fluidité

    fandeonepiece2
    fandeonepiece2
    Je suis là tous les jours
    Je suis là tous les jours


    Masculin Nombre de messages : 1804
    Age : 23
    Localisation : chez moi
    Emploi/loisirs : Programmation H24
    Humeur : massacrante... si je n'ai pas ma dose journalière de programmation
    Date d'inscription : 14/09/2013

    Économiser les ressources et utiliser le multi-threads pour plus de fluidité Empty Économiser les ressources et utiliser le multi-threads pour plus de fluidité

    Message par fandeonepiece2 Mar 22 Avr 2014 - 10:10

    bonjour tout le monde,

    on se retrouve aujourd'hui pour un nouveau tuto : comment ne pas utiliser trop de ressource et donc que notre application soit utilisable sur de faible machines et comment faire pour ne pas qu'elle se fige.(quand je dit ressources je ne parle pas des images, etc mais des performances d'un PC (CPU, RAM, ...))

    Au lieu d'utiliser un timer (par exemple) pour modifier une propriété d'un contrôle ou autre on peu utiliser des événements comme Resize (vu dans : https://forumvelersoftware.bbactif.com/t1610-creez-vos-propres-composants-sous-forme-de-dll) au lieu de :

    Code:
    nom_du_contrôle.size = Me.size

    ou
    quand on veut afficher  l'état de la connexion a Internet on utilise aussi un timer, on peut utiliser a la place les événement d'applications (trouvable dans l'explorateur de solution)
    sinon pour plus de fluidité dans notre logiciel on peut utiliser le multi-thread (merci google pour l'écriture) afin d'éviter les applications bloquées pendant quelques secondes (voir : https://www.youtube.com/watch?v=BgS1h4xySO4 quand il envoie le mail, son soft se bloque pendant un moment)
    donc allez dans l'éditeur de fonctions de votre form et cliquez sur le petit rectangle :

    Économiser les ressources et utiliser le multi-threads pour plus de fluidité Captur60

    un formulaire s'ouvre, inscrivez un nom a votre fonction (moi je l'ai appelé "ma_fonction") et cliquez sur OK
    une nouvelle fonction est crée
    ajoutez dedans vos fonction figeant l'application (comme par exemple un de mes dernier tuto "géolocaliser avec l'ip" qui fait légèrement figer l'application)
    donc j'ajoute mon code dedans :

    Code:
             Dim info As New System.Xml.XmlDocument 'création de la variable info 
            Dim infonode As System.Xml.XmlNodeList 'création de la variable infonode
            Dim i As Integer 'création de la variable i
            info.Load("http://freegeoip.net/xml/") 'obtention des informations
            infonode = info.GetElementsByTagName("Response") 
            For i = 0 To infonode.Count - 1 'pour chaque info dans infonode
                infonode(i).ChildNodes.Item(0).InnerText.Trim()
                dim info1 = "Adresse IP : " & infonode(i).ChildNodes.Item(0).InnerText.Trim()
                dim info2 = "Pays : " & infonode(i).ChildNodes.Item(2).InnerText.Trim()
                dim info3 = "Region : " & infonode(i).ChildNodes.Item(4).InnerText.Trim()
                dim info4 = "Ville : " & infonode(i).ChildNodes.Item(5).InnerText.Trim()
                dim info5 = "Latitude : " & infonode(i).ChildNodes.Item(7).InnerText.Trim()
                dim info6 = "Longitude : " & infonode(i).ChildNodes.Item(8).InnerText.Trim()
            Next
            msgbox(info1 &  info2 & info3 & info4 & info5 & info6)


    ensuite on va dans l'événement ou ces fonctions doivent êtres exécutes et on ajoute la fonction code VB et on y met ce code :

    Code:
    Dim Thread1 As New System.Threading.Thread(AddressOf nom_de_votre_première_fonction_pour_moi_c_est_ma_fonction)
            Thread1.Start()     ' Démarrer le nouveau thread.

    et vous testez :
    plus aucun freeze

    bon dev
    cordialement
    Szman
    Szman



    Masculin Nombre de messages : 1257
    Age : 24
    Localisation : 76230 Bois-Guillaume
    Emploi/loisirs : Code, musique, sport
    Humeur : Toujours heureux évidemment!
    Date d'inscription : 22/10/2011

    Économiser les ressources et utiliser le multi-threads pour plus de fluidité Empty Re: Économiser les ressources et utiliser le multi-threads pour plus de fluidité

    Message par Szman Mar 22 Avr 2014 - 10:55

    Re,

    superbe tuto (oui bon je t'ai un peu aidé xD)! Razz

    Cordialement,
    Softwarezatorman
    fandeonepiece2
    fandeonepiece2
    Je suis là tous les jours
    Je suis là tous les jours


    Masculin Nombre de messages : 1804
    Age : 23
    Localisation : chez moi
    Emploi/loisirs : Programmation H24
    Humeur : massacrante... si je n'ai pas ma dose journalière de programmation
    Date d'inscription : 14/09/2013

    Économiser les ressources et utiliser le multi-threads pour plus de fluidité Empty Re: Économiser les ressources et utiliser le multi-threads pour plus de fluidité

    Message par fandeonepiece2 Mar 22 Avr 2014 - 11:21

    re,
    mais mais pas du tout c'est pas comme si tu avais relu, corrigé toutes les fautes, et aidé à la mise en pages  Siflotte 
    cordialement
    lereparateurdepc
    lereparateurdepc



    Masculin Nombre de messages : 5621
    Age : 31
    Localisation : Calvados
    Emploi/loisirs : Electrotechnicien / électricité, HAUTE TENSION, électronique, informatique, automatisme , Arduino, bref le BRICOLAGE , ...
    Humeur : toujours cool
    Date d'inscription : 31/01/2010

    Économiser les ressources et utiliser le multi-threads pour plus de fluidité Empty Re: Économiser les ressources et utiliser le multi-threads pour plus de fluidité

    Message par lereparateurdepc Mar 22 Avr 2014 - 15:45

    re,

    C'est bien mais pourquoi utiliser du code VB alors que SZ peut faire sans ???

    Ce que tu appelle le "multi-thread" n'est ni plu ni moins qu'un BackgroundWorker en fait
    tout à fait gérable par SZ et SANS code VB puisque SZ a des actions pour Smile

    Fait un tour sur le blog de VelerSoftware.

    Cordialement,
    Le réparateur de PC

    fandeonepiece2
    fandeonepiece2
    Je suis là tous les jours
    Je suis là tous les jours


    Masculin Nombre de messages : 1804
    Age : 23
    Localisation : chez moi
    Emploi/loisirs : Programmation H24
    Humeur : massacrante... si je n'ai pas ma dose journalière de programmation
    Date d'inscription : 14/09/2013

    Économiser les ressources et utiliser le multi-threads pour plus de fluidité Empty Re: Économiser les ressources et utiliser le multi-threads pour plus de fluidité

    Message par fandeonepiece2 Mar 22 Avr 2014 - 15:47

    re,
    je sais mais je n'ai pas trop compris comment y utiliser dans SZ avec le tuto d'étienne
    cordialement
    lereparateurdepc
    lereparateurdepc



    Masculin Nombre de messages : 5621
    Age : 31
    Localisation : Calvados
    Emploi/loisirs : Electrotechnicien / électricité, HAUTE TENSION, électronique, informatique, automatisme , Arduino, bref le BRICOLAGE , ...
    Humeur : toujours cool
    Date d'inscription : 31/01/2010

    Économiser les ressources et utiliser le multi-threads pour plus de fluidité Empty Re: Économiser les ressources et utiliser le multi-threads pour plus de fluidité

    Message par lereparateurdepc Mar 22 Avr 2014 - 15:50

    re,

    Tu démarre un BW depuis un bouton par exemple.
    Au lieu d'ajouter les action à la suite dans ce bouton, tu les place dans l'évènement DoWork du BW.

    Pour comprendre, il y a sûrement une aide rapide dans les actions concernées non ?


    Cordialement,
    Le réparateur de PC
    Blackorion35
    Blackorion35
    Je suis là tous les jours
    Je suis là tous les jours


    Masculin Nombre de messages : 2612
    Age : 33
    Localisation : Rouen
    Emploi/loisirs : Technicien Informatique DEC / Associé Directeur Convergence
    Humeur : C'est quand les prochaines vacs... ?
    Date d'inscription : 19/03/2013

    Économiser les ressources et utiliser le multi-threads pour plus de fluidité Empty Re: Économiser les ressources et utiliser le multi-threads pour plus de fluidité

    Message par Blackorion35 Mar 22 Avr 2014 - 16:19

    Re,

    Oui ya surement un tuto sur le blog pour ça Smile j'avais déjà tester amusé sinon bon tutoriel Smile !

    Contenu sponsorisé


    Économiser les ressources et utiliser le multi-threads pour plus de fluidité Empty Re: Économiser les ressources et utiliser le multi-threads pour plus de fluidité

    Message par Contenu sponsorisé


      La date/heure actuelle est Sam 27 Avr 2024 - 20:56