Einzelnen Beitrag anzeigen

LePtitmort

Registriert seit: 25. Jun 2006
20 Beiträge
 
#20

Re: 100 milliarden Werte speichern!

  Alt 1. Jul 2006, 10:31
Also ich schildere alles nochmal einwenig genauer:

Ich schreibe an einem Programm, dass die Planetenbahnen von n-Planeten anzeigen (also zeichnen und berechnen) soll.
Ich berechne momentan 15 Millionen neue Positionen und nochmal so viele Geschwindigkeiten in 15 Sekunden.
Hier das Prog!

Achtung kann sein das die Leute mit ein wenig Arbeitsspeicher ihrem Pc ein jehes Ende setzen.... (lieber die Schrittanzahl runtersetzen)
Wir verwenden momentan noch ein Eulerverfahren und haben so vor den 9./10. Planeten unseres Sonnensystemszubeweisen.
Dazu vergleichen wir berechnete Bahn mit der tatsächlichen.

So jemand sagte das ich die Werte (bzw. jeden 10 000sten) in einer list speichern, wie ich schon sagte ich bin noch nicht ganz so Delhpi-fit. Was hat das für Vorteile?
ich brauch die alt berechneten Werte eigentlich nicht mehr, zumindest nicht regelmässig, ich brauch den letzetn Wert der Berechnung und des wars. Gibts noch andere bessere Metheoden?
Und mein Arbeitsspeicher kommt auch langsam an seine Grenzen... bleiben die Arrays im Arbeitsspeicher gespeichert?
Ein weiteres Prob, das ich hab ist ein Scheibenwischereffekt der Auftritt wenn ich den Planeten mache, er "wischt" über meine Paintbox und löscht somit meine alten Bahnen (natürlich nur die Grafik nicht die berechneten Werte im Array). Und speichern und laden des bildes kommt auch nicht in Frage, auf Grund der grossen Schrittanzahl (monmentan wird jeder 200ste Schritt gezeichnet sh. im Programm unten rechts)
Und noch ein letzten Problem, meine extended Zahlen sind immer noch zu ungenau.... wie kann ich noich grössere Genauigkeit bekommen?
Mein Array ist momentan 10 x 10 x 999 999 gross (vom typ "extended") und wenn ich jetzt mein Array löschen will
(bzw. genauer gesagt leeren oder überll ne 0 reinschreiben) dauert das ewig, gibts da nen Trick wie man das beschleunigen kann? irgendein schneller Befehl? weil mit ner for-Schleife einfach durchlaufen lassen dauerts eindeutig zulange.

ich würde mich riesig über Tipps und kongrete Quelltext-ideen freuen.
[weiterhin Vertreter des "Delphi-Anfänger-slangs"]

[edit]:
Das Programm kann nur einmal gestartet werden, weil des array nomentan nicht gelöscht wird, muss des programm einfach neu gestartet werden:
-also "günstige werte" klicken, damit unser Sonnen system berechnet wird
-dann "berechnen"
-dann ankucken
-dann schliesen
-dann nochmal starten und wieder von vorne anfangen
-ich steck schon immer in der Scheisse nur die Tiefe wechselt-
  Mit Zitat antworten Zitat