 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Luke

Anmeldungsdatum: 14.01.2009 Beiträge: 92 Wohnort: Ostfriesland !
|
Verfasst am: 11.03.2010, 22:27 Titel: Rasendes opengl |
|
|
Hallo Leute!
Ich hab einn seltsames Problem, was ich mir nicht erklären kann. Ich habe einen 64 bit amd tourion von one mit einer 8400M G NVIDEA GEFORCE Grafikkarte, und programme, die ich mit opengl schreibe laufen bei mir ganz normal, und animationen sind gut erkennbar und angemessen langsam. kann sein das es daran liegt, dass ich für einen 64 bit rechner nur eine 32 bit Version von windows 7 benutze (LEIDER.....), jedenfalls läuft jedes von diesen programmen auf sogar älteren rechnern so schnell, das man nichts erkennen kann. animationen sind rasend schnell und meine animierten (im kreis bewegten) 3D-Buchstaben kann man nicht lesen, weil sie sich viel zu schnell bewegen. und auch eine sleep anweisung mit einer sekunde wartezeit bringt nichts! Auch eine verkleinerung der animationsschritte bringt nichts. es lässt sich scheinbar nichts anpassen, und ich hab absolut keine ahnung warum das so ist. HOFFENTLICH KANN MIR JEMAND HELFEN! das wäre nett _________________ ICH war mal schizophren, aber jetzt sind WIR okay. |
|
Nach oben |
|
 |
darkinsanity aka sts

Anmeldungsdatum: 01.11.2006 Beiträge: 456
|
Verfasst am: 11.03.2010, 22:41 Titel: |
|
|
Hm, ein exe-Beispiel könnte hier nicht schaden.
Meine Vermutung ist, das es auf den anderen Rechnern nicht schnell, sondern auf deinem langsam läuft. Hast du aktuelle GraKa-Treiber? Wenn nicht, läuft OpenGL im langsamen Software-Modus.
Überprüfen kannst du das damit:
Code: | dim vendor as string
vendor = *glGetString(GL_VENDOR) |
OpenGL muss zu diesem Zeitpunkt natürlich schon initialisiert sein. Wenn du "Microsoft" o.Ä. zurückbekommst, ist der Software-Renderer aktiv. _________________ Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak |
|
Nach oben |
|
 |
Stueber
Anmeldungsdatum: 07.07.2008 Beiträge: 202
|
Verfasst am: 11.03.2010, 22:47 Titel: |
|
|
Woran das genau liegt weis ich zwar nicht, aber einen Tipp gibts das dein Programm auf jedem PC gleich schnell läuft, sofern es an deinem Programm liegt:
Code: | screen 19,24
randomize timer
dim as double x = 0,y = 0
dim as double t1 = 0,t2 = 0
do
t1 = timer
pset (x,y),rgb(rnd*255,rnd*255,rnd*255)
if (x = 800) then
x = 0
y += 1
end if
if (y = 600) then
y = 0
end if
t2 = timer
x += (t2-t1)*60
loop
|
Dieses Programm wird in der Schleife pro Sekunde genau 60 Pixel zeichnen, egal wie schnell der jeweilige PC ist. (nehm ich mal an, habs extra kurz geschieben). Die Technik kann man normalerweise für jede Animation benutzen. |
|
Nach oben |
|
 |
darkinsanity aka sts

Anmeldungsdatum: 01.11.2006 Beiträge: 456
|
Verfasst am: 11.03.2010, 22:58 Titel: |
|
|
Das dürfte nicht sein Problem erklären, da er sagt, das es selbst auf älteren Rechnern schneller läuft  _________________ Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak |
|
Nach oben |
|
 |
Luke

