Hallo,
ich hätte da ein "Problem" und hoffe das mir jemand helfen kann, wenn ja wäre das super.
Ich programmiere seit einiger zeit an einem Spiel, mein Problem ist das es extrem langsam ist (3 bis 4 FPS). Durch rumprobieren habe ich rausgefunden das der DrawImage Befehl vermutlich dahinter steckt.
Das Programm soll so schnell wie möglich 35 * 56 Bilder (je 30 * 30 Pixel) zeichnen.
Wenn ich die Zeilen mit dem DrawImage Befehl ausblende bin ich bei ca 65 FPS. Hab mich schon im Internet "schlau" gemacht und da gelesen das bitblt besser wäre. ( bin aber irgendwie zu doof dafür und wollte mal wissen was Experten zu diesem Punkt sagen)
Ich poste hier mal ausschnitte des Programms die ich für relevant halte und bedanke mich schon mal im voraus.
Gruß
#####################################################################
Dim G, BBG As Graphics
Dim bmp As Bitmap
.....
bmp = New Bitmap(Gbmp.Image)
G = Me.CreateGraphics
.....
For Y = 1 To Anzahly '35
For X = 1 To Anzahlx '56
Select Case Typfeldarray(N)
Case "G"
G.DrawImage(bmp, New Rectangle((X - 1) * 30, (Y - 1) * 30, 30, 30), sRectG, GraphicsUnit.Pixel)
.....
ich hätte da ein "Problem" und hoffe das mir jemand helfen kann, wenn ja wäre das super.
Ich programmiere seit einiger zeit an einem Spiel, mein Problem ist das es extrem langsam ist (3 bis 4 FPS). Durch rumprobieren habe ich rausgefunden das der DrawImage Befehl vermutlich dahinter steckt.
Das Programm soll so schnell wie möglich 35 * 56 Bilder (je 30 * 30 Pixel) zeichnen.
Wenn ich die Zeilen mit dem DrawImage Befehl ausblende bin ich bei ca 65 FPS. Hab mich schon im Internet "schlau" gemacht und da gelesen das bitblt besser wäre. ( bin aber irgendwie zu doof dafür und wollte mal wissen was Experten zu diesem Punkt sagen)
Ich poste hier mal ausschnitte des Programms die ich für relevant halte und bedanke mich schon mal im voraus.
Gruß
#####################################################################
Dim G, BBG As Graphics
Dim bmp As Bitmap
.....
bmp = New Bitmap(Gbmp.Image)
G = Me.CreateGraphics
.....
For Y = 1 To Anzahly '35
For X = 1 To Anzahlx '56
Select Case Typfeldarray(N)
Case "G"
G.DrawImage(bmp, New Rectangle((X - 1) * 30, (Y - 1) * 30, 30, 30), sRectG, GraphicsUnit.Pixel)
.....