| |
|
|
Tango | ¡Hola Fans!
Yo bin todavía siempre con meiner Diashow beschäftigt y habe en vielen Versuchen offenbar una Fehler entdeck.
Mein Problema war sí el Anhalten des Programms si la JPGs para el Diashow geladen voluntad. Daraufhin Yo el Tipp bekommen el Nachladen en un separaten Prozess laufen que se. Also Yo folgendes gemacht:
- drei separate Prozesse producido - Prozess 1 y 2 erzeugen zwei unabhängige Laufschriften - Prozess 3 lädt el eigentliche Diashow.
Der Anzeigebildschirm es el Ventana principal el quasi dreigeteilt es. Also dreimal oGL initialisiert a Teilbereiche. des Bildschirmes con media Animationen a füllen.
Und lo se ejecuta!
Aber sólo etwa 1 Minute. Danach fängt lo a a ruckeln a para absoluten Stillstand.
Mir wurde mitgeteilt el lo una Speicherleck ser podría y yo debería veces schauen si todos offenen y no mehr benötigten Handles geschlossen y no mehr benötigte Speicherbereiche otra vez freigegeben fueron. Das Yo überprüft. Aber el Fehler tritt siempre otra vez en. Starte Yo mi Show sin zusätzliche Prozesse una definierte Procedimiento se ejecuta alles sauber.
In mi PC werkeln zwei Gforce 210 GraKas con 1GB Grafikspeicher. Lese Yo esta Speicher a Programmlaufzeit de, es bastante klar a sehen el el Speicher voll se ejecuta während el Zweite Karte normal benutzt voluntad kann.
Das führt mich nun a Annahme el OpenGL como Multiprozess comenzó algo bugt. |
|
|
| |
|
|
|
HofK | Eventuell haben wir una ähnliches Problema con unterschiedlicher Software
En webGL Tuve una Speicherleck. Soeben podría Yo una Ursache ausmachen y lo stopfen. Darauf ha mich indirekt una Antwort uno Entwicklers de three.js en stackoverflow gebracht.
Beim suchen y testen en el Antwort hin, Yo una lauffähiges Ejemplo el Entwickler de three.js gefunden, el mi con Leck formal eigentlich fast identisch war, aber kein Loch hatte. Yo habe lo schrittweise reduziert, a como Diferencia sólo todavía el Zeitrate übrig blieb.
Dann Yo en el leckfreien Original el gemächlich en el 1000 ms Takt bunte Effekte producido simplemente veces zwei Nullen kassiert. Und siehe como, auch el Paradebeispiel frisst Speicher!
Mi Vermutung: El Speicherbereinigung (Javascript, WebGL, ... ?) braucht incluso algo Tiempo y es irgendwann überfordert y kommt no mehr hinterher.
Mi Solución es ahora, el Taktrate en el Animation a begrenzen. En 333 ms Tuve erste Erfolge.
Werde lo nun en Ruhe "sauber" hacer y luego hay [...] algo näher erläutern.
Eventuell es en OpenGL bastante ähnlich |
|
|
| |
|
|
|
Tango | ¡Hola HofK,
du media Así que una Timingproblem? Hmmh, podría ser. Nur entonces lo para mi Diashow no así simplemente lösbar. Merkwürdig es, dass sämtliche Effekte problemlos laufen si ellos de el Hauptprogramm y no como eigenständiger Prozess aufgerufen voluntad. Dann kann Yo como a Animationen reinschmeissen Yo voluntad. Aber offenbar hast Usted mich en el richtigen Weg gebracht. Ein Timingproblem es todavía. Nämlich el Übergabe el oGl-Information a la ventana principal. Das scheinen mi Animationen o. TexturMoves a rápidamente a ser sodaß el Informationsübergabe hängen restos. Das wäre allerdings muy ärgerlich porque Yo entonces el komplette Design y Fensterlayout neu hacer kann y lo entonces langweilig wirkt. Möglicherweise lugar Yo el Projekt una außer lo son una Möglichkeit el Bilderserie en un separaten Prozess en des Speicher a jagen y luego vom Ventana principal por Pointer o.ä. en dieses BilderArray zugreifen a puede. Das löst entonces todos Problemas. Doch desafortunadamente finde Yo dazu no Inormationen. In freeBASIC y VB.net funktioniert el problemlos. Pero esto es desafortunadamente komplizierter como Xprofan 3.1. Mann - hätte Yo el vorher gewusst. Hab me Xprof extra gekauft porque así simplemente. Bugs gibbet sí überall aber el lo mich ausgerechnet en el ersten zweit Tagen como Neuling ind dieser Entorno de programación erwischt, ärgert mich. |
|
|
| |
|
|
|
HofK | No igual el "Flinte in' s Korn" werfen! Weiter "wühlen"!
Nachdem Yo gestern al Abend pensamiento, Yo lo, kam bald el Ernüchterung! Das kleine Ejemplo lief con 333ms, aber como Yo entonces mi wesentlich umfangreicheren "Gebilde" con vielen Características getestet habe, kam el Leck otra vez. Yo podría lo siempre otra vez stopfen, pero si el Taktfrequenz entonces otra vez fast en 1000ms landet, es el no flüssige Animation mehr.
Aber así Yo nun más gesucht y bin en una no en el Documentación aufgeführten aber en Beispielen auftauchenden Befehl gestoßen el mein Problema löst. Wenn Yo el Sache allerdings todavía erweitern voluntad, stehe Yo entonces otra vez antes el Problema, como el Befehl sólo en cierto Fällen anwendbar es.
So se ejecuta mi "sandbox" seit unos pocos Minuten en el Netz [...] [...] sin Leck!
Werde Yo entonces bald dokumentieren. [...]
Wenn Yo daran denke, como oft Yo en Erstellung meiner CPU - Simulation pensamiento, lo con XProfan ( damals 11 ) no hinzubekommen y hinschmeißen quería ... |
|
|
| |
|
|
|
Tango | ¡Hola HofK,
Yo hab's!
Un algo unkonventionelle Solución pero va. Das Geheimnis war el Parameterübergabe y offenbar el vermutete Überlauf en el OpenGL Anzeige en el gleichen Ventana. Jetzt Yo quasi zwei unabhängige Ventana genera, el übereinander gelegt. Vorteil: Keine Parameterübergabe. Jetzt laufen also en zwei unabhängigen Fenstern el Animationen sin se gegenseitig a beeinflussen. Wenn Yo ahora el Bildmatrix lade, restos natürlich auch weiterhin el Diashow hängen pero yo de hecho puede el Anzeigefenster para el Bildanimation solange en el Hinergrund schieben. Damit zeigt nun el sólo Ventana mi Laufschriften y una Logo. Sobald alles geladen es, hole Yo el zweite Ventana otra vez en el Vordergrund. Und voilà! Lo sieht de como gewollt. ahora kann Yo mich en Ruhe a September en mi Anzeigeanimationen kümmern. Yo dar a el lo ahora no el Feine Art es pero se ejecuta. Erstmal Gracias para deine Ayuda y Aufmunterung.
Posesiones me Su Animationen veces angesehen - echt klasse! |
|
|
| |
|
|