Flackern beim Resize



  • Hallo!
    ich bin die ganze zeit dabei das Flackern irgendwie zu beseitigen, ich habs (wie im Petzold auf seite 650 beschrieben) mit Double Buffering versucht, aber das hilft irgendwie garnicht, ich hab auch schon stundenlang gegooglet, ohne erfolg...

    das genaue Problem:
    Wenn man ein (nicht leeres) Fenster, das mit der API programmiert wurde verändert (die größe) dann flackert es heftig, warum weiss ich, hat mit dem Rasterstrahl des Bildschirms und seinem Rückweg zu tun, weiss jemand was man dagegen machen kann, oder warum Double Buffering nix bringt?

    Außerdem: Kann es daran liegen, dass die API veraltet ist, die Funktionen zu langsam?
    und wenn man schon mal bei dem Thema ist, was ist eure persönliche Meinung dazu:
    Also ich denke ja, dass auch wenn dinge wie die WPF modern sind, sie trotzdem oberflächlich sind, aber kann man trotzdem alles mit ihnen machen was man auch mit der API machen kann? oder umgekehert? wo sind die Vor- und nachteile?
    mit der API ist vielleicht aufwendiger zu programmieren, ich fühle mich bei diser syntax aber immer noch am wohlsten, und ist die API veraltet?

    freue mich auf eure Antworten
    mfG AstvomBaum



  • case WM_ERASEBKGND:
       return 1;
    


  • also das funktioniert bei mir garnicht, das prog ist zwar lauffähig, aber der Hintergrund ist halt einfach weg und es werden da ganz komische sachen angezeigt...

    trotzdem thx 😉



  • du musst den hintergrund selbst zeichnen in den buffer und dann alles auf einmal blitten.



  • ............ schrieb:

    case WM_ERASEBKGND:
       return 1;
    

    was fürn Quatsch!
    In der Klasse die Styles CS_HREDRAW | CS_VREDRAW nicht verwenden und bei Bedarf mit BeginDeferWindowPos, DeferWindowPos und EndDeferWindowPos arbeiten.



  • doch funktioniert!!!
    einfach in Buffer zwischenspeichern und dann mit BitBit ausgeben!


Anmelden zum Antworten