Autor Beitrag
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Mi 16.10.02 02:36 
Hi,

ich hab grad mit OpenGL mal eine etwas größere Szene mit 2 unterschiedlichen Texturen gemacht... man kann durchlaufen etc..

Mein problem ist jetzt, das manchmal (besonders wenn man sich dreht) alles ein wenig langsamer wird, und ich weiß ehrlichgesagt nicht wieso...

Ihr könnt euch das Prog ja mal runterladen (www.animes.de/OpenGL.zip), vieleicht weiß jemand woran das liegt... :) Weil, ich meine.. bei nem richtig großen spiel, wird das Spiel ja auchnicht langsamer nur weil man sich mal dreht :roll:

Au'revoir,
Aya

PS: Wenn man die Texturen ausschaltet (F12 = Texturein Ein/Ausschalten), geht alles problemlos super schnell :)
Andreas Pfau
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Mi 16.10.02 16:57 
- Anschneinend arbeitest du ohne Backface-Culling, das solltest Du einsetzen.
- Auf jeden Fall solltest Du Displaylisten verwenden.
- Verzichte auf OpenGL-Licht, verwende Lightmaps.

Probier's mal! Falls es nix bringt, solltest du schon den Quelltext veröffentlichen, damit man auch sieht, wo der Fehler genau liegt :D

- AP-
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Mi 16.10.02 18:38 
Ich hab mir das mal runtergeladen:
Bei mir wird's irgendwie nicht langsamer...
Aber überprüfen kann ich das natürlich nicht, denn man sieht nirgendwo die FPS. Vielleicht solltest du in die Caption oder irgendwo auf den Screen das mal anzeigen lassen! Dann kann man auch genau überprüfen, ob es beim Drehen wirklich langsamer wird.
Oder es liegt an deiner Hardware...

Tschüß
Thomas

P.S.: Au revoir schreibt man übrigens immer noch ohne Apostroph...

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
Aya Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Mi 16.10.02 19:07 
Andreas Pfau hat folgendes geschrieben:
- Anschneinend arbeitest du ohne Backface-Culling, das solltest Du einsetzen.
- Auf jeden Fall solltest Du Displaylisten verwenden.
- Verzichte auf OpenGL-Licht, verwende Lightmaps.


Hi,
danke~~ es lag an dem Backface Culling :)
DisplayListen benutz ich sowieso und OpenGL licht nutz ich auchnet :)

Au'revoir,
Aya
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Mi 16.10.02 19:47 
Aber "Au revoir" benutzt du immer noch mit " ' " :mrgreen:

Nur zur Erklärung. Au ensteht aus à und le. Das wird dann zusammengesetzt und ergibt au. Also ist das auch ein Artikel mit Präposition. Und seit wann hängt man das Hauptwort mit einem " ' " an den Artikel :?: :wink:

_________________
Viele Grüße
Jakob
Aya Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Mi 16.10.02 20:09 
Es sieht halt schöner aus~ bäääh *zunge rausstreck*
Aya Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Mi 16.10.02 20:36 
Hi,

es lag wohl dochnicht an dem Backface...

denn mir ist erst eben aufgefallen das er da dann nicht die Decke gezeichnet hatte, jetzt hab ich das so geändert das sie wieder gezeichnet wird und es wird wieder langsam wenn man eine weite sicht hat... :(

PS: Ladet es euch nochmal runter (www.animes.de/OpenGL.zip), diesmal ist es mit CULL_FACE und wenn man F1 drück werden die FPS eingeblendet.. :)
Andreas Pfau
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Sa 19.10.02 20:34 
Tja, da gibt es wieder x möglichkeiten. Hier ein paar meiner ideen:

- Ich hoffe, die gemotire befindet sich in einer einzigen display liste, nicht für jede Wand eine...
- Versuch andere Textur-größen. Keine Ahnung, ob das hilft...
- OK, du hast fogging, d.h. die maximale sichtweite beträgt, sagen wir mal, 50. Dann solltest du auch die far clipping plane auf ca. 55 setzen, damit nicht zu viel gerendert wird.
- Na ja, das mit dem drehen... verwendest du den PerformanceTimer oder GetTickcount oder so was, um die Dregeschwindigkeit konstant zu halten? falls ja, versuche es mal so oder so ähnlich:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
var C, F: Int64;
QueryPerformaceFrequency(F);
{...}
procedure RotateLeft;
var
 B: Int64;
begin
 B := C;
 QueryPerformaceCounter(C);
 glRotatef(2.5 * ((C - B) / F), 0, 1, 0); // 2.5 pro Sekunde
end;

Trick bei der sache: mit dem counter wird die geschwindikeit konstant gehalten. Wenn du den Counter 2 mal abfragen würdest, z.b. an anfang und am ende der prozedur, würde das ergebnis verfälscht (das Problem hatte ich auch mal...:D).

Viel Glück!
Aya Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: So 20.10.02 16:38 
Hi,

dankee~~~
es lag wohl an der Texturgröße :)
hab sie jetzt auf 128x128 und 64x64 verkleinert, läuft nu mit 114FPS durchgehend *froi*

Au'revoir,
Aya