1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

DoubleBuffer

  • bruzzler
  • 24. April 2006 um 12:13
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • bruzzler
    Punkte
    586
    Beiträge
    92
    • 24. April 2006 um 12:13
    • #1

    Ich würde gern einen 2D Graphen in .Net implementieren; Dabei stellt die X-Achse die Zeitachse dar. Jetz bekomem ich in regelmässigen Zeitabständen (10 bis 1000ms) einen neue Datenwert. Dabei sollte die X Achse "scrollable" sein. Soweit so gut - das hab ich auch implementiert. (siehe angenängtes Projekt -> Simuliert einstweilen mit einem Array; Nur zu Testzwecken; die Zeitabstände werden via Ticker geregelt)

    Jetzt häng ich aber bei einem Problem: "FLICKER" !! Sobald meine Zeitabstände klein Werden (<100ms) flackert das Bild beim Neuzeichnen. Habe es bereits mit DoubleBuffer versucht (Glaube aber das ich ihn flasch angewendet habe!)

    Hatte jemand vllt. schon mal mit dem zu tun - bzw. eine Idee wie ich das flackern "abstellen" könnte....??
    Selbst wenn ich directX verwenden würde (was ich noch nicht gemacht habe und in das ich micht auch nciht einlesen will,wenns nicht unbedingt notwendig ist!) wüde ich doublebuffer benötigen...

    Ich hab mal der einfachheit halber das Projekt(ich sags gleich...is in schlechten stiel programmiert....aber i hatte keine zeit es "schön" "anständig" zu machen *g*) angehängt - is glaub ich besser als den Code zu posten;

    thx für jegliche Hilfe im Vorraus!

  • bruzzler
    Punkte
    586
    Beiträge
    92
    • 24. April 2006 um 12:35
    • #2

    [EDIT]

    .rar geändert

    [/EDIT]

  • Wolfibolfi
    Punkte
    14.936
    Beiträge
    2.942
    • 24. April 2006 um 12:45
    • #3

    Hab von C#/NET nicht so viel Ahnung, aber warum zeichnest du den ganzen Graphen neu? Ich würd da nur ein Stück dazuzeichnen, und den Rest nur bei nem Scrollevent.
    Ansonsten hab ichs unter Delphi so gemacht, in ein Bitmap im Speicher zu zeichnen, und diess dann in einem Aufwasch rauszukopieren (mit bitblt, mit GDI+ gibts sicher besseres), dann flackerts auch nicht. So kann man auch einige kleinere Spiele machen, ohne dass es flackert.

  • bruzzler
    Punkte
    586
    Beiträge
    92
    • 24. April 2006 um 13:22
    • #4
    Zitat von Wolfibolfi

    Hab von C#/NET nicht so viel Ahnung, aber warum zeichnest du den ganzen Graphen neu? Ich würd da nur ein Stück dazuzeichnen, und den Rest nur bei nem Scrollevent.
    Ansonsten hab ichs unter Delphi so gemacht, in ein Bitmap im Speicher zu zeichnen, und diess dann in einem Aufwasch rauszukopieren (mit bitblt, mit GDI+ gibts sicher besseres), dann flackerts auch nicht. So kann man auch einige kleinere Spiele machen, ohne dass es flackert.


    das war auch mein erster gedanke, dass ich immer ein stück dazuzeichne....aber das haut irgendwie nicht hin....(bin für hilfen offen ;) )

    das mit dem bitmap neuzeichnen is das konzept des doublebuffers...habs jetz "angeblich" (laut dem schlauen internet) richtig umgesetzt (siehe anhang)

    aber es flackert noch immer.....hmmmm.....

    [EDIT]
    codezeile vergessen:

    Code
    _doBuffer = true;

    [/EDIT]

  • wolk
    Punkte
    1.290
    Beiträge
    207
    • 28. April 2006 um 10:25
    • #5

    also ich hab auch so ein ähnliches problem, und würd mich auch über ein funktionierendes double-buffering in c/c++ freuen ;)
    ich versuchs grad mit Borland c++ ein eigenes TImage zu schreiben und die paint-methode zu überladen, aber gebracht hat das eigentlich noch nichts ;(

  • bruzzler
    Punkte
    586
    Beiträge
    92
    • 28. April 2006 um 18:22
    • #6
    Zitat von wolk

    also ich hab auch so ein ähnliches problem, und würd mich auch über ein funktionierendes double-buffering in c/c++ freuen ;)
    ich versuchs grad mit Borland c++ ein eigenes TImage zu schreiben und die paint-methode zu überladen, aber gebracht hat das eigentlich noch nichts ;(


    also i habs jetz in c# geschafft...wenn ich helfen kann (c#!) dann meld dich!

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum