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

Limiter l'utilisation du cpu

Quintoff
Quintoff
Niveau 10
07 mars 2005 à 20:42:30

Bonjour/Bonsoir,

J´ai créer une premiere beta de mon mmorpg ( http://www.macmultimedia.be/mmorpg/ ) mais j´ai un pobleme, enfait mon programme utilise le cpu a 100%!!!! Ce qui par conséquence alourdit exagérement la machine sachant que le programme tournerais aussi bien avec un truc comme 20% ! !! C´est ici que je fait appel à vos lumières car je me demande si il est possible de " dire" à son programme de ne pas " s´acharner" sur le cpu :-)

Merci d´avance

ps : Je programme en java mais si vous savez commet en un autre programme vous pouvez quand meme me le dire ce sera des informations supplémentaires

Musashi001
Musashi001
Niveau 10
07 mars 2005 à 20:58:37

Je sais qu´on peut limiter le nombre de fps a un nombre bien précis, ce qui je suppose, doit alléger le cpu

Quintoff
Quintoff
Niveau 10
07 mars 2005 à 21:07:52

Meric,
Pour limiter le nombre de fps c´est quand tu utilise SDL, openGL, . .. que tu parle ou pour n´importe quel programme?

Parce que je n´utilise pas un de ces systeme spécials mais enfait l´animation se fait à l´aide de boucles for.

jejej
jejej
Niveau 9
07 mars 2005 à 21:17:11

tu n´utilises pas SDL ou opengl ? tu prends quoi pour dessiner ?

sinon , ben , tu pourrais utiliser une des fonctions pour compter le temps , y doit bien y en avoir pour le java

en c++ , il suffirait de demander quelle heure il est
et de demander un affichage mettons 10 ms plus tard , pour 10 FPS
puis d´incrementer le temps du prochaine affichage de 10 . ..

en java , y doit y avoir moyen je pense

mais , tu utilises quoi pour le graphisme ?

JeanYvesYves
JeanYvesYves
Niveau 10
07 mars 2005 à 21:20:40

Non ! ! ne limitez pas le nombre de FPS, c´est ridicule.
Si vous voulez synchronisez en vitesse, basez vous sur l´horloge.
Cependant, la n´est pas le probleme :
une API bien faite se base sur la synchronisation verticale quand elle flip, et en attendant que le canon aie fini son balayage, elle fait rescheduler, ce qui laisse le CPU respirer.

Musashi001
Musashi001
Niveau 10
07 mars 2005 à 21:22:52

A ce que j´avais vu c´étais spécifique celon SDL ou openGL..

En c++ pour SDL le code c´est ca il me semble:

  1. define SECONDES *1000

int main(void)
{
unsigned int last_time = SDL_GetTicks();

while(1)
{
/ / Réactualisation du programme toutes les 5 secondes
if ( SDL_GetTicks() > last_time + ( 5 SECONDES))
last_time = SDL_GetTicks();
}
}
lien originel: http://tastalian.free.fr/.fr/cours.php?part=SDL&index=7

Quintoff
Quintoff
Niveau 10
07 mars 2005 à 21:56:49

Merci, grace à vos réponse j´ai enfait demander de faire une pose en chaque affichage de 30 ms mais le c´est que maintenant l´utilisation du cup retombe jusqu´à 2% quand je déplace le personnage mais reste à 100% quand je ne bouge pas ! !!!

Je trouve ca très illogique mais c´est peut être dut au fait que quand on déplace le personnage il y a une boucle for en plus qui tourne et qui fait des poses ( boucle pour l´animation, 20 passages dans la boucle avec 25 ms de pose à chaque fois) cepandant elle s´exécute dans un thread différent donc ca ne devrait pas modifier le rafraichissement de l´écran.

Je pourrais ne pas rafraichir quand le perso ne bouge pas mais dans la version finale il y aura des monstres qui s´animeront continuellement et des autres perso qui bougeront beaucoup donc ce n´est pas une solution.

Auriez vous svp un solution pour ce prob? Merci d´avance.

Quintoff
Quintoff
Niveau 10
07 mars 2005 à 21:58:36

Oups erreur à le 2emme ligne de mon post :
" ..de 30 ms mais le problème c´est que.."

Musashi001
Musashi001
Niveau 10
07 mars 2005 à 22:07:52

Il suffit de mettre ta pause de 30ms dans ta boucle while ( ou autre) ou se déroule le jeu, comme ca a chaque fois que l´écran est rafraichi, la pause a lieu et le cpu n´est pas tiré par les cheveux

JeanYvesYves
JeanYvesYves
Niveau 10
07 mars 2005 à 22:08:14

la solution, c´est de ne pas faire de frame limit, mais de synchroniser la flip avec le balayage.

Quintoff
Quintoff
Niveau 10
07 mars 2005 à 22:09:14

musashi001=> c´est ce que je fait!!!

JYY => Comment on fait ca?

Quintoff
Quintoff
Niveau 10
07 mars 2005 à 22:29:34

Woooo! Ce topic dessant trop vite à mon gout :) ( variant de " up" pour etre original :-) )

