opengl - 0.3FPS?!?
-
hi
also 2 Sachen stören mich an deinem Quellcode... Zum einen ist es diese Do-While Schleife... Wofür soll die gut sein...??? Und das noch viel Fatalere ist das du in der Schleife ein "glutSwapBuffers();". Ich hoffe mal das es dir klar ist wie langsam ein glutSwapBuffers ist. das sollte man nur einmal am Ende aufrufen... versuch das glutSwapBuffers hinter die Schleife zu bauen vieleicht hilft es ja...
So bei näheren betrachten... Wieso killst du das Fenster am ende der "malen"-Funktion??? Das ist doch totaler blödsinn in meinen Augen.
Alsi ich würde das so machen...
do { }while(b<100); glutDestroyWindow(glutGetWindow());
Das schmeiste raus und den rest läßte stehen... Dann müssten sich deine Frameraten normalisieren... Wenn nicht dann frag noch mal... Und dann schaue ich mir das mal genauer an....
gruß
de_Bert
-
das is alles schon so gedacht. er malt 100 mal dieses quad auf den schirm, und damit meine ich hundert mal, nicht 100 mal in den buffer und einmal auf den schirm , und gibt immer die aktuellen fps in dem konsölchen aus das da noch is. wenn er fertig is brauch ich das fenster wo er reinmalt nicht mehr also mach ichs weg...
mittlerweile hatte ich iÜ Gelegenheit es auf andren Rechnern auszuprobieren und da war die Framerate beträchtlich höher (so 500x
).
kann es sein das meine olle riva tnt 2 opengl gar nicht unterstützt?und ja, wenn swapbuffers so langsam is, haste ne schnellere alternative zur hand?
-
muhkuhmasta schrieb:
kann es sein das meine olle riva tnt 2 opengl gar nicht unterstützt?
Nee, kann nicht sein.
Quake 3 läuft damit super.
-
Irgendwie verbirgt sich mir der Sinn des Ganzen!!!
-
es hat auch keinen besonderen sinn. ich wollte nur sehen obs geht
-
Hallo,
ich vermute mal, dass du irgendwelche Features benutzt, die deine Grafikkarte nicht kann. Dann schaltet OpenGL selbständig in den Softwaremodus um und berechnet ALLES in Software!
-
Andreas XXL schrieb:
Hallo,
ich vermute mal, dass du irgendwelche Features benutzt, die deine Grafikkarte nicht kann. Dann schaltet OpenGL selbständig in den Softwaremodus um und berechnet ALLES in Software!
Sowas soll Opengl können? Soweit ich weiß macht das nur DirectX... Wenn etwas von der Grafikkarte nicht unterstütz wird, startet das programm garnicht, oder?!! Die Standardbefehle kann doch jede Grafikkarte, und eine TNT2 erst recht...
-
Das ist nur teilweise so. Bei NV sind einige Sachen im Treiber durch Software emuliert, falls man eine Flagkombi erwischt, die nicht HW-beschleunigt ist. Das tritt meistens aber bei Verwendung von exotischen Sachen oder Extensions auf. Und da weisen die extension specs meistens genügend drauf hin.
Im Regelfall gibt es sowas wie HAL, REF, etc. unter OpenGL nicht (bzw. die MS-Implementierung gibts natürlich sehr wohl, aber normalerweise wird nicht während des Betriebs auf einmal die Implementierung gewechselt).cya
liquid
-
de_Bert schrieb:
Sowas soll Opengl können? Soweit ich weiß macht das nur DirectX...
Z.B. Pixel / Vertexprogamms bzw. fuer DX User Shader werden wenn man bei dem NV Treiber das richtige Flag setzt sehr wohl ueber Software emuliert.
-
Es ging aber um OpenGL. Und das einzige was ich da in Erinnerung habe, ist dass auf meiner alten Geforce2 die NV_vertex_program Extension verfügbar war, diese allerdings rein SW-basierend emuliert wurde, da der GF2 die nötige HW-Fähigkeit dazu fehlte.
cya
liquid