Performance - OpenGL

Diskutiere mit über: Performance - OpenGL im Mac OS X Entwickler, Programmierer Forum

  1. H.Stony

    H.Stony Thread Starter MacUser Mitglied

    Beiträge:
    552
    Zustimmungen:
    0
    Registriert seit:
    27.03.2004
    Code:
    #ifdef _WIN32
    	#include <windows.h>
    	#include <gl\gl.h>
    	#include <gl\glut.h>
    #endif
    
    #ifndef _WIN32
    	#include <glut/glut.h>
    #endif
    
    #include <stdlib.h>
    #include <iostream.h>
    
    void init(void) 
    {
       glClearColor (0.0, 0.0, 0.0, 0.0);
       glShadeModel (GL_SMOOTH);
       glEnable(GL_LIGHTING);
       glEnable(GL_LIGHT0);
       glEnable(GL_DEPTH_TEST);						
       glDepthFunc(GL_LEQUAL);	
    }
    
    GLfloat spin=0.0;
    
    void display(void)
    {
       glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);	
       glColor3f (1.0, 1.0, 1.0);
       glLoadIdentity ();             /* clear the matrix */
               /* viewing transformation  */
       gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
       glScalef (1.0, 2.0, 1.0);      /* modeling transformation */ 
       spin+=0.2;
       if(spin>=360) spin=0;
       glRotatef(spin,1.0,1.0,1.0);
       glutSolidCube (1.0);
       glFlush();
       glutSwapBuffers();
    }
    
    void reshape (int w, int h)
    {
       glViewport (0, 0, (GLsizei) w, (GLsizei) h); 
       glMatrixMode (GL_PROJECTION);
       glLoadIdentity ();
       glFrustum (-1.0, 1.0, -1.0, 1.0, 1.5, 20.0);
       glMatrixMode (GL_MODELVIEW);
    }
    
    void keyboard(unsigned char key, int x, int y)
    {
       switch (key) {
          case 27:
             exit(0);
             break;
       }
    }
    
    void animation(void)
    {
       glutPostRedisplay();
    }
    
    int main(int argc, char** argv)
    {
       glutInit(&argc, argv);
       glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);	
       glutInitWindowSize (500, 500); 
       glutInitWindowPosition (100, 100);
       glutCreateWindow (argv[0]);
       init();
       glutDisplayFunc(display); 
       glutReshapeFunc(reshape);
       glutIdleFunc(animation);
       glutKeyboardFunc(keyboard);
       glutMainLoop();
       return 0;
    }
    
    dieser code ist aus einem tutorial aus meinem opengl buchh (ein bisschen modifiziert) die animatin läuft auf mac gewaltig gut...jedoch auch windows total langsam... obwohl der pc um einiges schneller ist...kapier das einfach nicht.....falls jemand einen fehler sieht bitte melden...

    PS.: auf mac opengl entwickleln -> unmöglich weil da funktioniert immer alles sofort ;-)
     
  2. Maulwurfn

    Maulwurfn MacUser Mitglied

    Beiträge:
    12.855
    Zustimmungen:
    484
    Registriert seit:
    06.06.2004
    kann man das irgendwo mal testen? würde mir das gerne mal anschauen!

    was stellt denn das dar? welche grafikkarten haben die beiden rechner?

    gruß
    mick
     
  3. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.774
    Zustimmungen:
    3.629
    Registriert seit:
    23.11.2004
    auf den mac wird der opengl kram mit hilfe der grafikkarte hardware beschleunigt. welches opengl hast du denn da auf windows? wird das auch von der grafikkarte unterstützt? (du könntest jetzt natürlich auch behaupten M$ macht opengl absichtlich langsam auf windows, damit die leute directx benutzen ;))
     
  4. Lace

    Lace MacUser Mitglied

    Beiträge:
    1.571
    Zustimmungen:
    11
    Registriert seit:
    05.06.2003
    Aus welchem Buch stammt denn der Sourcecode ?
     
  5. H.Stony

    H.Stony Thread Starter MacUser Mitglied

    Beiträge:
    552
    Zustimmungen:
    0
    Registriert seit:
    27.03.2004
    opengl programming guide...ich hab das mit der animation aber selber hinzugefügt....ok ein bisschen unsauber...aber das kann nicht das problem sein
    hardware problem schließe ich aus! pc geforce 4TI mac: ibook G3
    PC schafft ca. 100 fps wobei ibook 800 macht oder so!! prozessor ist am win zu 7% ausgelastet....eher ein treiberproblem oder eben ein problem in meinem code...ich glaub die glu funktion schränkt so ein weil ich hab schon andere programme auf win portiert und die sind super gelaufen

    das problem ist: ich hab dieses shema für mein spiel verwendet und das läuft unter windows mies...dann hab ich meine code vereinfacht und hier gepostet....kein opengl programmier?
     
    Zuletzt bearbeitet: 06.12.2004
  6. xiron

    xiron unregistriert

    Beiträge:
    177
    Zustimmungen:
    0
    Registriert seit:
    23.11.2003
    Kann mir jemand sagen wie ich diesen Code in Xcode kompiliere?! Irgendwie habe ich keinen Plan wie ich diese GLUT libarys richtig include?!
     
  7. -Nuke-

    -Nuke- MacUser Mitglied

    Beiträge:
    2.135
    Zustimmungen:
    15
    Registriert seit:
    13.09.2003
    Also erst mal reicht bei

    glFlush();
    glutSwapBuffers();

    nur das glutSwapBuffers(). Das glFlush brauchst du dann nicht mehr machen.

    Aber ansonsten... OK. Der Code ist sehr, naja... überfüllt. Viel unnützes Zeug drinnen , aber sollte eigentlich laufen. Läuft denn unter Windows anderes OpenGL-Zeugs gut? Welcher Compiler?

    Achja. Ich würde kein Spiel mit GLUT programmieren... Da hast du zu viel Arbeit. SDL ist da leichter.
     
  8. H.Stony

    H.Stony Thread Starter MacUser Mitglied

    Beiträge:
    552
    Zustimmungen:
    0
    Registriert seit:
    27.03.2004
    am einfachsten-> c++ tool machen -> add existing framework -> glut und opengl framework inkludieren -> sollte gehen....
    aber das nützt eh nichts...auf mac gehts ja super....windows memmt da nur irgendwo :-((((((((((((((((((((((((((
     
  9. H.Stony

    H.Stony Thread Starter MacUser Mitglied

    Beiträge:
    552
    Zustimmungen:
    0
    Registriert seit:
    27.03.2004
    wieso zuviel arbeit...und hab noch nie was von sdl gehört...

    anderes zeug läuft..wenn ich nur glOrtho verwende läuft alles...kapier es einfach nicht.....
     
  10. H.Stony

    H.Stony Thread Starter MacUser Mitglied

    Beiträge:
    552
    Zustimmungen:
    0
    Registriert seit:
    27.03.2004
    also bis jetzt bin ich von glut begeistert...was ist an sdl besser?
     
Die Seite wird geladen...
Ähnliche Themen - Performance OpenGL Forum Datum
Performance Probleme bei UITableView (Grouped) auf iPhone Mac OS X Entwickler, Programmierer 06.09.2009
Performance-Sünden in Matrix-Klasse? Mac OS X Entwickler, Programmierer 20.07.2009
Java-Performance bei mehreren Kernen Mac OS X Entwickler, Programmierer 14.11.2006
GLUT Projekt von Win portiert - Performance im Keller Mac OS X Entwickler, Programmierer 02.09.2005
Performance von Eclipse und SWT Mac OS X Entwickler, Programmierer 17.03.2004

Diese Seite empfehlen

Benutzerdefinierte Suche