Anmeldungsdatum: 14.01.2009 Beiträge: 92 Wohnort: Ostfriesland !
|
Verfasst am: 12.03.2010, 16:13 Titel: |
|
|
Danke ersteinmal für die antworten. Ich bekomme folgendes zurück, wenn ich das einfüge:
dim vendor as string
vendor = *glGetString(GL_VENDOR)
(Da ich ein openglscreen initialisiere kann ich keine pset anweisung gebrauchen, sorry. ich hab vendor in einen text datei geschrieben und dann hinterher ausgelesen.)
NVIDIA Corporation
was soll das heißen? liegt es daran, dass ich eine 32 bit version von windows 7 für ein 64 bit prozessor benutze?
ich benutze ganz einfach opengl, und anscheinend lässt sich die geschwindigkeit auf anderen rechnern nicht drosseln. ich bin völlig ratlos.
3DscrLukas _________________ ICH war mal schizophren, aber jetzt sind WIR okay. |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 12.03.2010, 16:45 Titel: |
|
|
Du hast eine nVidia Grafikkarte und den Treiber ordnungsgemäß installiert.
Poste mal das Output mit dem Parameter GL_VERSION. |
|
Nach oben |
|
 |
Luke

Anmeldungsdatum: 14.01.2009 Beiträge: 92 Wohnort: Ostfriesland !
|
Verfasst am: 12.03.2010, 17:11 Titel: |
|
|
Version 3.2.0 _________________ ICH war mal schizophren, aber jetzt sind WIR okay. |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 12.03.2010, 17:32 Titel: |
|
|
Kann zwar nicht viel dazu sagen, vorallem da ich nicht weiss was bei diesem beispiel 'normale' geschwindigkeit ist, allerdings laeuft es auf meinem XP rechner ganz zufriedenstellend, wobei die kamera etwas zu fix reagiert...
auf mein windows7 rechner ist es um einiges langsamer, jedednfalls gibts kein rasen bei den beiden, beide sind mit ATI karten bestueckt... _________________
 |
|
Nach oben |
|
 |
Luke

Anmeldungsdatum: 14.01.2009 Beiträge: 92 Wohnort: Ostfriesland !
|
Verfasst am: 12.03.2010, 17:38 Titel: |
|
|
mit rasen meine ich die schnelle animationsgeschwindigkeit UND die zu schnelle kamerareaktion. bei mir läuft das programm geradezu lahm, wenn man es mit der geschwindigkeit auf alten rechnern mit windows 2000 vergleicht..........und was für einen rechner ich hab, habe ich ja beschrieben _________________ ICH war mal schizophren, aber jetzt sind WIR okay. |
|
Nach oben |
|
 |
darkinsanity aka sts

Anmeldungsdatum: 01.11.2006 Beiträge: 456
|
Verfasst am: 13.03.2010, 23:14 Titel: |
|
|
Hm, also bei mir läuft es eher langsam.
Um deine obenstehende Frage zu beantworten: Es ist eigentlich egal, ob du einen 32 oder 64 Bit Prozessor hast. Einizger Unterschied sind mehr Speicher und einige andere Dinge, die mit der Speicheraddresierung zu tun haben (habe selbst 32-Bit XP auf 64-Bit-Prozessor). Einen großen Geschwindigkeitsunterschied wirst du nur sehen, wenn du zu wenig RAM (frei) hast, da dann ständig irgendwas auf die Festplatte ausgelagert wird.
Benutzt du vielleicht ein "screensync" oder ähnliches? Wie groß ist denn der Geschwindigkeitsunterschied (in FPS)? _________________ Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak |
|
Nach oben |
|
 |
Luke

