Autor Beitrag
M. Raab
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 334
Erhaltene Danke: 1

WIN 7
Delphi XE
BeitragVerfasst: Mi 05.03.03 09:15 
Hallo NG,

folgendes Problem:

Ich erzeuge zur Laufzeit mehere Fenster mit Delphi, dort einen Button mit dem man drucken kann. Gleichzeitig erzeuge ich auch mit den API Funktionen ein weiteres Fenster in der ich eine OpenGL Szene habe. Drückt man nun auf drucken, dauert es so ca. 10 min, bis der Druck vollendet ist. Ist das OpenGL Fenster zu, dauert es so ca. 30s. Es scheint so, als ob die Szene derart viel Rechenleistubng abzieht, dass das Ding nicht mehr zum Drucken kommt. In dem OPENGL Fenster erzeuge ich im Moment so ca. 80fps, also die Szene wird ständig aktualisiert. Ich muss das so machen, weil der Benutzer in Echtzeit Daten bei den anderen Fenstern ändern kann und das Auswirkungen auf die OpenGL Szene hat.

Gibt es da eine Abhilfe ?

Gruss

Markus
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mi 05.03.03 15:32 
Ich kenn mich da net so genau aus, aber ich versuchs mal: Als erstes würde ich schauen, ob Dein LPT-Port im IRQ-Modus läuft, dazu gehste in den Gerätemanagar und schaust bei dem Port nach, ob ein IRQ verwendet wird, das bringt schon mal SEEEEHR viel.

Dann kommts darauf an, wie Du Deine OpenGL-Szene renderst: Verwendest du OnIdle? Dann wirds wohl daran liegen, wenn Du einen Timer nimmst dürfte alles schneller gehen. Mehr fällt mir im Moment nicht ein..... :?

Gruß
M. Raab Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 334
Erhaltene Danke: 1

WIN 7
Delphi XE
BeitragVerfasst: Fr 07.03.03 11:54 
Hallo,

also: ich habe mal Deine Tipps befolgt - hat nix gebracht. Die Szene wird über einen Timer reendert - es ist aber so, dass der Druck wieder völlig normal verläuft, wenn man die Szene weg klickt. Ich werde es wohl so machen, dass ich kurz vor dem Drucken die Szene schliesse, alles in den Spooler nudle und dann die Szene wieder öffne. Ist zwar ne unschöne Lösung aber eine Lösung.

Ich habe das jetzt auch mit verschiedenen Druckern probiert - ist immer das Gleiche.

Gruss


Markus