Seite 1 von 1

Qt 3.3 openGL und ATI Radeon X1600

Verfasst: 5. Juli 2006 17:22
von MeBe
Hallo zusammen,

ich arbeite mit einer Anwendung die mit Qt 3.3 und openGL programmiert wurde. Die Anwendung bildet einen Szene Grafen und visualisiert CT-Daten in 3D Darstellung. Die einzelnen Schichten sind 8 bit Grauwertbilder, aus denen Texturen generiert werden.

Auf einem Rechner mit einer älteren GraKa NVIDIA GForce 6800 GT (256 MB) läuft das Projekt und kann die 3D-Darstellung aus bis zu 35 Schichten (wenn auch langsam) visualisieren.

Nun habe ich einen neueren Rechner und somit eine neue GraKa mit einem Radeon X1600 Pro Chip mit ebenfalls 256 MB Speicher. Das Programm stürzt nach kurzer Laufzeit ab. Das Netzteil liefert genug Leistung für die GraKa. Ich habe auch aktuelle Treiber des Herstellers installiert.

Leider habe ich persönlich keine Erfahrung mit openGL Programmierung und stehe gerade ein wenig hilflos vor dem Problem. Weiß einer Rat?

Verfasst: 5. Juli 2006 17:26
von BartSimpson
Leider muss man sagen, das für OpenGL die nvidia Karten besser geeigent sind. Haste die neuste Version von Qt3 benutzt?

Verfasst: 5. Juli 2006 17:38
von MeBe
Mein Kollege hatte vor kurzem eine ATI Grafikkarte gekauft, daher gabe es auch dieses Mal wieder eine von ATI. Das läßt sich nun leider nicht mehr ändern.

Ich hätte auch noch eine NVIDIA Quadro 285 NVS. Die hat allerdings nur 64 MB eigenen Speicher, was wahrscheinlich zu wenig ist für die Texturen. Mit dieses Grafikkarte läuft das Programm mit 4 Schichten stabil - allerdings kann man keine CT-Daten nur mit 4 Schichten visualisieren - da sieht man nichts in der 3D-Darstellung.

Ich benutze Qt 3.3. Ein Umstieg auf 4 ist im Moment nicht möglich, da wir unter Windows arbeiten und die Windows Version nicht frei ist.

Verfasst: 5. Juli 2006 17:48
von ChMaster
MeBe hat geschrieben:Ich benutze Qt 3.3. Ein Umstieg auf 4 ist im Moment nicht möglich, da wir unter Windows arbeiten und die Windows Version nicht frei ist.
qt4 ist nicht frei!?!?!!, qt4 ist opensource und gibt es auch für windows.
schau mal bei http://www.trolltech.com

Verfasst: 5. Juli 2006 17:51
von BartSimpson
Wo ganu stürzt er den ab?
Was genau ist der letzte Aufruf bevor es kracht.
Eventuell muste mal eine andere Version des ATI Treibers versuchen.
Ich weis das ist fast so wie bei den Spielen. Denn Teilweise sind die OpenGL Treiber unter Windows extra blöd gemacht, damit die Hersteller von CAD Software ihren Code nicht ändern müssen. Da passen einioge Hersteller Ihre Treiber an die CAD Software an. Statt andersrum:(
Da hilft nur Treiber wechsle dich. Oder eine Mail an ATI.
Aber wenn du die Kommerzielle Version von Qt hat, kannst dich ja auch mal an Trolltech wenden. Eventuell kennen die das Problem.

Verfasst: 5. Juli 2006 17:57
von MeBe
ChMaster hat geschrieben:
MeBe hat geschrieben:Ich benutze Qt 3.3. Ein Umstieg auf 4 ist im Moment nicht möglich, da wir unter Windows arbeiten und die Windows Version nicht frei ist.
qt4 ist nicht frei!?!?!!, qt4 ist opensource und gibt es auch für windows.
schau mal bei http://www.trolltech.com
Doch, doch!! Das ist frei, aber nur wenn man auf die Integration in .NET verzichtet. Und die will mein Chef auf jeden Fall. Da habe ich leider keinen Einfluss drauf.

Wenn ich wüßte, wo das Programm abstürzt, wäre ich schon einen Schritt weiter. Ich bekomme meine 3D-Szene noch visualisiert und kann einfach einen Moment warten und nichts machen und dann stürzt das Programm ab. Ich wäre auch schon für einen Lösungsweg dankbar, da ich im Moment nicht mal weiß, wie ich am besten Debugge.

Verfasst: 5. Juli 2006 18:00
von BartSimpson
Du kannste ja mal versuchen das als Debug zu übersetzten und dann es starten und dich "schnell" mit dem Prozess verbinden. Eventuell muste es noch einrichten, das er sich die aktuellensten symbole von MS hohlt.

Verfasst: 5. Juli 2006 18:11
von MeBe
Ich habe den Code und kann das im Debug starten und durchtickern - habe ich auch schon mehrfach versucht. Da ich aber nicht weiß, wo ich ansetzen soll, kann, muss, stürtz das Teil an einer Stelle ab, zu der ich noch nicht hingekommen bin. Ich habe sogar schon denjenigen gefragt, der die Anwendung geschrieben hat und habe dort die Antwort bekommen, dass er das auch nicht wüßte und ich mal debuggen soll.

Verfasst: 5. Juli 2006 18:15
von BartSimpson
Wenn du dich mit dem Prozess verbindets, dann zeigt er dich doch automatisch an, wo es kracht.

Verfasst: 5. Juli 2006 18:37
von MeBe
Wenn ich das mache, dann zeigt er mir die main-Klasse an, wo das exec() ausgeführt wird. Das finde ich sehr nichts sagend.

Verfasst: 5. Juli 2006 20:15
von BartSimpson
Haste die Debugversion on Qt benutzt?

Verfasst: 6. Juli 2006 08:59
von MeBe
Was genau ist die Debug Version von Qt? Debug und Releas kenne ich nun aus den Einstellungen von .Net.

Verfasst: 6. Juli 2006 16:32
von BartSimpson
Von Qt kannste dir 2 Versionen bauen einmal eine Debugversion und eine Release Version. Die Debugversion brauchste, damit du siehst, falls es in der Qt Lib selber schief geht. Du must natürlich denn auch deine Anwendungen gegen diese linken.