Anmeldungsdatum: 14.01.2009 Beiträge: 92 Wohnort: Ostfriesland !
|
Verfasst am: 14.03.2010, 15:31 Titel: |
|
|
Ich benutze kein screensync. Nur screenset am anfang und sonst nichts was mit dem screen zu tun hat. Mein 4 GB großer speicher kann eigentlich auch nicht voll sein, weil ich erstens beim programmieren nur dieses eine Programm auf habe, und auch sonst keine weiteren tabs, und ich ichzweitens den speicher im programm garnicht weiter brauche und dem zufolge nicht überlasten kann. Ich guck bald mal, wie groß der geschwindigkeitsunterschied ist _________________ ICH war mal schizophren, aber jetzt sind WIR okay. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 14.03.2010, 15:39 Titel: |
|
|
Vielleicht ist das eine Lektion für dich, dass man niemals Bewegungscode von der Rendergeschwindigkeit abhängig machen sollte! Das ist einfach bäh! am besten ist es, man hat einen Render- und einen Logikthread, wobei der Renderthread die Graka so schnell wie möglich mit Daten füttert und der Logikthread eben die (Spiel-)Logik in fixen Zeitabständen durchführt. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 957 Wohnort: Austria
|
Verfasst am: 14.03.2010, 15:54 Titel: |
|
|
Ich kann dir zwar keine Fehlerursache nennen, aber ich habe dein Programm auf vier Rechnern getestet und bin bei allen (bis auf den zweiten, da war es etwas langsamer) auf annähernd gleiche Ergebnisse gekommen. Ich habe jedoch auf allen meinen Rechnern Windows XP laufen.
____________
2,5 GHz Dualcore; 3,5 GB RAM
NVidia GeForce 8600M GT (256 MB)
Windows XP Professional
elendig langsam rotierende Buchstaben. Man kann die Bewegung pixelweise erkennen. Das Bewegen mit den Pfeiltasten funktioniert relativ zügig.
11 Sekunden bis das horizontale "P" das vertikale "L" erstmals berührt.
____________
1,4 GHz; 512 MB RAM
Intel 82852 GM Onboard Grafik (64 MB)
Windows XP Professional
selbiges wie oben. Das bewegen selbst geht zwar zügig, hinkt aber oft einige Sekunden nach bis es auf das Auslassen der Taste reagiert.
13 Sekunden bis das horizontale "P" das vertikale "L" erstmals berührt.
____________
2,4 GHz Quadcore; 3,0 GB RAM
NVidia GeForce 8600 GT (256 MB)
Windows XP Professional
selbiges wie ersteres.
10 Sekunden bis das horizontale "P" das vertikale "L" erstmals berührt.
____________
1,2 GHz; 768 RAM
NVidia GeForce 2MX (64 MB)
Windows XP Professional
selbiges wie ersteres.
11 Sekunden bis das horizontale "P" das vertikale "L" erstmals berührt.
____________
Vielleicht kannst du es ja brauchen  _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
 |
Luke

Anmeldungsdatum: 14.01.2009 Beiträge: 92 Wohnort: Ostfriesland !
|
Verfasst am: 14.03.2010, 16:50 Titel: |
|
|
Okey, danke ersteinmal, ich werde jetzt mal mit threads arbeiten, hab mich bisher noch nicht damit auseinander gesetzt _________________ ICH war mal schizophren, aber jetzt sind WIR okay. |
|
Nach oben |
|
 |
darkinsanity aka sts

Anmeldungsdatum: 01.11.2006 Beiträge: 456
|
Verfasst am: 15.03.2010, 00:58 Titel: |
|
|
Mir ist gerade noch etwas eingefallen, im DelphiGL-Forum existiert ein Thread, der dich interessieren könnte: http://delphigl.com/forum/viewtopic.php?f=2&t=9082
Darin wird auch erwähnt, das glGet zwar möglicherweise den richtigen Hersteller zurückgibt, die Grafikkarte aber mit einem Treiber läuft, der über das Windows-Update kommt. Du solltest also auf jeden Fall darauf achten, die Treiber von der nVidia-Seite zu benutzen.
Zudem ist unter Windows 7 generell die Performance von OpenGL-Programmen schlechter, vor allem aufgrund der Aero-Effekte. Kannst ja mal probieren, sie testweise abzuschalten. Da dein Programm aber vollbild läuft, sollte es daran eigentlich nicht liegen. _________________ Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak |
|
Nach oben |
|
 |
d1rty.h4rry

Anmeldungsdatum: 05.10.2006 Beiträge: 116 Wohnort: Cassel
|
Verfasst am: 15.03.2010, 01:33 Titel: |
|
|
bei mir läuft das proggi verdammt langsam. damit meine ich, die animation(die schrift) bewegt sich mit wenigen pixeln pro sekunde um sich selbst.., komisch hab Intel i7 64bit geFroce 295gtx und 12GB! ram und WinVista64Bit von Acer, also an der Hardware sollte es nicht liegen, hoffe das hilft dir  _________________ "Das Fernsehen ist so etwas wie eine geistige Neutronenbombe, das Gehirn wird weggestrahlt. Nur der Kopf bleibt da!" -Olliver Kalkhofe
-> http://fernsehkritik.tv/tv-magazin/
"Wenn alle Stricke reißen, dann häng ich mich auf", Karl Kreiss  |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 15.03.2010, 01:50 Titel: |
|
|
Zitat: | WinVista64Bit von Acer |
daran muss es liegen! produktfälschungen!
PS: Man kann auch den schnellsten PC zerkonfigurieren/gar nicht konfigurieren, sodass alles langsam läuft. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
isiprimax
Anmeldungsdatum: 02.01.2009 Beiträge: 77
|
Verfasst am: 15.03.2010, 04:39 Titel: |
|
|
Auf meinen Notebook mit einer GF 9600M, 4GB Ram, Windows7 64Bit und 2,13 GHz Dual Core läuft es auch sehr langsam. Ich vermute das es an dem Windows 2000 liegt, Treiber oder Treibereinstellungen. |
|
Nach oben |
|
 |
darkinsanity aka sts

Anmeldungsdatum: 01.11.2006 Beiträge: 456
|
Verfasst am: 15.03.2010, 09:53 Titel: |
|
|
isiprimax hat Folgendes geschrieben: | Auf meinen Notebook mit einer GF 9600M, 4GB Ram, Windows7 64Bit und 2,13 GHz Dual Core läuft es auch sehr langsam. Ich vermute das es an dem Windows 2000 liegt, Treiber oder Treibereinstellungen. |
Wohl eher nicht. Wie soll ein Treiber die Hardware übermäßig schnell machen? Hallo, Vista, 7? Schonmal gemerkt das der Aero-Deskop schlimmer is als ne Handbremse?
Aber wie gesagt, FPS oder so wären interessant.
Und wie gesagt, habt ihr auch die wirklichen nVidia Treiber oder die von MS?
Ansonsten könnte vielleicht der Sourcecode Hinweise geben. Ohne den kann man eigentlich nur raten  _________________ Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak |
|
Nach oben |
|
 |
Luke

Anmeldungsdatum: 14.01.2009 Beiträge: 92 Wohnort: Ostfriesland !
|
Verfasst am: 15.03.2010, 16:54 Titel: |
|
|
Dafür muss ich mich wohl einmal entschuldigen. Bei dieser version hab ich die schrift geschwindigkeit ausgebremst. Hier nochmal die unausgebremste. die kamerareaktion ist aber auch recht fix.......Es ging darum, das selbst die ausgebremste version angeblich bei nem kumpel rasend gelaufen sein soll, obwohl er die erste schnelle gar nicht hatte. Wenn dieses Programm jetzt bei euch so läuft, dass man die schrift gut verfolgen kann, dann wäre mir sehr geholfen.....Sorry, dass es alles so kompliziert ist, wenn ihr wollt, kann ich euch die codes für die einzelnen buchstaben geben, so als entschädigung für euer bemühen. Mann kann sie färben, in ihrer größe verstellen und um alle achsen drehen. Könnt ihr dann auch beliebig abändern und soo, wärt ihr interessiert?
Mir ist aber wirklich aufgefallen, das DIESE!!! Version schneller auf älteren als auf neueren läuft (allg.)
Ja, ich hab die original treiber von der homepage....1 1/2 Stunden download bei 50kb pro sek. .................
PS. : Wie bekomm ich die FPS raus? Ich könnte mal die ergebnisse reinstellen, wie viele Sekunden ein Würfel braucht, um mit 0.1 Schritten eine 40 einheiten Strecke zu bewältigen. einmal bei mir, und einmal bei älteren rechnern..... _________________ ICH war mal schizophren, aber jetzt sind WIR okay. |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|