Meinst du, dass wirklich das Plot die Geschwindigkeit ausmacht?
Schau mal hier
http://www.purebasic-lounge.com/viewtopic.php?t=5033
Also bei 1600 x 1200 Auflösung habe ich geschätzte 5 Frames pro Sekunde.
Bei 640 x 480 sind es mehr als genug, um ein flüssigen Eindruck zu haben.
Was noch eine Möglichkeit wäre, wenn du in den Speicher mit *Buffer schreibst und danach den ganzen *Buffer verschiebst.
Ohne jeden Punkt auszugeben.
Denke aber, dass beim Raytracen eher die Berechnung der Farbe des einzelnen Punktes die meiste Zeit kostet als später die Anzeige des selben.
Wenn ich nur an 3DStudioMax denke, wie lange da manchmal ein Rendern von einem einfachen Klotz gedauert hat. Und wenn ich ACDSee sehe, wie schnell das eine 6 Megapixel Bilddatei sofort anzeigen kann, obwohl es noch die JPEG-Datei entpacken muss.
Wenn das Raytracen nicht am allerschnellsten läuft, aber du fast ein Bild pro Sekunde hinbekommst, kannst du ja auch kleinere Animationen rendern, sie als Bildfolge ablegen. Und den Betrachter dann zwischendurch einen Ladebalken zeigen oder wärend die gespeicherte Animation läuft, schon die nächsten Bilder berechnen.
Vielleicht kannst du dein Raytracing auch dynamisch gestalten.
Dass es zum Beispiel im Zentrum des Bildes genauer ist als am Rand.
Und du dann statt Plot, Box nutzen kannst. Und immer gleich 3 x 3 Punkte zeichnest.
Vielleicht kannst du die Elemente im Programm auch teilen,
wenn du zum Beispiel eine Drehende Kugel hast, berechnest du Hintergund und Kugel unabhängig von einander und berechnest immer nur die Kugel neu und den Hintergrund vielleicht nur alle drei Bilder bei einer Drehung zum Beispiel.
Das wären jetzt noch so Tricks, die mir auf Anhieb einfallen, um es nahe zu in Echtzeit schaffen zu können. Natürlich mit Qualitätseinbußen.
http://scratch.mit.edu/projects/Canthiar/56074
