Broker_CPU (visualise utilisation CPU/Mémoire des addons, latence et ips)

Répondre
Partager Rechercher
ça je ne sais pas du tout mais j'imagine que oui car si tu en a besoin il est fort possible que ça ai été déjà demandé à l'auteur, tu peux laisser un commentaire sinon expliquant l'amélioration c'est toujours bien moi ça ma permis de rajouter dans mon mods des options auquelles je ne pensais pas. Puis même en dehors de la performance, n'ayant utilisé que Bartender depuis le début j'ai été surpris des bonnes options utiles qu'il a par rapport à bartender telles que bouger tout un bloc de barre en même temps, système d'attachement de barre plus précis que bartender etc , très bon mod aussi bien performance que options
En parlant de dominos, je viens de le tester, et j'ai rien trouvé concernant les profils, j'ai pas envie de refaire toute la config des barres d'actions pour chaque perso

Pour ce qui est de broker, j'ai pas encore réussi à completement remplacer fu_bar. volume_fu même s'il consome est très complet, et la fonction "son au personnage" est vraiment pratique, il y a aussi crafttimer_fu que j'aime bien aussi, j'avais trouvé l'equivalent, mais il affichait tout les CD alors que la plupart ne me sont plus utiles.
Merci pour Ara_broker_tradeskills, il fait bien ce que je veux.
Pour dominos, j'ai éditer dominos.lua dans saved variables pour recopier la config pour mes autres perso.
ça marche mais bon, ça pourrait être gérer in-game.
Reste que la fonction "son au personnage" qui me manque pour passer à broker.
Citation :
Publié par Meneldor
Pour ce qui est de broker, j'ai pas encore réussi à completement remplacer fu_bar. volume_fu même s'il consome est très complet
j'ai vu une alternative mais pas testé dans la categorie Broker c'est Volumizer peut être moins complet car ilviens de se créer mais tu peux proposer des suggestions dans l'espace commentaires du mod, Torhal l'auteur est bien actif contrairement à ckknight plutot injoignable maintenant qu'il bosse pour Curse il en à un peu rien à faire des commentaires, report de bugs etc c'est dommage car c'est un bon codeur.
Merci, volumizer est plus complet.

Sinon pour en revenir à broker_cpu, j'ai pas les signe comme sur ton screen du 1er post. J'ai pourtant bien installé des lib en plus.
Citation :
Publié par Meneldor
Merci, volumizer est plus complet.

Sinon pour en revenir à broker_cpu, j'ai pas les signe comme sur ton screen du 1er post. J'ai pourtant bien installé des lib en plus.
sûrement "/cpu ico" ou "Icons" par le menu d'accès rapide Dewdrop, je les ai passé par défaut off vu que maintenant les couleurs reprennent le même système en étant moins gourmandes en ressources sinon si tu te souviens plus des commandes ou voir les modes actif/inactifs c'est simple c'est soit /cpu /brokercpu ou /broker_cpu sans arguments
Hello,

Je me souviens de ton post de pitbull 4. ça m'a bien fait marrer la réponse de la team Ace. C'est pitoyable, il faut penser performance dés la conception d'un produit, sinon on est bon pour faire du refactoring ou alors ça finit par un patch avec des rustines sur un pauvre code.

je vais te fais un kdo, le script suivant te permet de calculer le FPSI (FPS Impact) d'un addon. Cela te permet d'indiquer combien de FPS tu perds par addon, c'est quand même mieux que dire combien de CPU utilise un addon, non ?

Code:
-- initialisation des variables qui vont bien
local fpsi = 0;

-- on se base sur une mesure toutes les secondes
local summary_update_interval = 1.0;

-- frame variables
local framecount, save_frame, frames_per_su = 0, 0, 0;

-- cpu variable
local currentcpu, save_cpu, cpu_per_su  = 0, 0, 0;

-- temps variable
local t, save_t = 0, 0;

-- temps par frame d'un addon
local timePerFrameAddon = 0;

-- framerate
local fr, nfr = 0, 0;

