Grüße,
ich arbeite im Moment mit 3D-Vektor Objekten die je aus 3 floats (x, y, z) bestehen. Im Zuge von Berechnungen müssen Methoden wie distanceToPlane(...) distanceToLine(...) und distanceToPoint(...) im Bereich von ~1000 mal pro Frame aufgerufen werden.
Ich habe jetzt die Wahl diese Methoden "schön" zu schreiben, also neue Vektor-Objekte zu erstellen oder es nicht so "schön" zu schreiben und nur floats für zwischen Ergebnisse etc. zu verwenden.
Meine Frage ist nun wie Speicher / Performance Intensiv es ist pro Frame x * 1000 neue Objekte zu erstellen und direkt danach wieder einzustampfen. Wie sehr unterscheidet es sich von x * 3 * 1000 floats zu allokieren und wieder freizugeben?
Ab welchem Punkt ist der "Overhead" des Objekts (GC) zu den floats signifikant?
Ich hab leider zu wenig Kenntnisse um meine eigenen Benchmarks zu erstellen bzw. kenne mich nicht besonders gut mit Profilern aus.
ich arbeite im Moment mit 3D-Vektor Objekten die je aus 3 floats (x, y, z) bestehen. Im Zuge von Berechnungen müssen Methoden wie distanceToPlane(...) distanceToLine(...) und distanceToPoint(...) im Bereich von ~1000 mal pro Frame aufgerufen werden.
Ich habe jetzt die Wahl diese Methoden "schön" zu schreiben, also neue Vektor-Objekte zu erstellen oder es nicht so "schön" zu schreiben und nur floats für zwischen Ergebnisse etc. zu verwenden.
Meine Frage ist nun wie Speicher / Performance Intensiv es ist pro Frame x * 1000 neue Objekte zu erstellen und direkt danach wieder einzustampfen. Wie sehr unterscheidet es sich von x * 3 * 1000 floats zu allokieren und wieder freizugeben?
Ab welchem Punkt ist der "Overhead" des Objekts (GC) zu den floats signifikant?
Ich hab leider zu wenig Kenntnisse um meine eigenen Benchmarks zu erstellen bzw. kenne mich nicht besonders gut mit Profilern aus.