CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[FMOD] FSOUND_GetCPUUsage

Koyo-K
Koyo-K
Niveau 9
10 août 2004 à 00:33:10

Re j´arrive pas a implementer cette fonction qui comme elle l´indique retourne le taux d´utilisation du process par le prog.
Moi j´avais fait comme ça :

do
{
cout < < FSOUND_GetCPUUsage();
}while(FSOUND_Stream_Play);

mais ca affiche des chiffres a toute allure et, le plus genant, les uns a la suite des autres. Comment faire pour qu´il y ait qu´un chiffre qui change de valeur en temps reel ?

dnob700
dnob700
Niveau 10
10 août 2004 à 01:06:17

il faudrait effecer l´écran ( mais je ne sais pas quel fonction utiliser même si je suppose qu´elle doit exister)

sinon, tu fait une boucle pour le ralentir ( tu l´actulalise qu´une fois par seconde par exemple).

pour le retour à la ligne, tu fait < < endl; à la fin de la ligne du cout.

dnob700
dnob700
Niveau 10
10 août 2004 à 01:14:58

après enquète, pour affacer l´écran et comme ça, juste après tu réécrit, ça sera clignotant super moche, mais bon ( le mieux c´est de quand même faire une boucle pour patientez entre chaque appel)

tu inclue :

  1. include < stdlib.h>

et tu fait :
system("CLS"); / /pour effacer l´écran.

Koyo-K
Koyo-K
Niveau 9
10 août 2004 à 01:40:21

Effacer l´ecran a chaque actualisation ? Sauf qu´apres le prog, deja qu´il ressemblait pas a grand chose ( mode texte), sera completement vide mis a part le CPU.
Pendant que la zique joue un message indique que le morceau est en train de jouer... il faut bien qque chose pour pas avoir une fenetre vide :)

Koyo-K
Koyo-K
Niveau 9
10 août 2004 à 01:41:11

En plus je te raconte pas la vitesse d´actualisation... ca ferait planter le prog a cette vitesse !

Yoda_Software
Yoda_Software
Niveau 30
10 août 2004 à 03:55:16

Je ne connais pas le nom de la fonction à utiliser en C, mais en général, ça s´appelle quelque chose comme GoToXY(). Elle permet de positionner le curseur à un endroit défini de l´écran, ce qui fait que tu affiche chaque nouvelle valeur par dessus l´ancienne. Sans avoir besoin d´effacer tout l´écran.

Koyo-K
Koyo-K
Niveau 9
10 août 2004 à 04:09:51

Ca c´est dans conio et ca compile pas chez moi avec Dev-C++.

Yoda_Software
Yoda_Software
Niveau 30
10 août 2004 à 05:08:23

En C, je ne sais pas, puisque mes connaissances en C, se limitent à du C ANSI et ça date d´il y´a 10 ans. Mais à l´époque ou je développais en Turbo Pascal, j´en avais marre de toujours chercher quelle était la biliothèque nécessaire, et j´ai donc refait mes bibliothèques avec de l´assembleur dans le code Pascal pour exploiter les interruptions Bios, Dos, . ..
Dont la fonction GotoXY().

Par contre, parcoure un peu le forum, parce qu´il me semble avoir lu il n´y a pas très longtemps un topic de quelqu´un qui n´arrivait pas à compiler avec conio et quelqu´un lui a donné une solution qui apparemment à fonctionnée.

dnob700
dnob700
Niveau 10
10 août 2004 à 10:18:38

bah,je croyais que tu voula voir un nombre changé de valeur.
Si tu veux remplir l´écran...
tu fait :

  1. include < time.h>

time_t tmp;

. ..
. ..
. ..

do
{
cout < < FSOUND_GetCPUUsage() < < endl;
tmp = time ( NULL);
while ( time(NULL)<(tmp)+1); / /je sais pas si le ; marche, essaye {} sinon
}while(FSOUND_Stream_Play);

Chaos_Clad
Chaos_Clad
Niveau 10
10 août 2004 à 10:59:29

