Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by dmdjt,
21. Aug 2014
Das komische ist, dass p: array of Tpoint langsamer als x,y,z: of double ist. Zumindest bei dem oben beschrieben Test.
Ich verstehe davon leider zu wenig und hab nie den richtigen Zugang gefunden. Da fehlt mir einiges...:-(
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by dmdjt,
21. Aug 2014
Das würde mich ziemlich interessieren!
Assembler verstehe ich zu wenig... und das beißt mir jetzt ein wenig in den A****. Meine Erfahrungen sind leider nie über PIC-Assembler gestiegen. Insofern würde mich das wirklich sehr interessieren!
Von dem her, was Du da schreibst, klingt es mehr als logisch.
Ich bilde mir ein, im Laufe meiner Recherchen gelesen zu haben, dass dieser Aufbau dem...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by dmdjt,
21. Aug 2014
Der Algo hieß ziemlich sicher Verlet Integration ;-)
Habs davor einfach per Euler versucht, aber das wird einfach zu instabil. Deswegen muss man Dämpfungen unnatürlich hoch einstellen und alles wirkt wie unter Wasser oder Honig :D
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by dmdjt,
21. Aug 2014
Aphton:
Mir ist klar, wie das aussieht und dass es wirklich, wirklich nicht schön ist. Aber wenn ich die so anlege und nicht in einem Record, scheint es zumindest in meinem Test etwa 10% schneller zu sein.
x,y,z : array of double;
z := x*y;
//vs.
a: array of TPoint;
a.z := a.x*a.y;
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by dmdjt,
21. Aug 2014
Im Prinzip scheint sich mir damit alles beantwortet zu haben.
Wenn ich ein Element lösche, dann markiere ich es als gelöscht.
Ich denke, das werde ich mit einem Zeiger machen, der falls nicht gelöscht 0 ist, und ansonsten auf das nächste, belegte Element zeigt. Vielleicht ist das ja nützlich wenn es größere Löcher geben sollte, muss ich testen. Ansonsten einfach nur als gelöscht markieren....
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by dmdjt,
21. Aug 2014
Namenloser, lieben Dank fürs Nehmen meiner Ängste! :D
Das hab ich nämlich komplett übersehen.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by dmdjt,
21. Aug 2014
Wow, das geht ja schnell! Danke!
Das Problem am Löschen ist, das zwischenzeitlich immer wieder einzelne Elemente gelöscht werden müssen... und dann mit einem neuen Abschnitt im Spiel doch auch wieder eine größere Menge. Das resultiert dann in plötzlichen Rucklern. Ich dachte mir auch, dass ich die Elemente einfach im Array belassen könnte und sie einfach als gelöscht markiere. Ab so steigt...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by dmdjt,
21. Aug 2014
Danke für die schnelle Antwort!
Mit Rrecord hab ich es schon probiert. Da brauchen die Zugriffe im Schnitt 10% länger.
Außerdem löst das mein Problem mit dem verschobenen Index leider nicht :-(
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by dmdjt,
21. Aug 2014
Hallo liebe Leute!
Ich lese schon einige Jahre hier mit und kam eigentlich nie wirklich dazu etwas zu erfragen, weil sich durch einiges stöbern praktisch alles klären lässt.
Jetzt hab ich mich hinreißen lassen ein kleines Spiel zu programmieren, das zu einem gewissen Teil auf einer PhysicEngine (nur Feder-Masse-Dämpfung) aufbauen soll.
Die Engine selbst hab ich schön objektorientiert...