begin process at 2012 05 29 23:18:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

Lenteur selon processeur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Lenteur selon processeur

lundi 4 septembre 2006 à 11:13:53 | Lenteur selon processeur

Mastersam


Bonjour à tous je développe actuellement un jeu en OpenGL et C, tout ceci marchait bien sur différents PC jusqu'à ce que j'effectue plusieurs changements majeurs dans le code. Au fur et à mesure des test sur le PC de développement (P4 2,8GHz Geforce 440 GO) tout semble s'améliorer, j'ai un gain de FPS et le chargement du jeu est plus rapide même si j'ai rajouté des choses (fichier log, chargement de lumières et caméras à partir d'un fichier ASE...). Le problème est le suivant, tout fier de mes nouvelles optimisation, je vais tester le jeu sur un PC ancien sur lequel celà fonctionnait auparavant, et là il me faut 3minutes de chargement (contre 1s sur le PC de développement) et il m'est impossible de jouer car j'ai une image toutes les 3 à 4 secondes, alors que pour le même jeu lors du test précedant ce vieux coucou tournait qd même à 30-40 fps. Les données du problème sont :
- Je ne sais pas à partir de quel changement ça a commencé à ralentir sur certains PC, je serais incapable de revenir pas à pas en arrière, le travail est d'ampleur trop importante.
- Le PC ancien est un HP Celeron 733Mhz avec carte graphique HP et 128 de RAM mais ce n'est pas un cas isolé, sur un Dell P3 1Ghz CG ATI 32MO et 512 de RAM j'ai le même ralentissement.
- Le ralentissement est global, même aux endroits du jeu ou je n'est RIEN changé de significatif. Mes modifications se situent en grande partie au chargement du jeu.

J'ai pensé que le programme consommait trop de mémoire, mais j'ai la même quantité de RAM sur mon PC de développement (512).
Alors je pencherais sur du code qui ne convient pas bien aux anciennes générations de processeurs.
Ma question est donc la suivante : Y'a-til des choses à éviter en langage C qui sont incompatible avec les anciens processeurs ?

Merci d'avance.




[url="http://www.rc-bot.com"][img]http://www.rc-bot.com/bannieres/banniere468x60.jpg[/img][/url]
lundi 4 septembre 2006 à 12:31:50 | Re : Lenteur selon processeur

threadom

Salut, peut tu expliqué un petit peu plus les modifications apporté ?

Par exemple tu parle de fichier log ... a quel moment l'ecriture intervient ? a tu vérifié que tu aurais pas laissé a tout hazard l'ecriture d'une ligne en debut de la procedure repaint ? ... c'est juste une idée

Tu parle de lumière .... est ce qu'a un moment ou tu n'en utlise aucune (je ne parle pas de l'influence mais vraiment de l'utlisation) tu as aussi les ralentissements ?

Sur ton pc de developpement tu as essayé la version compilé je pense, et ca marche vraiment sans problème ...

