Próbuję zdecydować, czy przede wszystkim używać elementów pływających lub int dla wszystkich elementów związanych z 3D w mojej aplikacji (która w większości jest w C++). Rozumiem, że większość urządzeń opartych na ARM nie ma wsparcia zmiennoprzecinkowego, więc sądzę, że każde ciężkie podnoszenie za pomocą pływaków byłoby zauważalnie wolniejsze.Zmienna lub punkt stały dla aplikacji OpenGL na Androida NDK?
Jednak planuję przygotować wszystkie dane w przeważającej części (tj. W razie potrzeby posiadać bufory vertex i transformować za pomocą macierzy, które nie zmieniają się zbyt często), więc po prostu wypycham dane przez gardło OpenGL. Czy mogę założyć, że dzieje się to mniej więcej prosto na GPU i czy będzie to rozsądnie szybkie? (Btw, minimalnym wymaganiem jest OpenGL ES 2.0, więc prawdopodobnie wyklucza starsze telefony oparte na 1.x).
Również - jaka jest kara, gdy miksuję i dopasowuję ints i floats? Zakładając, że cała moja geometria jest tylko wstępnie zbudowanymi buforami float, ale używam ints dla macierzy, ponieważ wymagają one drogich operacji, takich jak multiplikacje macierzy, ile gniewu tu przyłożę?
Swoją drogą, wiem, że powinienem zachować niskie oczekiwania (brzmi to tak, jakby nawet pytanie o pływaki na procesorze wymagało zbyt wiele), ale czy jest coś, co zdalnie przypomina rejestr 128-bitowy VMX?
(I mam nadzieję, że potajemnie Fadden czyta to pytanie i ma niesamowite odpowiedź.)
Wiedziałem, że Fadden miał na to odpowiedź. Chciałbym móc głosować więcej niż raz :) Już ograniczam się do OpenGL ES 2.0, dzięki czemu mogę napisać vertex i fragmenty shaderów, więc myślę, że równie dobrze mogę przejść całą drogę i wymagać ARMv7 (co prawdopodobnie idzie w parze dłoń). Wolałabym przyciągnąć więcej osób z mniejszej bazy użytkowników z atrakcyjnie wyglądającą aplikacją niż wyrzucać śmieci do mas. W większości przestali także robić gry na PlayStation 1. – EboMike
Powinieneś pójść na float na ARMv7. Nie idzie to w parze z OpenGL ES 2.0, ale jest blisko. – ognian
Wygląda na to, że większość nowych telefonów ma OpenGL ES 2.0. Jednak przyjrzałem się punktom odniesienia, takim jak benchmark AnTuTu, i odkryłem, że wiele z tańszych modeli nie ma FPU. –