local suf = CreateFrame("Frame");
local function SummaryUpdate()
    -- ces quatres lignes sont utilisé pour quitter la séquence tant que l'interval de temps n'est pas atteint
    -- le framecount n'est jamais réinitialisé, il est utilisé dans le code juste après.
    framecount = framecount + 1;
    t = GetTime();
    if (t - save_t) < summary_update_interval then return; end
    save_t = t;

    -- On mesure le nombre de frame durant l'interval de temps frames_per_su
    frames_per_su = ( (frames_per_su * 4) + (framecount - save_frame) ) / 5;
    save_frame = framecount;

    -- On appel la routine de mise à jour cpu pour tous les addons
    UpdateAddOnCPUUsage();
    
    -- il faudrait faire une boucle ici pour tous les addons, je le fais sur un seul addon.
    -- On mesure le CPU durant l'interval de temps CPU_per_su
    currentcpu = GetAddOnCPUUsage("RDX") / 1000; 
    cpu_per_su = ((cpu_per_su * 4) + (currentcpu - save_cpu) ) / 5; 
    save_cpu = currentcpu;
    
    -- on mesure le temps par frame
    timePerFrameAddon = cpu_per_su / frames_per_su;
    
    -- on mesure notre fpsi pour notre addon enfin
    fr = GetFramerate();
    nfr = (1/fr) - timePerFrameAddon;
    if nfr > 0.00001 then fpsi = 1/nfr - fr; end
    
    print("fpsi RDX : " .. fpsi);
end
suf:SetScript("OnUpdate", SummaryUpdate);
Sigg
Fichiers attachés
fpsi.txt (1,7 Ko, 38 affichages)
Citation :
Publié par sigg
Hello,

Je me souviens de ton post de pitbull 4. ça m'a bien fait marrer la réponse de la team Ace. C'est pitoyable, il faut penser performance dés la conception d'un produit, sinon on est bon pour faire du refactoring ou alors ça finit par un patch avec des rustines sur un pauvre code.
Oui c'est clair je pensais aussi avoir un uf plus léger vu la description, j'ai plutôt tendance maintenant à ne pas utiliser des trucs de ckk, dépendance lourdes, peu de support et on peux même dire pas de support, enfin c'est les fans qui font le support d'un type, du n'importe quoi franchement depuis que Curse l'a embauché ces mods sont quasi périmés, il n'y'a que Dewdrop que je continue à utiliser de lui sinon il y'a bien mieux ailleurs, genre Cartographer poubelle, je prend Mapster now pi ça support AddonLoader c'est bien cool.

Citation :
Publié par sigg
je vais te fais un kdo, le script suivant te permet de calculer le FPSI (FPS Impact) d'un addon. Cela te permet d'indiquer combien de FPS tu perds par addon, c'est quand même mieux que dire combien de CPU utilise un addon, non ?

Code:
-- initialisation des variables qui vont bien
local fpsi = 0;

-- on se base sur une mesure toutes les secondes
local summary_update_interval = 1.0;

-- frame variables
local framecount, save_frame, frames_per_su = 0, 0, 0;

-- cpu variable
local currentcpu, save_cpu, cpu_per_su  = 0, 0, 0;

-- temps variable
local t, save_t = 0, 0;

-- temps par frame d'un addon
local timePerFrameAddon = 0;

-- framerate
local fr, nfr = 0, 0;

local suf = CreateFrame("Frame");
local function SummaryUpdate()
    -- ces quatres lignes sont utilisé pour quitter la séquence tant que l'interval de temps n'est pas atteint
    -- le framecount n'est jamais réinitialisé, il est utilisé dans le code juste après.
    framecount = framecount + 1;
    t = GetTime();
    if (t - save_t) < summary_update_interval then return; end
    save_t = t;

    -- On mesure le nombre de frame durant l'interval de temps frames_per_su
    frames_per_su = ( (frames_per_su * 4) + (framecount - save_frame) ) / 5;
    save_frame = framecount;

    -- On appel la routine de mise à jour cpu pour tous les addons
    UpdateAddOnCPUUsage();
    
    -- il faudrait faire une boucle ici pour tous les addons, je le fais sur un seul addon.
    -- On mesure le CPU durant l'interval de temps CPU_per_su
    currentcpu = GetAddOnCPUUsage("RDX") / 1000; 
    cpu_per_su = ((cpu_per_su * 4) + (currentcpu - save_cpu) ) / 5; 
    save_cpu = currentcpu;
    
    -- on mesure le temps par frame
    timePerFrameAddon = cpu_per_su / frames_per_su;
    
    -- on mesure notre fpsi pour notre addon enfin
    fr = GetFramerate();
    nfr = (1/fr) - timePerFrameAddon;
    if nfr > 0.00001 then fpsi = 1/nfr - fr; end
    
    print("fpsi RDX : " .. fpsi);
end
suf:SetScript("OnUpdate", SummaryUpdate);
Sigg
ça à l'air intéressant mais niveau cpu ça à l'air de demander pas mal de boulot en + pour le calculer pour chaque addons toutes les secondes par exemple ^^
Merci en tout cas sympa de ta part de partager, dès que j'ai le temps je vais faire des tests voir comment implémenter ça.
Je ne sait pas pourquoi, mais certain add-ons n'utilisent toujours par le menu de config de Blizzard, j'en ai de moins en moins mais certain font de la résistance comme parrot, big wigs ou pitbull.

