Hi,
ich muss bei meinem Programm sehr viele Linien mehrmals hintereinander in eine Bitmap zeichnen. Ich nutze hierzu GDI+ (DrawLine(...) eines GraphicsElements, das mit der Bitmap verknüpft ist)
Nun benötige ich beispielsweise für 35000 Linien 1594ms. Diesen Vorgang müsste ich 10 mal durchführen.
Ich muss das machen, da ich die Linien als Vektoren mit bestimmter Breite (Startpunkt, Endpunkt und Breite) zur Verfügung habe und an bestimmten Stellen prüfen muss, ob dort ein Linienpunkt vorhanden ist, oder nicht.
Also verwende ich zum Zeichnen die DrawLine(...)-Funktion eines GraphicsElements
und zum checken, ob an bestimmten Stellen Linienpunkte sind die GetPixel-Funktion der zugehörigen Bitmap.
Da das Zeichnen der Linien zu lange dauert nun meine Frage:
Gibt es eine Möglichkeit, die DrawLine(...)-Methode zu verschnellern?
Ist es mit XNA, DirectX, OpenGL... möglich mein Problem performanter zu lösen? (Linies zeichnen und Pixel auslesen).
Ich habe es schon mir DrawLines(...) versucht, was aber Fehler im Bild verursacht.
Vielen Dank
Hannes
ich muss bei meinem Programm sehr viele Linien mehrmals hintereinander in eine Bitmap zeichnen. Ich nutze hierzu GDI+ (DrawLine(...) eines GraphicsElements, das mit der Bitmap verknüpft ist)
Nun benötige ich beispielsweise für 35000 Linien 1594ms. Diesen Vorgang müsste ich 10 mal durchführen.
Ich muss das machen, da ich die Linien als Vektoren mit bestimmter Breite (Startpunkt, Endpunkt und Breite) zur Verfügung habe und an bestimmten Stellen prüfen muss, ob dort ein Linienpunkt vorhanden ist, oder nicht.
Also verwende ich zum Zeichnen die DrawLine(...)-Funktion eines GraphicsElements
und zum checken, ob an bestimmten Stellen Linienpunkte sind die GetPixel-Funktion der zugehörigen Bitmap.
Da das Zeichnen der Linien zu lange dauert nun meine Frage:
Gibt es eine Möglichkeit, die DrawLine(...)-Methode zu verschnellern?
Ist es mit XNA, DirectX, OpenGL... möglich mein Problem performanter zu lösen? (Linies zeichnen und Pixel auslesen).
Ich habe es schon mir DrawLines(...) versucht, was aber Fehler im Bild verursacht.
Vielen Dank
Hannes
Comment