Einen schönen guten Abend,
Ich habe folgendes kleine Problem. Ich schreibe gerade ein Programm zur Darstellung beliebiger Fraktale (z.B. Mandelbrotmenge). Es funktioniert eigentlich sehr gut bis auf einen kleinen Schönheitsfehler. Die Berechnung der Farbwerte eines Integer - Arrays von 500 mal 500 (immerhin 250000 Bildpunkte) geht WESENTLICH schneller als deren graphische Darstellung nachher. Und das finde ich schade. Bei einer Iterationstiefe von 30 braucht mein PC 3s zur Erstellung und gut 20s zur Darstellung. Ich verwende folgende Routine zur Darstellung:
public a(500,500) as integer
.
.
.
for i=1 to 500
for j=1 to 500
gr.rectangle(new solidbrush(farbe(a(i,j)),i,j,1,1))
next j
next i
Läuft tadellos aber ist schneckenlangsam, wie gesagt gut 20s pro Bild.
Somit meine Frage. Gibt es in VB2010 eine Möglichkeit zweidimensionale Arrays blitzschnell auf den Bildschirm zu bekommen? Wenn ich mir ansehe, wie schnell manche Spielegraphik ist, müsste es ja eigentlich gehen. Vielleicht kennt ja jemand eine (einfach zu programmierende!) Methode?
Mit bestem Dank im Voraus,
Johannes
Ich habe folgendes kleine Problem. Ich schreibe gerade ein Programm zur Darstellung beliebiger Fraktale (z.B. Mandelbrotmenge). Es funktioniert eigentlich sehr gut bis auf einen kleinen Schönheitsfehler. Die Berechnung der Farbwerte eines Integer - Arrays von 500 mal 500 (immerhin 250000 Bildpunkte) geht WESENTLICH schneller als deren graphische Darstellung nachher. Und das finde ich schade. Bei einer Iterationstiefe von 30 braucht mein PC 3s zur Erstellung und gut 20s zur Darstellung. Ich verwende folgende Routine zur Darstellung:
public a(500,500) as integer
.
.
.
for i=1 to 500
for j=1 to 500
gr.rectangle(new solidbrush(farbe(a(i,j)),i,j,1,1))
next j
next i
Läuft tadellos aber ist schneckenlangsam, wie gesagt gut 20s pro Bild.
Somit meine Frage. Gibt es in VB2010 eine Möglichkeit zweidimensionale Arrays blitzschnell auf den Bildschirm zu bekommen? Wenn ich mir ansehe, wie schnell manche Spielegraphik ist, müsste es ja eigentlich gehen. Vielleicht kennt ja jemand eine (einfach zu programmierende!) Methode?
Mit bestem Dank im Voraus,
Johannes