[ Pobierz całość w formacie PDF ]
Umożliwia to opisany wcześniej tryb renderowania RENDERMODE_WHEN_DIRTY.
Podsumowanie
Najnowsze urządzenia z Androidem mają bardzo duże możliwości i doskonale obsługują grafikę
zarówno dwu-, jak i trójwymiarową. Choć niektóre optymalizacje są mniej istotne niż jeszcze kilka
lat temu, pojawiają się nowe wyzwania, które związane są z wyższą rozdzielczością obsługiwaną przez
urządzenia, niemal powszechną zgodnością ze standardem OpenGL ES 2.0 i coraz wyższymi
oczekiwaniami użytkowników. W tym rozdziale tylko pokrótce omówiono standard OpenGL ES
i przedstawiono wybrane, łatwe do zaimplementowania techniki, które pozwalają uzyskać istotne
korzyści. Na szczęście istnieje wiele zródeł, z których zarówno początkujący, jak i zaawansowani
dowiedzą się czegoś więcej o standardzie OpenGL. Warto też zajrzeć do dokumentacji udostępnianej
przez producentów procesorów graficznych (firmy ARM, Imagination Technologies, Nvidia,
Qualcomm), gdzie opisane są sposoby optymalizowania renderowania pod kątem poszczególnych
procesorów tego typu.
215
Kup ksi k Poleć ksi k
ROZDZIA 8. GRAFIKA
216
Kup ksi k Poleć ksi k
Skorowidz
.apk, rozszerzenie, 18 api-level.h, 68
, znacznik, 201, 202 APK, plik, 18, 213
, znacznik, 200, 201 Application Not Responding, okno, 33
, 29 Application.mk, plik, 53, 58
architektury wielordzeniowe, 144, 145
ARM Mali GPU Compression Tool, 209
A
ARM, architektura, 45, 79
instrukcje, 91, 92, 93, 94, 95, 96, 97
akcelometr, 188
armeabi, 45
AlarmManager.setInexactRepeating(), 191
armeabi-v7a, 45
alarmy, 190, 191
ARMv5, 54
planowanie, 191
ARMv7, 54
algorytmy
ArrayList, klasa, 32
iteracyjne, 20
Arrays, klasa, 31
rekurencyjne, 20
Arrays.binarySearch, metoda, 31
amp, Patrz amper
Arrays.sort, metoda, 31
amper, 169
asembler, 79, 84
Android, 15
asemblerowy, kod, 80
urządzenia, 30, 45
asset_manager.h, 68
wersje, 28, 29, 30
asset_manager_jni.h, 68
wykonywanie kodu, 18
AsyncTask, klasa, 134, 135, 136, 137
Android Compatibility, 29
AtomicInteger, klasa, 143
android.database, pakiet, 40
android.database.sqlite, pakiet, 40
Android.mk, plik, 58, 60
B
android.renderscript, pakiet, 236
android.util.LruCache, klasa, 27 bateria, 169
android:configChanges, 34 pojemność, 169, 170
android:maxSdkVersion, 29 zużycie energii, 171, 174, 180
android:minSdkVersion, 29 biblioteka natywna
android:targetSdkVersion, 29 kompilowanie, 52
android:vmSafeMode, 19 wczytywanie, 52
Kup ksi k Poleć ksi k
SKOROWIDZ
BigDecimal, typ, 22 double, typ, 110
BigInt, typ, 22 DVFS, 190
BigInteger, typ, 21, 22
bitmap.h, 68
E
BitSet, klasa, 116
boolean, typ, 110
ETC1, 208, 209, 210
Build.VERSION.SDK, 29
etc1tool, narzędzie, 208
Build.VERSION.SDK_INT, 29
etcpack, narzędzie, 208
byte, typ, 110
execSQL, instrukcja, 39
C
F
C, język
Fibonacciego, ciąg, 18, 19
funkcje wbudowane, 100, 101
algorytm iteracyjny, 20, 21
instrukcje dla wektorów, 101
algorytm rekurencyjny, 20
rozszerzenia, 100
architektura wielordzeniowa, 145
CalledFromWrongThreadException, wyjątek, 133
BigInteger, typ, 22, 23, 24
char, typ, 110
optymalizacja, 20, 21
ciąg Fibonacciego, 18, 19
pamięć podręczna, 26
algorytm iteracyjny, 20, 21
float, typ, 110
algorytm rekurencyjny, 20
FloatMath, klasa, 22
architektura wielordzeniowa, 145
FrameLayout, układy, 200, 201
BigInteger, typ, 22, 23, 24
FTS, 42
optymalizacja, 20, 21
funkcje
pamięć podręczna, 26
rozwijanie, 105
Class.forName(), 30
wbudowane, 100, 101
Class.getMethod(), 30
Collections, klasa, 31
G
compileStatement, metoda, 39
configuration.h, 68
GetStringChars, metoda, 65
ConnectivityManager, klasa, 178
GetStringCritical, metoda, 65
ContentValues, klasa, 39
GetStringRegion, metoda, 65, 66
Cortex, 54
GetStringUTFChars, metoda, 65
czujniki, 188, 189
GetStringUTFRegion, metoda, 65, 66
częstotliwość aktualizacji, 189
GLSurfaceView, klasa, 214
Google TV, 30, 45
grafika, 189
D
Dalvik, 18, 42
H
dane
kompresja, 181
Handler, klasa, 137, 138
pobieranie w tle, 178, 179
HandlerThread, klasa, 139
transfer, 179, 180
HashMap, klasa, 26, 27
DatabaseUtils.InsertHelper, klasa, 40
hierarchyviewer, narzędzie, 204, 205
Debug.startMethodTracing(), 160
Debug.stopMethodTracing(), 160
I
Debug.threadCpuTimeNanos(), 159
detectCustomSlowCall(), 36
IllegalArgumentException, wyjątek, 134
dex, kompilator, 18
input.h, 68
dexdump, 18
instrukcje synchroniczne, 142, 143
248
Kup ksi k Poleć ksi k
SKOROWIDZ
int, typ, 21, 110 LinearLayout, układ, 34
interfejsy API, 28, 128 Log, klasa, 166
ite, instrukcja, 83 log.h, 69
iteracyjne, algorytmy, 20 lokalizacja, 181, 182
częstotliwość aktualizacji, 183
dostawcy, 184, 185, 186
J
ostatnia znana, 187
long long, typ, 110
Java, 17
long, typ, 21, 110
łączenie z C i C++, 46, 47, 51
Looper, klasa, 137, 138, 139
typy proste, 110
looper.h, 69
java.lang.Math, typ, 22
java.math, pakiet, 22
java.util, pakiet, 31
java.util.concurrent, pakiet, 139
java.util.concurrent.atomic, pakiet, 143 łańcuchy znaków, 64, 65
[ Pobierz całość w formacie PDF ]