MFC Splitter windows werden nicht aktualisiert

  • Hallo!

    Mein Programm besitzt 4 Splitter windows, die eine OpenGL Szene aus unterschiedlichen Ansichten darstellt. Jedes Mal, wenn die onMouseMove-Methode eines dieser Fenster aufgerufen wird, sollen Berechnungen abhängig von der gegenwärtigen Mausposition durchgeführt werden.

    Nach Abschluss der Berechnungen sollen dann alle vier Fenster aktualisiert werden, in ihnen befindet sich die OpenGL - Darstellung einer Szene. Anscheinend dauern aber entweder die Berechnungen zu lange (es müssen teilweise von bis zu 1000 Matrizen die Pseudoinversen berechnet werden (sind allerdings recht kleine, dies geschieht mittels Singulärwertzerlegung) oder sie sind so schnell, dass durch das ständige Aufrufen der invalidate-Methoden der einzelnen Fenster ein Problem auftritt.

    Das erste Fenster wird noch flüssig aktualisiert, dass nächste nur ab und an und bei den anderen tut sich teilweise gar nichts. Hab auch mal eine Zählvariabel in der OnDraw-Methode eingebaut, diese unterscheidet sich dann bei extremer Prozessorbelastung, ansonsten werden alle Fenster gleichmässig aktualisiert.

    Spasseshalber habe ich mal eingebaut, dass nur bei jedem 4. Aufruf der OnMouseMove-Methode etwas getan wird, dann läuft es relativ flüssig in allen Fenstern. Aber gibt es da nicht eine schönere Methode, um alle Fenster zu aktualisieren?

    Vielen Dank schon mal für die Hilfe, wäre echt prima wenn ihr eine Lösung finden könntet. Ist für meine Diplomarbeit, also nicht ganz unwichtig... ;)

    Basti

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!