Etienne BAUDOUX

Forum sur les projets de Etienne BAUDOUX


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

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

Masculin Nombre de messages : 1804
Age : 16
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é

Message par fandeonepiece2 le 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 : http://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 :



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



(ಠ_ಠ)


http://openclassrooms.com/forum/sujet/regie-publicitaire-drozor
avatar
Softwarezatorman


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

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

Message par Softwarezatorman le Mar 22 Avr 2014 - 10:55

Re,

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

Cordialement,
Softwarezatorman



Modérateur de la section SoftwareZator

SoftwareZator ah... quel outil formidable Very Happy Very Happy Very Happy 
Créer des logiciels en toute simplicité...c'est merveilleux study
Quand quelque chose ne va pas scratch: Le forum est là! Smile



Vous êtes sur un forum et il y a des règles à respecter: éviter les doubles-post et ne pas utiliser le langage sms. Merci de votre compréhension.


N'hésitez surtout pas à faire des tutoriels pour les autres.
Merci Very Happy



Venez voir ma chaîne Youtube: ChriisX !

Mon instagram: _chrischr


Bonjour Invité Smile
avatar
fandeonepiece2
Je suis là tous les jours
Je suis là tous les jours

Masculin Nombre de messages : 1804
Age : 16
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

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

Message par fandeonepiece2 le 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



(ಠ_ಠ)


http://openclassrooms.com/forum/sujet/regie-publicitaire-drozor
avatar
lereparateurdepc


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

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

Message par lereparateurdepc le 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




Modérateur & Administrateur du forum
Merci de contacter les membres par MP ou mail que pour "urgences". Le forum est fait pour ça. Merci

@ Contact : franleboss@gmail.com  Smile
Arrow  Visitez mon site : désolé l'hébergeur à fermé Sad

Ma chaine tutube : https://www.youtube.com/channel/UC7iU59NNAHz-tW5wqcgONHA


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

Masculin Nombre de messages : 1804
Age : 16
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

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

Message par fandeonepiece2 le 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



(ಠ_ಠ)


http://openclassrooms.com/forum/sujet/regie-publicitaire-drozor
avatar
lereparateurdepc


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

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

Message par lereparateurdepc le 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



Modérateur & Administrateur du forum
Merci de contacter les membres par MP ou mail que pour "urgences". Le forum est fait pour ça. Merci

@ Contact : franleboss@gmail.com  Smile
Arrow  Visitez mon site : désolé l'hébergeur à fermé Sad

Ma chaine tutube : https://www.youtube.com/channel/UC7iU59NNAHz-tW5wqcgONHA


avatar
Blackorion35
Je suis là tous les jours
Je suis là tous les jours

Masculin Nombre de messages : 2565
Age : 27
Localisation : Rouen
Emploi/loisirs : Dirigeant société informatique déclaré/Informaticien au CNED
Humeur : En forme !
Date d'inscription : 19/03/2013

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

Message par Blackorion35 le 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 !



Le site officiel de notre société : http://algostep-company.fr
Notre WebOS "Rynna" en développement : http://rynnawebos.fr/login
Le WebOS "Zator" conçu pour le forum et ses membres dispo en test ici :
http://algostep-company.fr/WebOS-Zator-Test1/
---------------------------------------------------------

Contenu sponsorisé

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

Message par Contenu sponsorisé


    La date/heure actuelle est Lun 25 Sep 2017 - 18:32