Ich versuche zu entscheiden, ob in erster Linie Floats oder Ints für alle 3D-Elemente in meiner App verwendet werden sollen (was meistens C++ ist). Ich verstehe, dass die meisten ARM-basierten Geräte keine Hardware-Gleitkomma-Unterstützung haben, daher denke ich, dass jedes schwere Heben mit Floats merklich langsamer wäre.Fließkomma oder Festkomma für Android NDK OpenGL apps?
Ich plane jedoch, alle Daten größtenteils vorzubereiten (d. H. Haben Vertexpuffer wo anwendbar und transformieren mit Matrizen, die sich nicht viel ändern), also stopfen ich nur Daten in OpenGL's Kehle. Kann ich davon ausgehen, dass dies mehr oder weniger direkt an die GPU geht und als solche relativ schnell geht? (Btw, die Mindestanforderung ist OpenGL ES 2.0, so dass vermutlich ältere 1.x-basierte Telefone ausschließt.)
Auch - wie ist die Strafe, wenn ich Ints und Floats mische und vergleiche? Angenommen, alle meine Geometrie sind nur vordefinierte Float-Puffer, aber ich benutze Ints für Matrizen, da diese teure Operationen wie Matrix-Multiplikationen erfordern, wie viel Zorn werde ich hier eingehen?
Übrigens, ich weiß, dass ich meine Erwartungen niedrig halten sollte (klingt, als ob man sogar nach Floats auf der CPU fragt, zu viel verlangt), aber gibt es etwas Entferntes wie 128-Bit-VMX-Register?
(Und ich hofft insgeheim, dass fadden diese Frage liest und hat eine tolle Antwort.)
Ich wusste, dass Fadden die Antwort darauf hatte. Ich wünschte, ich könnte mehr als einmal abstimmen :) Ich beschränke mich bereits auf OpenGL ES 2.0, damit ich Vertex- und Fragment-Shader schreiben kann, also denke ich, dass ich auch den ganzen Weg gehen kann und ARMv7 benötige (was wahrscheinlich auch reicht) Hand). Ich würde lieber mehr Leute von einer kleineren Nutzerbasis mit einer gut aussehenden App anziehen, als etwas Müll in die Massen zu schmeißen. Die meiste Zeit haben sie damit aufgehört, Spiele für die PlayStation 1 zu entwickeln. – EboMike
Sie sollten dann auf ARMv7 float gehen. Es geht nicht Hand in Hand mit OpenGL ES 2.0, aber es ist in der Nähe – ognian
Es scheint, dass die meisten neuen Handys OpenGL ES 2.0 haben. Allerdings habe ich mir Benchmark-Werte wie den AnTuTu-Benchmark angesehen und herausgefunden, dass viele der preisgünstigeren Modelle ohne FPU sind. –