Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lentement mais sûrement

A l'aide !

    28 mai 2006 à 20:13:08

    Bonjour à tous, j'ai fait un petit programme en C, il marche assez bien, mais le problème, c'est qu'il demande beaucoups de calculs à l'ordinnateur et ce dernier se trouve assez vite submerger, malgrés ses 2Ghz...
    Je voulais savoir si un "sleep()" serait une bonne solution pour permettre à l'ordinnateur de se "reposer un peu", pour qu'il aille plus lentement mais sûrement quoi... :p
    Sinon y a-t-il une petite fonction qui permettrait de 'demander' d'essayer d'aller un peu moins vite à l'ordinnateur car dans mon programme, je n'ai pas besoin qu'il aille aussi vite !
    J'éspère que vous comprenez ce que je veux dire...
    Merci d'avance ;)
    • Partager sur Facebook
    • Partager sur Twitter
      28 mai 2006 à 20:33:31

      Regarde ce que dit m@teo dans son chapitre sur la gestion du temps avec SDL. Bah c'est la même chose quand on est en mode console. Donc, si tu veut que ton programme ralentisse, tu peut lui demander de faire une petite pause avec Sleep(), comme tu l'as suggéré.

      Bon courage !
      • Partager sur Facebook
      • Partager sur Twitter
        28 mai 2006 à 20:36:26

        Ok merci beaucoup, c'est ce que je vais faire ^^
        D'après toi, 10 milisecondes, c'est suffisant, ou est-ce-qu'il faut le laisser plus longtemps pour que se soit vraiment efficace ?
        • Partager sur Facebook
        • Partager sur Twitter
          28 mai 2006 à 21:14:28

          Extrait d'un de mes programmes :

              // Faudra changer ça...
              const double dMaxFrames=50.0;

              // ...

              for(;;)
              {
                  // ...

                  // Limite de FPS, pour éviter de prendre plus de CPU que nécessaire
                  double wait = dLastFrame+(1.0/dMaxFrames) - Timer();
                  if(wait>0.0)
                      SDL_Delay((unsigned int)(wait*1000.0));
              }
          • Partager sur Facebook
          • Partager sur Twitter
            28 mai 2006 à 22:57:18

            Citation : <!--nico-->

            Regarde ce que dit m@teo dans son chapitre sur la gestion du temps avec SDL. Bah c'est la même chose quand on est en mode console. Donc, si tu veut que ton programme ralentisse, tu peut lui demander de faire une petite pause avec Sleep(), comme tu l'as suggéré.

            Bon courage !


            On va pas aller chercher la SDL, alors qu'il y a des fonctions systèmes qui font le travail...

            Windows : Sleep(millisec)
            Linux : sleep(sec), usleep(microsec), nanosleep(nanosec)

            J'ai fait un petit 'wrapper' (msleep(millisec)) portable :
            http://mapage.noos.fr/emdel/clib/psleep/inc/psleep.h
            • Partager sur Facebook
            • Partager sur Twitter
            Music only !
              29 mai 2006 à 20:36:38

              Nan il s'agit d'un programme en fenêtre mais je n'en suis qu'à la gestion des évenements, donc je n'avais pas vu que mateo en parlais plus loin dans ses cours...
              Merci à tous et désolé pour le dérengement...
              • Partager sur Facebook
              • Partager sur Twitter
                29 mai 2006 à 21:09:54

                @ -ed- : J'ai pas dit qu'il doive aller chercher les fonctions de SDL, j'ai dit qu'il doit s'en inspirer pour limiter les "temps de rafraichissements" de son programme. Nuance ! J'ai d'ailleurs dit d'utiliser la fonciton Sleep() donc voila quoi.

                Sinon, pour le temps à attendre, j'en sais rien, fait des essais ^^
                • Partager sur Facebook
                • Partager sur Twitter

                Lentement mais sûrement

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown