C ++ - Tipps zur Codeoptimierung auf ARM-Geräten

Ich habe C ++ - Code für Augmented Reality auf ARM-Geräten entwickelt und die Optimierung des Codes ist sehr wichtig, um eine gute Bildrate beizubehalten. Um die Effizienz auf das Maximum zu steigern, halte ich es für wichtig, allgemeine Tipps zu sammeln, die den Compilern das Leben erleichtern und die Anzahl der Cicles des Programms verringern. Jeder Vorschlag wird begrüßt.

1-Vermeiden Sie teure Anweisungen: Division, Quadratwurzel, Sünde, cos

Verwenden Sie logische Verschiebungen, um durch 2 zu teilen oder zu multiplizieren.Nach Möglichkeit mit der Umkehrung multiplizieren.

2- Optimiereninnere "for" Schleifen: Sie sind ein Flaschenhals, deshalb sollten wir vermeiden, viele Berechnungen in Innenräumen durchzuführen, insbesondere in Teilungen, Quadratwurzeln.

3- VerwendenNachschlagetabellen für einige mathematische Funktionen (sin, cos, ...)

NÜTZLICHE HILFSMITTEL

objdump: Ruft den Assembler-Code des kompilierten Programms ab. Auf diese Weise können zwei Funktionen verglichen und überprüft werden, ob sie wirklich optimiert sind.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage