ich erzeuge eine OPenGL Szene als separates Fenster - klappt gut. Auf meinem Hauptform habe ich eine kleine Animation (GIF über JVCL) als Gag laufen. Diese Animation läuft in einem separaten Thread, dessen Priorität maximal ist. Trotzdem bleibt das GIF stehen, wenn ich die OPenGL-Szene aufbaue - gibt es da eine Möglichkeit ?? Sieht einfach blöd aus ....
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Also das klingt sehr Unwahrscheinlich! Sobald die Animation 100%tig in dem anderen Thread läuft kann sie nicht stehen bleiben das isn Ding der Unmöglichkeit.
Was aber durchaus sein ist, dass du in dem Thread Synchronize benutzt. Und dann ist es vollkommen klar. Dann wechselt er nämlich kurz in den VCL-Thread um dort die Methode (Die an Synchronize übergeben wird) auszuführen. Wenn der VCL-Thread aber durch durch OpenGL gerade blockiert wird bleibt die Animation stehen.
Ich weiß jetzt nicht genau wie das aufgebaut ist. Allerdings solltest du mal versuchen die Animation ohne irgendwelchen Synchronisierereien zu verwenden. Das kann allerdings beim Zeichnen zu Problemen führen. Allerdings kann ich das jetzt so einfach nicht sagen. Da sind Threads ein bisschen eigen.
Aber falls es ohne Synchonisation zu massiven Problemen kommt sehen ich aber schwarz für dein problem. Dann musst du dich wohl damit abfinden, dass die Ani stehen bleibt. Evtl kannst du ein bisschen rausholen, wenn du eine Textur pro Application.OnIdle lädst und dem Programm somit die Möglichkeit gibst auf Messeages zu reagieren. Also auch das Snychronize.
PS: Du könntest natürlich auch OpenGL in einen Thread auslagern. Allerdings ist es zwecks der Asynchronität ein wenig umständlich.
Mitglieder in diesem Forum: 0 Mitglieder und 13 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.