Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 16:55

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 20 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mi Jan 31, 2007 22:35 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 27, 2005 12:44
Beiträge: 393
Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
Hallo,

das die unteren beiden Versuche länger dauern ist kein Wunder, da dort noch Konvertierungen vorgenommen werden, es kann aber auch sein, das deine Grafikhardware speziell für RGBA-Texturen optimiert ist.

Falls du noch ein bisschen Performance rausholen möchtest, schau die mal die folgenden Tips an, vielleicht hilft dir der ein oder andere Hinweis weiter.

Viele Grüße
dj3hut1


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 02, 2007 11:28 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 15, 2007 16:10
Beiträge: 24
Wohnort: bei Düsseldorf
zu den pbo: ich benutze die omega treiber 3.8.291 , basierend auf den catalyst 6.9 für meine radeon mobility x700. Laut dem opengl extension viewer wird der Core "v2.1 (0 % - 0/3)" zu 0 prozent unterstützt. der ist ja für die pbos nötig. Es werden weder die ARB nocht die EXT unterstüzt.


zum speed: okay ,dass die konvertierung länger dauert, ist mir klar, darum habe ich es auch probiert, wenn die definierte textur die gleiche farbeigenschaften hat, wie das auslesen ,dann sollte doch keine konvertierung stattfinden ?
Okay wenn das ein ATI bug ist, nehm ich das mal so hin und kann nichts ändern .. woher soll man sowas wissen ? :)

danke dj3hut1 für den link.


Nach den Test auf meinem Laptop wollte ich es mal mit der Maschine testen, wo die Anwendung drauf laufen soll. Dort ist eine Nvidia Quadro FX 3500 verbaut. Ist glaub ich PCIE 8x oder 16x oder sowas, auf jeden fall sollte es schneller gehen, als meine Laptop Karte...

Als ich dann genau das gleiche programm hab laufen lassen, bekam ich folgende Messdaten(zeiten in sekunden):

Zitat:
0.002538
0.002548
0.002540
0.002545
0.002557
0.002578
0.002558
0.002543
...
0.020149
0.034502
0.024774
0.039152
0.037828
0.028562
0.029556
0.030189
0.040288


die ersten werte fand ich schonmal sehr positiv... aber nach einigen frames passierte DAS ! die zeiten schnellten auf das 10 bis fast 20 fache hoch, ohne irgendwelche eingriffe ins programm oder system ! Egal ob ich mit copypixels oder getimage.
ich war total verblüfft und schockiert, ich habe dann mal verschiedene sleeps zwischen den messpunkten gesetzt, also zwischen anfang und ende.
Für werte von 0 bis 10 passierte dieser plötzliche anstieg ebenso, aber ab einem wert von 100 ms , kam folgendes heraus (die erste nachkomma stelle wird durch den sleep verursacht, die anderen sind für das lesen der pixel)

Zitat:
0.103809
0.103563
0.102490
0.102299
0.103093
0.102961
0.102787
0.102594
0.104578
0.103186
0.102908
0.103701
0.103597
0.102443
0.103125
0.103041
0.102860
0.102666
0.102475
0.102294
0.103078
0.102886
0.102705


das heißt die geschwindigkeit bleibt konstant bei 2-3 ms !
Ich kann mir das verhalten nicht erklären, wie gesagt meine ATI karte braucht "konstant" 15 ms !
ich könnte mir das verhalten so erklären, dass irgendwas in den nvidia treibern nicht stimmt, ein thread, der zu niedrige priorität hat oder sonstwas. aber warum tritt das ganze erst nach ein paar frames auf ?
Das gleiche Phänomen tritt unabhängig von dem Restprogramm auf, ich habe es bei anderen programmen getestet, es ist das gleiche ergebniss.

Es tritt auf bei normalen glReadpixels auf, bei glReadpixels und glGetTexImage in zusammenhang mit FBO, glReadpixels und MapBuffer bei PB bzw PBO.

Ist es ein (bekannter )Bug , oder liegt es am System ? was kann ich dagegen machen ?

Bin echt dankbar , wenn mir jemand hilft oder weiter weiß!

Danke
Chris


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 02, 2007 12:06 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Zitat:
Laut dem opengl extension viewer wird der Core "v2.1 (0 % - 0/3)" zu 0 prozent unterstützt. der ist ja für die pbos nötig. Es werden weder die ARB nocht die EXT unterstüzt.

Um "mal" kleinlich zu sein. Es ist andersrum. PBOs werden für den Kern benötigt. Können aber auch ohne existieren. Und um ganz ehrlich zu sein muss selbst die eigentliche Extension nicht existieren um im Kern existieren zu können.

Von wie viel Zeit sprichst du da gerade? 10-20 Frames bevor er langsamer wird oder doch eher 100-2000? Wenn es eine kleine Zahl könnte ich mir gut vorstellen, dass die Karte/Treiber intern etwas cachen. Eben um es beschleunigen zu können. Und da du aber sehr viele Bilder haben willst könnte ich mir vorstellen, dass das dann nicht mehr funktioniert. Ist aber nur eine sehr wage Vermutung. ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 02, 2007 16:05 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 15, 2007 16:10
Beiträge: 24
Wohnort: bei Düsseldorf
komischerewise sind es immer 22 bzw 23 frames bis er langsamer wird....

zum cachen: warum sollte er das tun ? es sind doch immer neue bilder, also der inhalt des bildes ändert sich ja, zumindest wenn keine kamerabewegung drin ist, ab er wenn dann wieder keine bewegung da wäre , müsste es ja wieder runter gehen ???
Es wird ja auch kein neuer speicher alloziert oder sowas, also die alten daten bleiben ja nicht erhalten, so dass es da zum overflow kommt oder sonstwas...??
ich versteh das alles nicht :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 06, 2007 16:01 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 15, 2007 16:10
Beiträge: 24
Wohnort: bei Düsseldorf
Hallo !
Die Lösung des Problems: die Grafikkarte hatte noch garnicht alle Befehle abgearbeitet. Daher wartet mein glreadpixels solange bis die scene fertig ist und liest dann erst aus. Mit einem vorgeschalteten glFinish bekomme ich ~ 2ms auslesezeit!

Hätte ich auch mal selbst drauf kommen sollen, ich danke aber allen die mir geholfen haben!

Dank

Chris


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 20 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]