En C++ ( si c´est de ça qu´on parle), tu peux utiliser POS(z, s) pour positionner le curseur à z lignes, s colonnes.

  1. define POS(z,s) printf("\033[%d;%dH, z , s)
Koyo-K
Koyo-K
Niveau 9
10 août 2004 à 12:30:08

dnob700 > si si c´est bien changer de valeur que je veux mais ce que j´essayais d´expliquer c´est que reseter l´ecran a chaque fois c´est pas mieux que quand l´ecran se rempli ? ( enfin je sais pas trop je suis qu´un noob)

Koyo-K
Koyo-K
Niveau 9
10 août 2004 à 12:33:21

yoda_software > effectivement il y a bien une personne qui a eu le probleme semblable mais il n´y a pas de conio.c .

dnob700
dnob700
Niveau 10
10 août 2004 à 12:34:18

Mais ce que je comprend pas, c´est comment tu veux d´une part changer la valeur et d´autre part, remplir l´écran.

Tu veux, que les chiffre se mette à la suite les un des autres ( ou avec des retour à la ligne) ou tu veux qu´il se mette les uns SUR les autre s´effacant mutuellement ?

Chaos_Clad
Chaos_Clad
Niveau 10
10 août 2004 à 12:52:50

do
{
POS(z,s);
cout < < FSOUND_GetCPUUsage();
for(int i = 0; i < 10000; i++)
{
}
system(´CLS´);
}while(FSOUND_Stream_Play);

devrait marcher non ? ( notez que je sais pas ce que c´est que FSOUND_GetCPUUsage() ^^)

Koyo-K
Koyo-K
Niveau 9
10 août 2004 à 13:48:12

Oui c´est les uns sur les autres mais je veux pas d´instruction qui efface TOUT l´ecran, juste le coin d´affichage des chiffres.

Chaos_Clad Il faut que j´inclue quel header ? Il y a des erreurs partout. C´est pas conio.h quand meme ? Parce que je peux plus l´utiliser ( JYY dis qu´elle est pas geree).

Chaos_Clad
Chaos_Clad
Niveau 10
10 août 2004 à 14:07:50

Normalement tu dois inclure < stdlib.h> pour system("CLS") comme l´a dit dnob et définir POS par :

  1. define POS(z,s) printf("\033[%d;%dH, z , s)

Et pour une insctruction qui n´efface que l´a partie des chiffres, POS sert justement à replacer le curseur là où tu as déjà écrit, donc à effacer le chiffre précédent. Du coup tu peux virer system("CLS") en fait, ce qui devrait donner :

do
{
POS(z,s);
cout < < FSOUND_GetCPUUsage();
for(int i = 0; i < 10000; i++)
{
}
}while(FSOUND_Stream_Play);

Quelles sont les erreurs signalées par ton compileur ?

Chaos_Clad
Chaos_Clad
Niveau 10
10 août 2004 à 14:10:33

J´oubliais qu´il faut ajouter < stdio.h> pour printf.

Chaos_Clad
Chaos_Clad
Niveau 10
10 août 2004 à 14:12:34

Euh j´ai une question. \033[ utilisé pour définir POS est une séquence d´échappement ANSI, est-ce que ça change qqch ? :s

Koyo-K
Koyo-K
Niveau 9
10 août 2004 à 15:03:46

Les erreurs qu´il met avec ce nouveau bout de code :
´z´ : undeclared identifier
´s´ : undeclared identifier
´POS´: identifier not found
´´CLS´´ : undeclared identifier

J´ai inclus stdio.h
EN ce qui concerne \033 ( au fait c´est quoi une sequence d´echapement ? )... " I´m just a kid"

Chaos_Clad
Chaos_Clad
Niveau 10
10 août 2004 à 15:37:27

Ben d´après ce que je sais c´est un truc à charger avec le DOS :/

Sinon la solution consisterait à faire reculer le curseur d´un ou plusieurs crans, mais je ne sais plus comment faire, je vais chercher.

I´m just a kid too ^_^

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment