SDL + OpenGL Programmausführung sehr langsam.
-
Ich habe Deinen (unveraenderten) Source von oben genommen, SDL-1.2.8 eingebunden, 'ne Textur (256x256 RGB24) in den "./data"-Ordner gelegt und das Quadrat rotiert zuegig und fehlerfrei.
-
Suuper hellihjb,
hast Du eine Konsolenanwendung oder ein Win32 Projekt (leer) genutzt.
Hast Du mit M$VC++ 6.0 compiliert.?Vieln, vielen Dank für Deine Mühe
Gruß
ShadowEater
-
ShadowEater schrieb:
Suuper hellihjb,
hast Du eine Konsolenanwendung oder ein Win32 Projekt (leer) genutzt.
Hast Du mit M$VC++ 6.0 compiliert.?
Und wie hast Du das Einbinden genau vorgenommen?Vieln, vielen Dank für Deine Mühe
Gruß
ShadowEater
-
P.S.: Hier steht aber was von Version SDL-devel-1.2.13-VC6.zip für (Visual C++ 6.0)
http://www.libsdl.org/download-1.2.php
Dann mach ich mich mal auf die Suche nach Deiner Version !
Gruß
ShadowEater
-
P.P.S.Was für OpenGl versionen verwendest Du ?
Gruß
ShadowEater
-
Ich benutze Visual Studio 2005 (Projekt fuer Win32 Konsolenanwendung).
Mit VC6 funktioniert's genauso gut.
SDL-1.2.8 hatte ich halt noch auf der Platte.
OpenGL-header/libs sind beim Compiler dabei (bzw im Platform-SDK).
Fuer mich hoert sich das so an, als wenn Du keine Hardware-Beschleunigung haettest...edit:
Hab's nochmal mit 1.2.13 versucht und geht auch.
Ich habe keinen Schimmer wo Dein Problem liegt.
Vielleicht hat ja jemand anderes 'ne Idee dazu.
-
AHA, und wie schalt ich die Hardwarebeschleunigung ein bzw. wie find ich heraus ob sie eingeschaltet ist oder nicht?
Vielen Dank für Deine Unterstützung
ShadowEater
-
Hi hellihjb,
aber alle anderen 3D Sachen z.b. Spiele funktionieren !
gruß
ShadowEater
-
P.S.: Hab die Hardwarebeschleunigung gefunden, die steht auf maximal !
Gruß
ShadowEater
-
lass doch dieses attribut-zeugs mal weg und setz bei SDL_SetVideoMode fuer bpp 0.
-
Hi hellihjb,
habs gefunden, war ein simpler Codingfehler.
Ich bin über 10.000 Mal in diese Schleife gesprungen:for (i=0;i<360;i++) { glLoadIdentity (); glClear (GL_COLOR_BUFFER_BIT); glTranslatef (0, 0, -2); glRotatef (i, 0, 1, 0);
und hab das Rotieren mit einem sehr kleinen Floatwert durchgeführt.
Kein Wunder dass es nicht richtig lief!Mit dem obigen Code klappts problemlos!
Sag mal kennst Du / Ihr Tuts, Worshops und Bücher die sich speziell mit dem Thema >>> OpenGl + SDL << also dem Zusammenspiel der beiden befassen?
Gruß
ShadowEater
-
Bitte korrigiere mal noch den Titel. Danke!
-
-
war ein simpler Codingfehler [..] bin über 10.000 Mal in diese Schleife gesprungen
Und warum hast Du nicht einfach den Code gepostet der auch einen Fehler enthaellt?!
-
Hab ich doch, gleich in meiner ersten Mail
Gruß
ShadowEater
-
Keine Deiner Fehlerbehebungsmassnahmen laesst sich in Deinem urspruenglichen Source nachvollziehen.
Es scheint so, als haettest Du funktionsfaehigen (aber angeblich fehlerhaften) Code gepostet um Leute von wichtigeren Dingen abzuhalten.
-
Tut mir leid wenn ich es Dir so direkt sagen muss aber laber bitte keinen solchen provokanten Sch...!
Wenn da kein Fehler drin ist den Du finden kannst, umso besser, aber durch die Änderungen die ich vorgenommen habe (s. prev. Post) wurde der Code schneller!
In einem Hardwareforum hat man mir ebenfalls Tipps gegeben die auf einige fehlerhafte Treibereinstellungen hinwiesen.
Beides zusammen beschleunigte die Sache auf ein normales Level.
Da ich bei Ogl noch Anfänger bin ist es wohl normal dass ich so etwas poste, dafür ist ein Forum da.
Also bitte überleg Dir das nächste mal was Du so schreibst bevor Du Leute einfach so beleidigst.
Ich schreibs der Hitze gutmfg
ShadowEater
-
Beachte den Konjunktiv. Naja, passt schon.
Uebrigens wuerde nicht "der Code schneller", Du hast nur nicht mehr 10x das gleiche Bild gerendert.
-
Beachte den Konjunktiv.
War trotzdem ziemlich giftig, is aber ad acta. Die Hitze wirkt schließlich auch bei mir
Du hast nur nicht mehr 10x das gleiche Bild gerendert.
Ja, das und die falsche Treibereinstllung waren fatal
Jetzt gehts aber ab wie ein rotes Mopped
Gruß
ShadowEater
-
wo's so friedlich ist und alles geloest wurde, kann ich ja schliessen