Ruffi
Ruffi
Niveau 9
07 mars 2005 à 22:52:47

J´ai trouvé sa sur le site de Cun, sa devrai t´interesser : http://forum.java.sun.com/thread.jspa?threadID=517565&start=0

( à charge de revanche, car je doit faire un jeu en applet java, et je risque d´avoir besoin de tes conseils :) )

Ruffi
Ruffi
Niveau 9
07 mars 2005 à 22:54:06

Sun pas Cun ! !!
j´ai envi de me donner des baffes par moments ( ainsi qu´a ce forum qui ne permet pas d´editer ses messages)

Quintoff
Quintoff
Niveau 10
07 mars 2005 à 23:11:48

Lol merci quand tu as besoin d´aide tracasse je t´aiderais en plus je commence à bien maistrisser l´affichage et l´animation en java.

Nesca
Nesca
Niveau 5
08 mars 2005 à 10:12:40

Je suis vaguement d´accord avec JYY au message duquel je me dois cependant d´apporter quelques précisions.

Non ! ! ne limitez pas le nombre de FPS, c´est ridicule.

Sauf quand on a des animations basées sur un nombre de trames, toutes similaires, développées pour un support donné.

Si vous voulez synchronisez en vitesse, basez vous sur l´horloge.

Ca me semble le plus malin.

une API bien faite se base sur la synchronisation verticale quand elle flip,
et en attendant que le canon aie fini son balayage, elle fait rescheduler,
ce qui laisse le CPU respirer.

Sauf encore une fois si on a un jeu aux animations basées sur un nombre de frames, principe très courant pour tout ce qui se passe au pixel près, typiquement dans un jeu 2D, et que l´on ne maitrise par contre pas la fréquence de rafraichissement de l´écran.

Et viendez un peu chattay, vous verrez, http://www.cdj-chat.fr.st/ est votre ami !

killermind
killermind
Niveau 6
08 mars 2005 à 10:22:16

Utilise donc directx ou opengl ou sdl,
ca utilisera + le processeur de ta carte graphique et moins le cpu de ton pc

killermind
killermind
Niveau 6
08 mars 2005 à 10:23:03

Tu l´as pas mis en téléchargement sur le site.

Quintoff
Quintoff
Niveau 10
08 mars 2005 à 11:09:54

Merci bon j´ai toujours le problème de l´utilisation du cpu ( kand le bonhomme ne bouge pas) mais je vais kand meme mettre la beta sur le site dans la partie programmation d´ici quelques instants.

J´ai abordé uniquement la partie programmation donc les graphismes sont provisoires ( ils viennnent de RPG Maker xp).

http://www.macmultimedia.be/mmorpg/prog.htm ( bientot dispo d´ici quelques minutes)

Quintoff
Quintoff
Niveau 10
08 mars 2005 à 11:20:47

Voila c´est fait :)

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