Pour les caméra des fichiers ASE désolé :( (je me suis toujours servit d'un seul point de vu)
lundi 4 septembre 2006 à 13:35:58 | Re : Lenteur selon processeur

Mastersam

Pour ce qui est des modifications, c'est au chargement du jeu, je lit maintenant un fichier .ASE contenant des coordonnées de lumière, et de caméras, je stock ceux-ci dans des structures dont j'alloue dynamiquement l'emplacement mémoire (malloc au début puis realloc) au fur et à mesure des "découvertes" que je fais dans le fichier ASE. Je n'ai pas changé pour l'instant le chargement des modèle 3D, c'est toujours du OBJ et ça fonctionne depuis le début.
J'avais le même nombre de lumière avant les modifs (2) et j'ai juste modifié la fonction qui replace ces lumières au bon endroit à chaque frame:

void S3DSetLightsPos(void){
    int i,GLLIGHT[8];
    GLLIGHT[0]=GL_LIGHT0;
    GLLIGHT[1]=GL_LIGHT1;
    GLLIGHT[2]=GL_LIGHT2;
    GLLIGHT[3]=GL_LIGHT3;
    GLLIGHT[4]=GL_LIGHT4;
    GLLIGHT[5]=GL_LIGHT5;
    GLLIGHT[6]=GL_LIGHT6;
    GLLIGHT[7]=GL_LIGHT7;
    for(i=0;i<nblights;i++){
        glLightfv(GLLIGHT[i], GL_SPOT_DIRECTION,light[i].dir); 
        glLightfv(GLLIGHT[i], GL_POSITION,light[i].pos);
    }
}

Je pense pas qu'une fonction de ce type puisse ralentir le jeu d'autant qu'elle existait avant avec des paramètres codés en dur pour light[i].dir et light[i].pos.

J'ai bien vérifé que mon fichier log n'est pas écrit à chaque repaint ni a aucun endroit où il ne doit pas.

Pour l'affichage du chargement je n'ai pas encore de lumière d'activée et il y a encore ce ralentissement.

Pour les tests j'utilise toujours les dernières versions que je viens de compiler, et ça fonctionne sans problème sur mon PC de développement ainsi que sur tous les PC récents (fixe ou portable) le problème survient uniquement sur les anciens pros (P3 Celeron ...) indépendemment de la quantité de RAM.

S'il faut encore des détails n'hésite pas, j'en ai volontairement pas donné bcp au début car je voulais d'abord m'assurer qu'il n'y avait pas de mise en garde connues sur les anciens pross.



[url="http://www.rc-bot.com"][img]http://www.rc-bot.com/bannieres/banniere468x60.jpg[/img][/url]

lundi 4 septembre 2006 à 23:19:45 | Re : Lenteur selon processeur

Mastersam

J'ai encore cherché dans la journée je ne comprends pas. Je ne sais pas trop de quel coté chercher.

[url="http://www.rc-bot.com"][img]http://www.rc-bot.com/bannieres/banniere468x60.jpg[/img][/url]


Cette discussion est classée dans : pc, ram, chargement, jeu, développement


Répondre à ce message

Sujets en rapport avec ce message

calculer la RAM de mon PC [ par sena ] Je voudrais savoir si quelqu'un sait comment rércupérer la quantité de mémoire vive installée sur mon PC. Je n'ai rien trouvé là dessus, et je suis un jeu PC MORIA(TM) 1987 [ par manap ] comment fait on pour modifier le code source d'un jeu?(très vieux mais très prenant... je n'ai jamais gagné!!!!) ce jeu tourne sous MS DOS le code s chargement PC et windows 7 (vista également) [ par es78phazz ] Bonjour, je souhaiterais avoir une image pleine écran qui s'afficherais sur un pc et qui cacherais le démarrage bios et compagnie ainsi que les procé aide classe AS3 [ par dmanal ] Bonjour, je suis débutante en flash j'ai un problème si quelqu'un peut m'aider j'ai programé un jeu de course d'une voiture en AS3 et je ne sais pas [BAR]compteur jeu boggle [ par flower12 ] slt tt le monde; je voudrais savoir s'il y'a une fonction qui permet de compter une période bien précise au debut du jeu et l'arrête lorsque cette pé code source du jeu de moulin [ par curieuse9informatique ] salut est ce que vous pouvez l'aider j'ai besoin de faire un jeu de moulin en c,moi j'ai jamais codé un jeu.je voudrais un code qui a été déjas fait codes unix [ par faddou84 ] Bonjour, Je souhaite faire un réception et un transfert des fichiers (donnes) entre le serveur UNIX et un autre pc sous UNIX. je veux faire une conne programer un soccerfest(du jeu initiale hammerfest) [ par nigelk ] Bonjour j'ai 14 ans et avec un pote qui débute en langage C et qui apprend sur le site du zero comme je l'ai fait moi mme on aimerait savoir[^^confus2 liaison rs232 avec PIC 16F877A [ par aspire1640r ] Salut tout le monde Dans le cadre de mon projet de fin d'étude une partie du travail consiste à réaliser une liaison série rs232 entre une carte élect


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,117 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales