begin process at 2012 05 30 04:08:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Linux

 > 

OpenGL

 > 

mauvaise utilisation hardware?


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

mauvaise utilisation hardware?

vendredi 16 février 2007 à 14:19:29 | mauvaise utilisation hardware?

mantrax

Bonjour, voila je suis confronté à un probleme très ennuyeux...
Je souhaite réaliser une interface opengl, et petit à petit ca avance, mais lorsque j'affiche un certain nombre d'objets (des cubes..), la carte graphique emet un bruit strident. Elle n'a pas de ventilateurs... il semblerait que ce soit une vibration du gpu. Enfin, je ne sais pas, je n'y comprend bien évidement rien, si ce n'est qu'elle va casser si je continue.
La question que je pose, c'est tout simplement... pourquoi ? :p

voici le code qui pose probleme, il suffit de changer le nom de l'objet dessiné ou le nombre d'itération pour obtenir des variations de tonalité dans le bruit

Routine d'affichage(){
...
for (int i=0;i<320;i++) {for(int j=0;j<200;j++) DrawQuad(i,j,0);}           <-------
...}

void DrawQuad(GLint x, GLint y, GLint z)
{
    glColor4d(1.0,0.2,0.7,0.8);     //bleu devant
    glBegin(GL_QUADS);
         glVertex3i(x+MATRIX_SIZE,y+MATRIX_SIZE,z+MATRIX_SIZE);
         glVertex3i(x+MATRIX_SIZE,y,z+MATRIX_SIZE);
         glVertex3i(x,y,z+MATRIX_SIZE);
         glVertex3i(x,y+MATRIX_SIZE,z+MATRIX_SIZE);
    glEnd();
}

Bon, j'espere que j'ai été suffisament précis. Il y a t-il une "mauvaise utilisation" possible de la machine opengl, pouvant mettre en péril le matériel ? Pourtant tous les codes sources que j'ai pu voir jusqu'a présent utilise la même architecture que mon programme.
Merci de votre attention.
vendredi 16 février 2007 à 14:30:42 | Re : mauvaise utilisation hardware?

laurent1024

Membre Club
Pour ta carte graphique qui chante je crois que l'on ne peut pas grand chose a part te présenter a l'avance nos condoléances. Pour alleger ton code tu peus mette dans un display list ton code draw quads (en supprimmant les x , y et z)  pour avoir un obj graphique unique. Apres c'est avec des translations que tu le positionne dans ton espace.
++
vendredi 16 février 2007 à 14:42:42 | Re : mauvaise utilisation hardware?

pepsidrinker

Réponse acceptée !
C'est pas openGL, c'est ton hardware..
J'ai eu le meme probleme...
Mon laptop a crasher quelque jour apres...
laurent1024 a raison...mes condoléances d'avance...

Pepsidrinker
vendredi 16 février 2007 à 17:23:10 | Re : mauvaise utilisation hardware?

mantrax

ok merci..
enfin, je trouve ca curieux quand même, pourquoi ferait-elle du bruit uniquement sur mes applis, et pas dans les jeux?

@laurent: je voulais présenter un code compréhensible par tous, de plus désolé mais j'ai pas trouvé plus leger. Utiliser des translation m'oblige à creer une donnée, rajoute des lignes de code, et est beaucoup moins performant.

int entrop = 0;
push
    for (int i=0;i<320;i++)
        {glTranslated(MATRIX_SIZE,0,0);
        entrop = 0;
            for(int j=0;j<200;j++)
                {
                    glTranslated(0,MATRIX_SIZE,0);
                    glCallList(id_quad);
                    entrop++;
                }
                glTranslated(0,-MATRIX_SIZE*entrop,0);
        }
pop

j'ai essayer d'une autre facon, sans la variable entrop et avec plus de push/pop. Je ne sais ce qui est mieux mais de toute facon ce n'est pas satisfaisant.
je prefere :
//    push
//    for (int i=0;i<320;i++) {for(int j=0;j<200;j++)
           DrawQuad(i*MATRIX_SIZE,j*MATRIX_SIZE,0);}
//    pop


vendredi 16 février 2007 à 18:20:23 | Re : mauvaise utilisation hardware?

laurent1024

Membre Club
Je t'ai repondu un peu vite tout a l'heure. tu peut faire des display liste avec tout tes cubes vu que a priori ca change pas d'un afichage a l'autre. Le display list c'est meixux a priori ca r ca te met les infos dans la carte graphique
++
dimanche 18 février 2007 à 13:10:54 | Re : mauvaise utilisation hardware?

mantrax

Euh, oui, désolé je ne voyais pas où tu voulais en venir exactement. J'ai donc mis tout l'affichage en list, c'est effectivement plus leger dans la fonction d'affichage, et la perte de performance plus limitée.
Il y a néanmoins perte, ce qui me surprend, les listes étant sensée etre plus rapide à ce que j'ai compris.
Le projet consiste en un "écran", une surface d'affichage sur laquelle je pose pixels ou cubes, donc il devra etre dynamique. Ma premiere tache est de lui faire afficher les logs d'erreur ;)
Ma carte est effectivement en train de rendre l'âme, ca fait deux du meme modele (saphir radeon 9600) car il est arrivé la même chose à un ami. Peut-etre des fabriquants à éviter...


Cette discussion est classée dans : utilisation, matrix, size, mauvaise, glvertex3i


Répondre à ce message

Sujets en rapport avec ce message

Traduction C [ par etudtelec ] Salut tous le monde, Je ne développe pas avec le langage C, je fais comme étude Réseaux Mais je viens devant une situation de réseaux et veux comprend Comment peut on utiliser? [ par djibidl ] Bonsoir, Je suis un débutant en C et disons que c'est un langage qui me passionne et j'aimerai savoir certaines choses le concernant: 1_) Est ce qu'on objet persistant [ par dalimrabet ] [b][i][size=100]salut tout le monde :) je suis débutant dans le domaine de programmation , et il nous a été demandé dans la classe de créer des objets algorithme de huffman( compression) [ par flamme19 ] sa[size=200]lut, je cherche un programme en c++ qui fait la compression, puis la décompression d'un texte donné en utilisant l'algorithme de huffman.. mauvaise qualite d'image OPENGL [ par oswa ] Bonjour, je suis entrain de réaliser un programmme en C++ sous windows qui utilise OPENGL, ce programme permet de dessiner de piéces mécamique à par Aidez moi svp [ par debutante01 ] bonjour,j'ai un tp à faire en langage C mé je suis debutante dans cet domaine donc pouvez vs m'aidé svp voici l'enoncé de tp: soit un fichier binaire Utilisation de Cygwin [ par Defranco ] Bonjour, j'ai installé cygwin sur ma machine et j'aimerai utiliser nano, l'éditeur de texte. Je tape: bireme~$nano premiertexte et malheureusement l'é CreateThread template [ par Pistol_Pete ] Bonjour à tous, Je cherche à multithreader une fonction template. L'exemple qui suit est un petit exemple de ce que je souhaite faire. J'obtiens l'


Nos sponsors


Sondage...

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 : 4,399 sec (4)

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