Visual Basic Grafikaufbau sehr langsam

Gast #992942
Lesenswert?

Hallo alle zusammen,


ich bin dabei mit Microsoft Visual Studio 2008 ein Brettspiel (Agricola) 
nachzuprogrammieren.

Da dieses Spiel über sehr viele Grafikanzeigen verfügt (Handkarten, 
Spielbrett und sonstiges) fängt das Programm an immer mehr zu ruckeln um 
all diese Informationen anzuzeigen.
Bis jetzt habe ich für jedes Bild eine eigene Picturebox bzw. Panel 
erstellt und das Bild als Hintergrundbild eingestellt. Somit werden 
schätzungsweise an die 100 bis 200 Bilder auf einer Form angezeigt.
Hinzu kommt, dass man zwischen verschiedenen Ansichten wechseln kann und 
man beim Wechsel mittlerweile sehen kann wie die einzelnen Bilder 
aufgebaut werden.


Gibt es irgendwelche Alternativen in Visual Basic um dieses Problem zu 
umgehen oder sollte man gar eine ganz neue Umgebung hierfür verwenden?
Gast #992969
Lesenswert?

Ich würde zu der Lösung tendieren, die fertige Ansicht im RAM zu rendern 
(großes Byte-Array, wobei jeweils drei Byte für ein Pixel benutzt 
werden) und dann auf einmal darzustellen.
#992990
Lesenswert?

Hi,

Ich würde dir auch raten, das genze ohne PictureBoxes zu lösen, sondern 
das ganze "manuell" in die Form / in ein eigenes Control zu zeichnen.

Darüber hinaus ist es sicher sinnvoll immer nur das neu zu zeichnen was 
sich wirklich geändert hat.
Einige Ideen / Algorithmen wie das Funktioniert findest du hier:
http://www.mycsharp.de/wbb2/thread.php?threadid=21782
http://www.mycsharp.de/wbb2/thread.php?threadid=28527
ist zwar in C#, lässt sich aber ganz leicht in VB umwandeln, z.B.: 
hiermit:
http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx

greets
Gast #993072
Lesenswert?

Das Zauberwort für die Bilder hieß tatsächlich Double Buffering, vielen 
Dank schonmal dafür, das Spiel läuft jetzt schonmal was flüssiger.

Leider scheint sich dieses Double Buffering nur auf Grafiken positiv 
auszuwirken, da aber auch sehr viele Panels und Labels angezeigt werden 
sieht man nach wie vor wie diese aufgebaut werden.

Gibt es denn auch ein Zauberwort für das Anzeigen von Panels und Labels?

P.S. Habe hier auch mal ein Screenshot von der Hauptansicht eines 
Spielers angehängt. Ich hoffe man kann die vielen einzelnen Anzeigen 
erkennen.
Der Spieler kann zudem unten ein TabControl öffnen wo weitere 
Informationen und Bilder angezeigt werden....
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren