1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Langsames Neuzeichnen in MFC-Programmen führt zu "flackernden" Animationen

Discussion in 'Programmieren' started by Birni16, Mar 17, 2005.

Thread Status:
Not open for further replies.
  1. Birni16

    Birni16 ROM

    Das Problem:

    Das Neuzeichnen der Ansicht eines MFC-Programmes dauert meist ziemlich lange. Wenn das Neuzeichnen mehrmals sehr schnell hintereinander erfolgt (z.B. bei Animationen oder beim Ändern der Größe des Fensters), entsteht dadurch ein hässliches, ziemlich störendes "Flackern", v.a. wenn mit Invalidate(true) auch der Hintergrund gelöscht wird.

    Wie kann man dem entgegenwirken?
    Muss ich die (vermutlich schnelleren) API-Funktionen verwenden?

    THX im voraus!
     
  2. Michi0815

    Michi0815 Guest

    ich kenne zwar mfc nicht, aber die api-funktionen - und die sind recht lahm.

    für reine animationen verwende ich vorher im hintergrund gezeichnete images, die ich dann bei bedarf an die gewünschten stellen kopiere. dadurch bekomme ich halbwegs akzeptabe "refreshraten".
     
  3. Birni16

    Birni16 ROM

    Die MFC ist eine Sammlung von Klassen, die die Windows-Programmierung erleichtern sollen (oder so).
    Die MFC verwendet übrigens selbst die WinAPI - Zeichenfunktionen.
    Das Flackern ist leider bei jedem Neuzeichnen zu sehen, egal, ob man jede Sekunde 20 mal oder 1000 mal Neuzeichnen lässt, und ist auch vom zu Zeigenden fast unabhängig (egal ob ein Bitmap oder nur ein paar Linien gezeichnet werden) :aua:

    Werde mal weiger googlen.
     
  4. specialist7

    specialist7 Kbyte

  5. Birni16

    Birni16 ROM

    Habe folgendes gefunden:

    "Vor DirectX wurde Windows für schnelle Grafikdarstellung nicht als geeignet angesehen.
    Windows verfügt zwar über eine vielseitige hardwareunabhängige
    Grafikschnittstelle (Graphics Device Interface, GDI), welche jedoch leider eher langsam ist.
    Bei schneller, bewegter Grafik erwies sich das GDI als unzureichend.
    Deswegen waren lange Zeit schnelle grafische Anwendungen nur unter MS-DOS zu realisieren."

    "Through DirectDraw, Microsoft enables a much higher level of efficiency and speed in graphics-intensive
    applications for Windows than is possible with GDI."

    Die WinAPI-Zeichenfunktionen kann ich also vergessen.
    Wollte sowieso DirectX lernen...

    THX an alle!
     
Thread Status:
Not open for further replies.

Share This Page