Schneller als BitBlt
-
Hi,
ich möchte sehr schnell etwas auf einem Fenster zeichnen.
Momentan nutze ich BitBlt, was bei einfach Figuren (wenige Vierecke) auch wunderbar funktioniert. Werden die Figuren allerdings komplexer und die Auflösung höher, zeigen sich schnell die Grenzen dieser Funktion.Gibts da was fixeres? :xmas1:
-
DirectX?
-
DirectX/DirectDraw usw. kommen leider nicht in Frage.. wär sonst aber wohl ne gute Idee

Edit:
Es handelt sich normalerweise nicht um mehr als 128x128 Blöcke. Aber 16384 Aufrufe von BitBlt zwingen scheinbar auch bessere CPUs in die Knie..
-
Warum zeichnest du Vierecke mit BitBlt und warum brauchst du so viele einzelne Aufrufe und warum ist Direct3D keine Option!? Gehe ich recht in der Annahme dass du irgendwas Tilebasiertes rendern willst? Wenn ja: mit 128x128 Tiles kannst du mehr als einen kompletten Bildschirm mit 10x10 Pixel großen Tiles füllen, das scheint mir ziemlich übertrieben!?
-
Hi,
versuch doch mal BitBlt als Double-Buffered Variante.
http://www.codeproject.com/KB/graphics/drawing_without_flicker.aspx
Sollte evtl. gehen.
Lg Tobi
-
Und was spricht eigentlich gegen die GDI Funktionen?
Welchen Sinn macht es BitBlt für Rechtecke zu verwenden, wenn die GDI solche weitaus effektiver mit der Hilfe der Grafiktreiber entsprechende Objekte zu zeichnen?