J'essaye de remplacer ceux qui n'y sont pas accessible mais ce n'est par toujours évident de trouver mieux.

Pourtant c'est pratique de centraliser la liste des add-ons pour accéder à leur config rapidement.
Citation :
Publié par Meneldor
Je ne sait pas pourquoi, mais certain add-ons n'utilisent toujours par le menu de config de Blizzard, j'en ai de moins en moins mais certain font de la résistance comme parrot, big wigs ou pitbull.

J'essaye de remplacer ceux qui n'y sont pas accessible mais ce n'est par toujours évident de trouver mieux.

Pourtant c'est pratique de centraliser la liste des add-ons pour accéder à leur config rapidement.
Change pas d'addon juste pour ça ça rime à rien, ils sont souvent dans un autre panneau soit /ace3 ou /rock, enfin bon si j'avais pitbull et/ou Parrot je chercherais direct une alternative vu que je sais qu'ils sont loin d'être léger ces mods et ckknight rime + avec très lourd qu'utile de nos jours
Salut Mera,

Comment on active toutes les colonnes d'informations ?
Je dois être un peu boulet, mais je n'ai que la colonne de la mémoire, même en cochant CPU profiling.
Citation :
Publié par Kob
Salut Mera,

Comment on active toutes les colonnes d'informations ?
Je dois être un peu boulet, mais je n'ai que la colonne de la mémoire, même en cochant CPU profiling.
c'est /cpu prof, tu as toutes les commandes possible avec juste /cpu, sinon ça m'étonnes beaucoup que tu n'ai pas la colonne de cpu si cpu profiling est coché car s'il est coché ça veux dire que scriptProfile est sur 1 donc le profiling au niveau du client est pour sûr actif et le code devrait le detecter, pas eu de report de bug sur ça mais je peux voir à quoi cause ceci, t'as une screen ou pourrais-tu me montrer CPU profiling coché dans DewdropLib avec la tooltip visible en même temps genre en la détachant car j'aimerais le voir pour le croire ^^
ouf! tu m'as fait peur salaud

C'est simple tu n'as pas LibQTip d'installé (ou tu l'as peut-être mais tu as décoché l'option qui s'appelle LibQTip) là tu utilises la GameTooltip du client pas défaut, GameTooltip est trop basique donc il te faut LibQTip pour une tooltip qui roxe du poney

Tu l'installes exactement comme un addon et BrokerCPU ce chargera de le trouver et l'utiliser (les liens des divers lib supportés sont tous sur la page de mon mod sur wowinterface)

J'ai même ajouté une option pour ne pas utiliser LibQTip même si la lib est détecté donc tu peux changer de méthode à ta guise sans avoir a décharger une lib complètement.
J'ai pris l'habitude d'installer mes addons avec les biblio intégrées, j'en avais marre d'avoir un tas de dossiers de biblio sans savoir si elles servaient ou non.

Du coup je pensais que ça allait faire pareil.

Effectivement, avec la LibQTip.

Par contre, je trouve qu'il manque la signification des colonnes en haut de la fenêtre, à part celle de la mémoire, je ne vois pas à quoi elles correspondent.
C'est simple en gros tu vois bien le cpu et la mem et à leur droite c'est leur "speed", plus le "speed" est grand et plus ça consomme de cpu ou mem. C'est pas vraiment une valeur unitaire comme la seconde ou l'octet mais plus une valeur qui te donne une vitesse comme dans une voiture tu peux voir les km parcouru et ta vitesse actuelle
Et la première colonne du CPU, ca correspond à la durée totale pendant laquelle l'addon a utilisé le CPU depuis le dernier reloadui ?
Citation :
Publié par Kob
Et la première colonne du CPU, ca correspond à la durée totale pendant laquelle l'addon a utilisé le CPU depuis le dernier reloadui ?
Tout à fait, c'est le temps global de travail de toutes les fonctions de l'addon, (à noter que si l'addon héberge des libs, l'usage des libs sera passé à l'addon donc les taux de cpu et mem sont faussés sur les systèmes qui n'ont pas les libs en externe genre si j'avais inclus LibQTip directement dans Broker_CPU, l'usage de LibQTip se serait "ajouté" à Broker_CPU, et donc Broker_CPU paraitrait beaucoup plus lourd en cpu alors que c'est LibQTip qui bosse plus niveau cpu. Pour contourner ça il faut installer les libs en externes comme un addon et les enlever de tous les addons les hebergeant.)
Sur les quatre informations indiquées directement par le broker (sans passer le curseur dessus) impossible de savoir à quoi correspond la première.
Les suivantes concernent la mémoire utilisée, le fps et la latence mais pour la première je cale.
Bref je me suis dit que j'allais profiter de la présence de l'auteur sur ces forums pour me cultiver.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés