| |
| |
Benchmark
delle prestazioni grafiche dei device
Uno dei più importanti sviluppi in atto nel mondo della telefonia
mobile è collegato alla diffusione di device come Smartphone
e Pda dalle grandi potenzialità multimediali, che oltre ad essere
dotati di fotocamera integrata presentano display dalla alta qualità
in termini di risoluzione e profondità dei colori.
Ciò ha reso possibile la realizzazione di applicazioni, non solo
di tipo enterteinment, che possono sfruttare le evolute prestazioni
grafiche dei devices attualmente in commercio. Le più diffuse
sono applicazioni J2ME (primi fra tutti i giochi Java per cellulare)
che
portano al limite le capacità grafiche dei telefonini.
In questo scenario può essere utile valutare le performance grafiche
del device che si ha a disposizione.
L'Osservatorio
PeC Forum mette a disposizione degli sviluppatori e degli utenti che
vogliono testare le capacità grafiche dei device il software
Amark 1.3 ( Sviluppato da Andrea Fasce andrea@nondove.it ©
NONDOVE srl 2003-2004 )
Amark
è uno strumento di benchmarking sviluppato per effettuare test
grafici di telefoni e altri device (palmari, etc.) dotati di macchine
virtuali java compatibili con le specifiche CLCD 1.0 e MIDP 1.0 e quindi
in grado di eseguire applicazioni J2ME (Java 2 Micro Edition). Questo
programma permette di testare le capacità grafiche e l’ottimizzazione
delle librerie grafiche disponibili sui vari devices in circolazione.
Download
di Amark 1.3.jar
Download
di Amark 1.3.jad
| PRIMI
TEST |
Nella
tavola sono riportati i risultati delle prime misurazioni effettuate
dagli utenti su alcuni terminali (febbraio 2004).
Il valore mostrato corrisponde al dato fornito al
termine del test sotto
la voce "Geomean of FPS values", che rappresenta la media
dei risultati ottenuti nelle varie prove.
Notiamo come il miglior punteggio sia stato ottenuto dal Nokia 6600,
seguito dal Nokia 3650 e dal videofonino Motorola A920.
Questi primi risultati serviranno a determinare dei valori di best
pratice sul test Amark. |
| RIM
BlackBerry 7230
|
|
8,6 |
| Xplore
G18 |
|
9,21 |
| Xplore
G88 |
|
11,47 |
| Nokia
7650 |
|
16,15 |
| Motorola
A920 |
|
16,20 |
| Nokia
3650 |
|
16.81 |
| Nokia
6660 |
|
19,30 |
| Sony
Ericsson P800
|
|
29,57 |
|
Utilizzo
Una volta installata la midlet sul proprio device (in molti casi
per installare Amark basta semplicemente andare su http://amark.nondove.it/Amark.jad
(ricordarsi la A maiuscola !)), oppure http://amark.nondove.it/Amark.jar
e lanciata l’applicazione si ha a disposizione un menù
dove è possibile compiere alcune scelte:
- [standard] e [fullscreen]
permettono di lanciare l’esecuzione dei tests grafici utilizzando
come dimensioni di schermo delle dimensioni standard di 96x65
(modalità [standard]) oppure tutta l’area disponibile
alla midlet (modalità [fullscreen]). E’ importante
considerare il fatto che per effettuare confronti diretti tra
due telefoni diversi è opportuno scegliere la modalità
[standard] a meno di non avere la certezza che le dimensioni dell’area
utilizzabile dei due telefoni non sia la stessa. Questo perché
la differente risoluzione incide molto sulla velocità di
esecuzione dei vari test
- test JVM permette di ricavare
alcuni parametri utili sull’implementazione della java virtual
machine
- about fornisce alcune informazioni di copyright
- exit esce dall’applicazione
Opzione test JVM
Tramite questa scelta è possibile conoscere alcune proprietà
della macchina virtuale disponibile sul device:
- width e height sono rispettivamente
la larghezza e l’altezza dell’area disponibile per
la midlet
- iscolor e colors
indicano se sono supportati i colori e quanti diversi colori sono
supportati (ad esempio 256 significa profondità colore
a 8 bit, 4096 a 16bit etc)
- offImage, offImageMutable
e offGraphics indicano se è possibile
creare oggetti Image offscreen, se sono modificabili e se è
possibile ottenere un oggetto di tipo Graphics da quelle immagini
- doubleBuffer indica se lo
schermo supporta il double buffer in maniera automatica
- pointerEvents e pointerMotion
indicano se è possibile rilevare gli eventi ed il movimento
di un eventuale puntatore (ad esempio un mouse connesso, un touchscreen
etc)
- repeatEvents indica se è
supportato il repeat dei tasti quando un tasto viene mantenuto
premuto
- totalMemory e freeMemory
indicano la quantità di memoria totale disponibile per
l’applicazione e la memoria libera
- configuration indica il tipo
di configurazione implementazione supportato dalla JVM (di solito
CLCD-1.0)
- profiles indica i profili
supportati dalla JVM (MIDP-1.0 sui devices che implementato MIDP
1.0)
- encoding indica l’encoding
di caratteri supportato come default dalla JVM
- test1 indica se un test di
scrittura sull’oggetto Image creato offscreen ed eseguito
fuori dal metodo paint è stato eseguito correttamente
Test
effettuati
Quando vengono scelte le voci [standard] o [fullscreen]
vengono eseguiti una serie di test:
-
startup mentre viene mostrato un messaggio di
copyright viene testata la capacità di muovere testo sullo
schermo e semplici forme
- 3d-lines vengono mossi dei
cubi in wireframe sullo schermo. Questo test verifica sia la velocità
in cui vengono disegnate le linee che la capacità di effettuare
calcoli matriciali complessi utilizzando interi
- 3d-stars viene generato un
campo tridimensionale di stelle e viene animato sullo schermo.
Verifica la capacità di gestire oggetti di piccolissime
dimensioni (punti)
- shapes vengono generate delle
forme riempite che ruotano sullo schermo. Verifica la capacità
di gestire superfici riempite
- flag crea sullo schermo una
bandiera grafica che sventola in realtime. Testa la capacità
di muovere molte piccole zone dello schermo ed animarle
- 100-triangles calcola il tempo
che ci mette il telefono a disegnare 100 triangoli random riempiti
sullo schermo
- chunky-1 calcola il tempo
che ci mette la conversione di uno schermo di tipo chunky (ovvero
indirizzabile pixel per pixel) utilizzando linee
- chunky-2 calcola il tempo
che ci mette la conversione di uno schermo di tipo chunky utilizzando
rettangoli
- fractal verifica la capacità
di generare frattali grafici tramite semplici operazioni sullo
schermo di movimento di blocchi di grafica
- mosaic viene mostrato l’effetto
mosaic. Verifica la capacità di gestire molte operazione
di clipping e copia di immagini di dimensione prefissata
- zoomer viene mostrato uno
zoom di una immagine in realtime. Verifica la capacità
di gestire molte operazione di clipping e copia di blocchi di
immagine di dimensioni variabili
- tmap mostra la capacità
di eseguire texture mapping su un telefono. Questo test verifica
la capacità di gestire clipping e copia di piccolissime
aree di schermo (della dimensione di 1 pixel).
- voxel mostra la generazione
in tempo reale di un landscape e la sua animazione. Viene verificata
la capacità di gestire array numerici molto grossi con
operazioni sparse e la capacità di disegnare tali array
su schermo
|
|
Come
leggere i test
Ogni
test viene eseguito per un tempo di circa 10 secondi; alla fine
dei test viene mostrato un menù contenente i risultati rilevati
dai vari test. Per ogni test viene riportato sia il valore AvgFPS,
che indica il frame rate medio di visualizzazione mantenuto durante
la visualizzazione dell’effetto, sia il valore Score
che attribuisce un punteggio numerico al test.
In alcuni casi non è presente la voce AvgFps, ma è
presente il valore Score espresso in millisecondi: in tali casi
il test può fornire, ad esempio, il tempo per il disegno
di n oggetti.
Anche in altri casi il valore di Score è espresso in millisecondi:
non ha una durata prestabilita (ovvero 10 secondi), ma viene lasciato
eseguire completamente dall’inizio alla fine. Un esempio di
questo tipo di test è lo zoomer, per il quale può
essere utile sapere quanto tempo occorre per eseguirlo. |
Al
termine del menù viene mostrata la voce "Geomean of FPS
values"; tale valore rappresenta il valore medio dell’esecuzione
dei vari test, ed é una sorta di punteggio globale per il device.
|
Effettui
il test con Amark 1.3 sul suo terminale java e ci comunichi il
valore medio misurato nei vari test rappresentato dalla voce Geomean
of FPS values |
|
|
| |