[V] ClipGet() consomme 100% des ressources CPU

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Verrouillé
K4rl3oN
Niveau 2
Niveau 2
Messages : 16
Enregistré le : mer. 20 avr. 2011 15:42
Status : Hors ligne

[V] ClipGet() consomme 100% des ressources CPU

#1

Message par K4rl3oN »

Bonsoir les autoitiens :D
J'ai un petit souci avec la fonction ClipGet(): Si le presse papier contient une grosse quantité de données l'usage de la fonction pousse la consommation des ressources de ma machine à 100% et mon script ne répond plus jusqu'à ce que je force son arrêt.
J'ai essayé de contourner le problème en limitant la taille des données récupérées du presse papier, mais ça continue :cry:

Code : Tout sélectionner

Local $PressePapier = StringMid(ClipGet(),1,1024)
aussi j'ai fait appel à la fonction:

Code : Tout sélectionner

DllCall("psapi.dll", "int", "EmptyWorkingSet", "long", -1)
pour libérer de la mémoire après chaque appel à ClipGet(), mais ça continue :cry:
Modifié en dernier par jguinch le mer. 13 janv. 2016 12:19, modifié 1 fois.
Raison : Verrouillage
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1037
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] ClipGet() consomme 100% des ressources CPU

#2

Message par walkson »

Bonjour,
Je vais peut être dire une bêtise mais je pense que clipget() consomme plutôt de la RAM et si le CPU boulotte à 100%, c'est qu'il y a un programme qui mouline derrière. A confirmer...
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] ClipGet() consomme 100% des ressources CPU

#3

Message par jguinch »

Faudrait aussi qu'on voit le code, parce que le problème peut aussi venir d'ailleurs...
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
K4rl3oN
Niveau 2
Niveau 2
Messages : 16
Enregistré le : mer. 20 avr. 2011 15:42
Status : Hors ligne

Re: [..] ClipGet() consomme 100% des ressources CPU

#4

Message par K4rl3oN »

Bonsoir et merci pour l'interet que vous montrez pour mon problème.
Je suis sure que c'est la fonction ClipGet() qui en est la cause (tout ce passe normalement avec quand je copie une dizaine de lignes ou de fichiers, mais quand il s'agit de milliers là ça plante, j'ai fait le test en essayant de copier 3696 images .png comme montré sur l'image ci-jointe)

Image

[*]voici le script testé

Code : Tout sélectionner

Func _SauvePressePapier()
    Local $PressePapier = ClipGet()
    ConsoleWrite($PressePapier&@CRLF)
EndFunc
While True
    _SauvePressePapier()
    Sleep(1000)
WEnd
ClipGet() ne gère t-elle pas une grosse quantité de données ? :roll:
existe il une alternative à ClipGet() qui surmonte ce problème? :roll:
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] ClipGet() consomme 100% des ressources CPU

#5

Message par jguinch »

Le fait d'ouvrir un sujet en double sur les deux forums en même temps n'est pas vraiment toléré ici (voir le règlement : http://www.autoitscript.fr/forum/viewto ... f=35&t=355)
Faut choisir un des deux topics, sinon je verrouille celui-là d'ici une heure (bon, on va quand même te laisser te connecter...)

BrewManNH t'a donné une réponse il y a une heure : https://www.autoitscript.com/forum/topi ... nt-1290971
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] ClipGet() consomme 100% des ressources CPU

#6

Message par orax »

Dans la fonction _SauvePressePapier() je vois 2 fonctions, ClipGet() inclus, alors pourquoi s'acharner uniquement sur le pauvre ClipGet ? :cry:
Modifié en dernier par orax le mer. 13 janv. 2016 13:47, modifié 1 fois.
Raison : Je pensais que le problème venait de ConsoleWrite.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
K4rl3oN
Niveau 2
Niveau 2
Messages : 16
Enregistré le : mer. 20 avr. 2011 15:42
Status : Hors ligne

Re: [..] ClipGet() consomme 100% des ressources CPU

#7

Message par K4rl3oN »

Dslé pour le double post, je ne savai pas que c'etait interdit :oops:
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2282
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] ClipGet() consomme 100% des ressources CPU

#8

Message par jchd »

Interdit, c'est un grand mot. Disons que pour tout le monde, c'est comme chevaucher un éléphant : on est écartelé entre les deux côtés et ça n'avance pas.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] ClipGet() consomme 100% des ressources CPU

#9

Message par jguinch »

Message verouillé, suite sur le forum US apparemment.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Verrouillé