VB extrem Langsam (3 bis 4 FPS)

  • VB.NET
  • .NET (FX) 4.0

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von timmi31061.

    VB extrem Langsam (3 bis 4 FPS)

    Hallo,

    ich hätte da ein "Problem" und hoffe das mir jemand helfen kann, wenn ja wäre das super. :thumbsup:

    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)


    .....
    Nimm nicht Me.CreateGraphics sondern zeichne auf eine Bitmap und dann Bitblitte die dann im durch Me.Invalidate() aufgerufenen Paint-Event auf die e.Graphics. Btw. lassen sich mit GDI(+) bei einfach gehaltenen Spielen locker 200fps erreichen.
    Wie füge ich Quellcode korrekt im Forum ein?
    ​Graphics.DrawImage ist sehr langsam. Am besten wäre, wenn du z. B. DirectX benutzt. Es gibt hier im Forum einige Bibliotheken, die ein gutes Interface dazu bieten.
    Mit freundlichen Grüßen,
    Thunderbolt