ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
821
821
EMPFEHLEN
-
Hallo,
habe eine Frage:
Kennt einer eine Möglichkeit schnell in ein MDI Fenster zu Zeichnen ?
Also ich will jeden Pixel einzeln setzen !
Nachdem ich mit Freuden festgestellt habe, dass die SetPixel(V) Routine sehr langsam sind hab ich mich auf die Suche gemacht und bin auf ein paar Artikel mit bitmaps gestoßen. Dort kann ich dann auch direkt ein von mir beschriebenen Speicherbereich einem Bitmap zuweisen und diesen dann auf den Bildschirm bliten. Das funktioniert alles auch sehr gut (im Vergleich mit dem Sekunden dauernden SetPixel), nur je größer das Fenster ist desto langsamer wird es. (Ich habe Pixel zeilen die von oben nach unten Scrollen). Gibt es eine Möglichkeit wie in SDL das Display Surface zu LOCKEN in den Speicher schreiben und anschließend wieder freigeben ?
Muss man DirectDraw verwenden ? Wo gibt es ein brauchbares Tutorial (mit google hab ich nix anständdiges gefunden) ?
Danke !
-
17.02.04 21:35 #2
- Registriert seit
- Jan 2002
- Ort
- Bayern
- Beiträge
- 1.390
Also wie du schon angedeutet hast, kann man das "Bild" vorher im Speicher zeichnen und dann blitten.
Da ich leider nicht ganz weiß wie du das machst kann ich dir auch nicht näher helfen.
Aber schau dir mal die Funktion CreateCompatibleDC() an, damit kannst du dir einen Device Context im Speicher erstellen, in diesen kannst du dann reinzeichnen und dann über einen BitBlit auf den Device Context des jeweiligen Fensters blitten, das ist in der Regel eigentlich ziemlich flott.
Wenn du dazu mehr Hilfe benötigst, dann meld dich nochmal.
Gruß Homerwe would change the world if god gave us the source code...
and remember, science is nothing more than reverse engineering nature...
Current projects:
- LdrawConverter
-
Also ich benutzte CreateCompatibleDC ( schon um den Flackern zu umgehen).
In das Bitmap dieses DCs setze ich die Bits direkt (SetbitmapBits).
Also das setzen der Bits geht scheinbar schnell genug denn wenn das Fenster klein ist bzw. teils bedeckt ist geht das Zeichnen flott genug aber sobald das (sichtbare) Bild auf ca. 1/4 Bildschirmgröße wird das ewig lahm.
Hoffe damit ist das Probelm besser beschrieben .
Wie machen die das bei den Videoplayern ? einer Beispielcode
Ähnliche Themen
-
C++ ChildWindow Problem
Von Binär10010111 im Forum C/C++Antworten: 2Letzter Beitrag: 01.03.08, 11:45 -
Schnelles Capturen?
Von Alex363 im Forum Videoschnitt, Videotechnik & -produktionAntworten: 4Letzter Beitrag: 26.09.07, 11:24 -
ATL Childwindow -> Vollbildmodus
Von Shadow im Forum VisualStudio & MFCAntworten: 4Letzter Beitrag: 25.04.06, 11:18 -
Titelleiste von ChildWindow
Von SeeSharpNewBee im Forum .NET ArchivAntworten: 2Letzter Beitrag: 01.08.05, 13:53 -
Formularwerte komplett an Childwindow übermitteln
Von djinsane im Forum PHPAntworten: 3Letzter Beitrag: 12.05.05, 01:53





Zitieren
Login






