Was passiert, wenn Sie schwimmende Punktzahlen in Java in feste Punktzahlen konvertieren (speziell Java ME)

StackOverflow https://stackoverflow.com/questions/7309922

Frage

Ich will meine Java mich Programm, um so effizient wie möglich auszuführen. Mein Ziel ist es, einen Ray -Cast zu machen und den besten Weg zu durchqueren zu wollen. Ich habe gehört, dass die Konvertierung und der Vergleich der schwimmenden Punktzahlen sehr CPU -intensiv sind. Also dachte ich mir, warum nicht jedem Strahlen x und y einen bestimmten Abstand hinzufügen, den Rest abschneiden und diese Koordinaten verwenden, um dann einen Octree auf ein Voxel zu überprüfen. Im Grunde genommen gibt es eine bessere Möglichkeit, so etwas für a zu machen Java mich Programm?

Abschnitten von schwimmenden Punktzahlen?

War es hilfreich?

Lösung

"Floating Point Math ist langsam" ist alte Weisheit - es ist jedoch auch veraltete Weisheit. Bei modernen Desktop-CPUs sind die Gleitkomma-Berechnungen schnell, und es gibt wenig, was bei Festpunktberechnungen profitiert.

Bearbeiten Sie nach dem erneuten Lesen des Fragentitels: Der von Ihnen beschriebene Ansatz ist vollkommen lebensfähig, außer dass Sie sich multiplizieren und nicht zu jeder Zahl hinzufügen müssen. Sie sollten jedoch zuerst ein kleines Leistungstestprogramm schreiben, mit dem die Art von Berechnungen, die Sie durchführen möchten, tatsächlich von Mathematik mit festem Punkt in der Hardware profitieren, in der Sie Ihr Programm ausführen möchten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top