Benchmark di Adobe Flash 10 per Linux e Mac: analisi delle prestazioni.
Considerando il notevole aumento prestazionale di Flash 10 per Linux, e il buzz creato dal rilascio della prima e unica versione a 64 bit del player proprio per il nostro sistema operativo ho deciso di investigare con maggiore attenzione le prestazioni di questo fondamentale componente per la fruizione dei servizi web, ottenendo alcune sorprese che non mi sarei aspettato.
Il post di riferimento è senza dubbio quello di Ars Technica nel quale sono contenuti diversi spunti interessanti.
E' indubbio che la versione di riferimento per quanto riguarda le performance di Flash sia sempre stata, e rimane quella per Windows.
Ciò che non mi sarei aspettato è scoprire che anche la versione per mac è parecchio lenta, forse addirittura peggiore di quella per Linux. Ne ho parlato un po' con l'amico Danilo di Allaboutapple e mi ha confermato l'impressione avuta dal benchmark di Ars Technica: a detta di Danilo, lanciare un qualunque sito che utilizzi flash su Mac, comporta un generale decadimento di prestazioni per l'uso intenso della CPU, tanto da innescare immediatamente la ventola del suo Macbook.
A titolo di esempio, un Macbook Air con un Core 2 Duo a 1.6 Ghz, secondo Ars Technica ottiene un valore GuiMARK Flex 3 di 17 Frame/s, mentre il mio vetusto Pentium M 2.0 Ghz, single core, Ubuntu 8.10 Intrepid Ibex, Driver Ati Open Source ottiene 13 Frame/s, 16 disabilitando Compix Fusion (provando al momento con un sacco di programmi aperti, il risultato "scientifico" è ancora migliore).
E' chiaramente impossibile confrontare direttamente questi dati a causa delle notevole differenze di piattaforma (l'architettura del Macbook è più moderna, dual core ma con un clock inferiore, inoltre si può supporre driver migliori di quelli -in forte sviluppo- Ati open source), tuttavia credo che misurare le prestazioni di Flash 10 per Linux possa essere interessante (e divertente) e così ho pensato di stabilire un protocollo di Benchmark più semplice, meno aleatorio e più orientato all'utenza italiana (su hulu in teoria noi non possiamo accedere!
) di quello proposto da Ars Technica.
Invito chiunque abbia tempo e voglia di collaborare, ad eseguire questi test e a riportare i risultati commentando questo post.
Protocollo di benchmark
-0- Preparazione
Rilevare ed annotare le caratteristiche del computer sul quale si esegue il test:
Hardware: Computer, Processore, Memoria di Sistema, scheda video.
Software: Sistema operativo, (per linux) versione del kernel (uname -r da terminale), browser, driver video, particolari opzioni (es. Compiz Fusion).
Se possibile eseguire i test subito dopo il boot, con il minor numero di software e servizi attivi, usando una sola finestra del browser, possibilmente Firefox su tutte le piattaforme.
La versione dei driver video per linux si può trovare nei pannelli di configurazione dei driver (se presenti) o più in generale attraverso il log (Registro di Sistema) di Xorg o verificando la versione del pacchetto installata dal packet manager (se non lo trovate, la sola tipologia è sufficiente es: Intel open source, Ati Proprietari ecc.).
-1- GUIMark Flex 3
Un benchmark sul disegno 2D di interfacce grafiche.
Recarsi sulla pagina di GUIMark, cliccare su Run Test in alto a sinistra. Attendere qualche secondo finché non sarà mostrato un grafico delle prestazioni e il valor medio in FPS (Average FPS). Appuntarsi questo risultato.
-2- Flash Benchmark '08
Un benchmark per i giochi flash.
Recarsi sulla pagina di Flash Benechmark 2008 e cliccare su Start. Questo benchmark è composto da più stadi di crescente complessità, che si superano se si ottiene un frame rate di almeno 25 fotogrammi/s
Al termine dei vari test (o anche se si fallisce il primo) verrà comunicato un risultato numerico, da appuntarsi.
-3- Video di Youtube.
Video di riferimento: Trailer Watchmen, qualità standard, non a pieno schermo.
Qui le cose si fanno un filo più complicate perché non esiste un benchmark per i video su youtube.
Ci limiteremo quindi ad una valutazione empirica dell'occupazione della CPU durante la riproduzione del video di riferimento.
Per Windows si può usare il task manager, per Mac beh... non saprei
per linux consiglio di evitare i monitor di sistema ad interfaccia grafica, suprattutto quello di Ubuntu (GNOME) in quanto decisamente avidi di risorse.
Ecco come fare:
Aprite un terminale, e lanciate il comando top. Ci sono diversi processi che entrano in gioco durante la riproduzione di un filmato flash. Su Ubuntu sono principalmente Firefox, X.org e pulsaudio, nonostante altri processi siano coinvolti in maniera meno preponderante come Compiz o Metacity.
Per uniformare le misurazioni propongo una rilevazione un po' empirica dell'uso complessivo della CPU, ottenibile (sempre piuttosto empiricamente) sommando i valori us e sy nell'intestazione di top, campo Cpu(s).
Aprite quindi il video di riferimento e verificate il consumo della CPU con top, senza aprire altri programmi. Visto che i valori cambieranno continuamente (ma non di molto) calcolate una media... ad occhio ed annotatela.
Ecco quindi i miei risultati, aggiungete i vostri con un commento, grazie!
1) Laptop.
Hardware: Acer Aspire 5510 Pentium M 2.0 Ghz, 1Gb Ram, Ati Radeon Mobile X700 PCI-Express (128 Mb memoria dedicata)
Software: Ubuntu 8.10 Intrepid Ibex, kernel 2.6.27-7-generic, Driver Ati Open Source 6.9.0, Flash 10.0r12, Mozilla Firefox 3.0.4
Con Compiz-Fusion abilitato (tra parentesi risultati con driver proprietari ATI fglrx):
- GUIMark: 14.72 - (fglrx 15,03)
- Flash Benchmark '08: 8527 - (fglrx 8470 )
- Youtube (on demand): 60% CPU (di cui 20% X.org)
- Youtube (forzato 2Ghz): 35% CPU (di cui 17% X.org) (fglrx 24% - 6% Xorg)
Perché due valori per Youtube? Ho eseguito i test con la mia configurazione di default, e con il profilo di gestione del clock della CPU su "on demand" (aumenta il clock solo se c'è necessità). Mi sono reso conto però che il clock non superava mai il livello base (798 Mhz) così ho forzato la CPU a girare a 2Ghz (frequenza massima) e ho ripetuto il test.
Con Compiz-Fusion disabilitato:
- GUIMark: 18.43 - (fglrx 18,57)
- Flash Benchmark '08: 9904 - (fglrx 9983)
- Youtube (on demand): 42% CPU (di cui 2% X.org)
- Youtube (forzato 2Ghz): 15% CPU (di cui 1.5% X.org) (fglrx 18% - 1.3 Xorg)
Disabilitare Compiz Fusion produce un notevole aumento prestazionale sul mio portatile (me ne ero accorto anche con l'uso quotidiano, senza misurazioni), causato principalmente dall'impressionante riduzione di carico di Xorg, tanto da portare PulseAudio al secondo posto come processo più esoso con il 7% di uso della CPU.
2) Muletto fatto con pezzi di recupero 
Hardware: Athlon Xp 1700+ (1450 Mhz ca), 1Gb Ram, nVidia Geforce Fx 5500 Agp 4x 256 Mb di memoria video.
Software: Kubuntu 8.10 Intrepid Ibex, kernel 2.6.27-7-generic, Driver Proprietari nVidia Version 173, Flash 10.0r12, Mozilla Firefox 3.0.4, nessun effetto grafico di KDE abilitato.
- GUIMark: 10,27
- Flash Benchmark '08: 4245
- Youtube: 30% CPU (di cui 2% X.org)
Quello che sto per scrivere è molto poco professionale nel campo del benchmark, ma vorrei introdurre a titolo di curiosità anche le misure effettuate su Windows che ho in dual boot su questa macchina.
E' l'unica partizione windows che ancora sopravvive in casa, ed è vecchia, stracarica di software ed evocata un paio di volte al mese. Questo NON è un confronto valido per alcuna considerazione prestazionale, in quanto il sistema operativo dovrebbe essere installato di fresco, i driver aggiornati (hanno almeno un anno) e tutti i processi come antivirus, antispyware e tutta la spazzatura necessaria su windows disabilitata (cosa che non ho fatto).
Comunque a titolo esclusivamente di curiosità ecco i risultati su WinXp SP3:
- GUIMark: 11,09
- Flash Benchmark '08: 4331
- Youtube: 38% CPU
L'unica grande differenza riguarda la visualizzazione dei video di youtube a pieno schermo, perfetti con windows, scattosi (inguardabili) con Linux (solo su quest'ultima macchina).
Sorpreso dai risultati, soprattutto in riferimento a quelli del Macintosh, ho chiesto agli amici di All About Apple di collaborare al bechmark, inviandomi alcuni valori di test sulle loro macchine:
Ecco partecipanti e risultati:
William Ghisolfo (Willy), Roberto Odino (Rob), Alessio Ferraro (Ale), Paolo Bianchi (Cyber), Danilo Olivieri (Dan) e a titolo di conforntono Claudio Monchiero su Windows.
Hardware:
Willy: Macpro, 2x dual core intel xeon 2 Ghz, 5Gb 666MHz, geforce 8800GT pciexpress 1.0 512Mb osX 10.5.5, firefox 3.0.3
Rob: Macbook Pro 2.5Ghz Intel Core 2 Duo, 4 Gb Ram, geforce 8600m GT
Ale: Macpro 2x Quad-Core 2.8 Ghz, 8 Gb ram, Geforce Nvidia 8800 GT OS X 10.5.5
Cyber: macbookpro Core 2 duo 2,2 Ghz Ram 4GB (667 ddr2 sdram) GeForce 8600GT 128 MB Mac os X 10.5.5 firefox 3.0.4
Dan: Imac Alluminium 2,4ghz core2Duo, 3 gb di ram, scheda video ATI Radeon HD2600 con 256 gb di VRam, browser Safari
Claudio: S.O. Vista sp1 Cpu Intel core 2duo e8400 @3.0ghz su Intel P35 Ram 4gb ddr2 800 Scheda grafica Ati Radeon HD4870 512mb
GUIMark Flex 3
22(Willy) / 31,15 (Rob) / 31.63(Ale) / 26,44(Cyber) / 27.61(Dan) / 60(Claudio) / 18,57 (Carlo-Ubuntu)
Flash Benchmark '08
Analisi
Analisi:Mac
Questo, e anche i numeri misurati escludono la scheda video come componente chiave per la visualizzazione in flash.
- Il numero di core è ininfluente ai risultati, Flash non è multithread, almeno non per le applicazioni considerate (ignoro se sia possibile assegnare thread specifici a specifiche operazioni in Flash10).
- Su GUIMark, il risultato in Frames è (quasi) perfettamente proporzionale al clock, indipendentemente dalle architetture estremamente differenziate, la frequenza di clock è l'unico discriminante.
- Maggior numero di core nel primo gruppo, che escluderei come fondamentale dato il risultato generale e lo scarto comunque ridotto in termini di prestazioni.
- La maggior efficienza del gruppo processore/cache/memoria primaria dei sistemi fissi rispetto ai portatili e all'all-in-one (l'iMac di Danilo), giustificata dalla presenza sul Mac Pro di processori Xeon e non normali Core 2 Duo/Quad e di ram probabilmente più veloce. Resta da spiegare la maggiore efficienza del "vecchio" MacPro di William, ma in questo caso, considerando le condizioni di test non proprio rigorose può essere ricondotto a fattori esterni (es. programmi o servizi in funzione sulle macchine).
Analisi: Linux.
Dai numeri riportati si evince che Flash 10 per Linux ha prestazioni paragonabili a quelle per Mac spingendomi a pensare che condividano parti di codice.
Ricordiamo che seppure Core 2 Duo abbia come base il Pentium M, l'architettura Core ha subito numerose modifiche e ottimizzazioni già al momento del lancio, notevolmente affinate durante gli anni, per questo credo che un risultato di 9.28 Frame/Ghz su Pentium M a 2 Ghz sia particolarmente significativo se confrontato con un 11 su un Mac Xeon.
Come già evidenziato dalla mia recensione di Ubuntu 8.10, il salto prestazionale ottenuto con Flash 10 è notevole.
Ati: Driver Proprietari Vs. Driver Open Source.
I driver proprietari offrono prestazioni Flash leggermente superiori rispetto a quelli Open Source. A mio avviso l'aumento non giustifica assolutamente l'uso dei driver proprietari, se non per giocare, sulla mia X700.
Come oramai è chiaro, la componete grafica è ininfluente su questo particolare set di test, che però racchiude l'utilizzo tipico di Flash: siti (GUIMark), giochi (FB'08) e video (Youtube). In effetti l'aumento dei valori è spiegato facilmente dal test di youtube: i driver proprietari caricano molto meno Xorg rispetto a quelli open source in presenza di Compiz (6% contro 17% dei driver open), lasciando maggiormente libera la cpu di gestire la scena.
Il misterioso risultato di Flash Benchmark '08
Riprendiamo i dati di Flash Benchmark 2008, almeno fino al secondo livello, al quale il mio computer si ferma:
Poi però crolla al test medium, non riuscendo a superarlo (l'unico del lotto).
Conclusioni.
) e nel male (per porvi rimedio).
novembre 24th, 2008 - 14:58
Non sara’ Flash a farci tradire l’amato Mac
ciao Carlo
novembre 24th, 2008 - 18:12
Notebook HP nx6325
Ati proprietari gli ultimi di novembre
Cpu amd turion 64 x2 2.0 ghz
1 gb ram
1 test) 15 fps
2 test) lite 64 medium 11
3 test) firefox 25% xorg 5%
novembre 24th, 2008 - 22:34
PC assemblato
CPU Intel Core 2 Duo E6600 (2.4 GHz)
RAM 1 GB
Video NVidia 7600 GT
Debian Sid 64 bit
Kernel 2.6.26
Driver video NVidia closed v. 177.80
Flash 10 alpha 64 bit
Browser Iceweasel (Firefox) 3.03
GUIMark: 28.37 fps
Flash Benchmark: 16482
Flash Benchmark lite: 73.14 fps
Flash Benchmark medium 70.23 fps
Flash Benchmark heavy 21.46 fps
Youtube us+sy: 5.5%
Youtube firefox-bin: 12%
Youtube Xorg: 1%
Il risultato di Youtube è piuttosto strano e credo dipenda dal fatto che la CPU è una dual core.
novembre 25th, 2008 - 01:26
La differenza con i driver ATi proprietari e opensource ed inoltre la differenza tra Compiz attivo o disattivato è essenzialmente dovuta alla gestione dell’accelerazione hardware del plugin flash.
L’accelerazione viene forzatamente disattivata quando il plugin si accorge che compiz è attivo e quando è in uso un driver che come “vendor string” presenta “SGI”.
Le prestazioni dunque variano anche da GPU a GPU e da driver a driver, e tra versioni diverse dello stesso driver.
novembre 25th, 2008 - 01:42
Dimenticavo, complimenti per lo sbattimento e per la disamina
novembre 25th, 2008 - 13:48
@ Tutti:
Grazie a tutti per i dati, attendo ancora un po’ per vedere se ne arrivano altri (faccio una “chiamata” anche sul podcast) e completare il post.
@Serveless:
Grazie per i complimenti
, e hai ragione naturalmente, resta da vedere se DRI2 risolverà il problema come per la riproduzione video standard, o questo test è hardcoded e quindi il passo non è così naturale, ho letto pareri discordanti su come Flash identifichi i driver video, ne sai di più?
novembre 25th, 2008 - 21:49
Mi piacciono queste proposte di attività di gruppo
Packard Bell EasyNote V7900
CPU: Intel Centrino Duo T2300
Ram: 1024
Ati mobility radeon X1600
driver: proprietari fglrx 8.54.3
Browser: Firefox 3.0.4
SO: Kubuntu 8.10 KDE4.1 Kernel 2.6.27-7-generic 32bit
Note: effetti desktop disabilitati
1- GUIMark Flex 3: 14.18
2- Flash Benchmark ‘08:
1st test: 72.7 fps
2nd test failed: 21.01 fps
-3 Video di Youtube.
20% circa
5% X.org circa
novembre 25th, 2008 - 22:59
Athlon 64 3500+ 1Gb Ram, Radeon X850XT 256 Mb di memoria video.
driver: proprietari fglrx 8.54.3
Software: Ubuntu 8.10 Intrepid Ibex, kernel 2.6.27-7-generic, Flash 10.0r12, Mozilla Firefox 3.0.4
1- GUIMark Flex 3:
18.6 (compiz off)
14.91(compiz on)
2- Flash Benchmark ‘08:
11399 (compiz off)
8925 (compiz on)
3- Video Youtube.
20% circa
5% X.org circa
novembre 25th, 2008 - 23:29
Ecco i miei risultati
Hardware: AMD Athlon(TM) XP1600+, 1Gb Ram, GeForce FX 5600 (128 Mb memoria dedicata)
Software: Ubuntu 8.10 Intrepid Ibex, kernel 2.6.27-7-generic, Driver NVIDIA 176.14.12, Flash 10.0.12.36, Mozilla Firefox 3.0.4
GUIMark: 9.75
Flash Benchmark ‘08: 2334
Youtube: 55% CPU
novembre 26th, 2008 - 00:36
Ciao Carlo, i complimenti sono meritati.
Passando al discorso sull’uso della GPU da parte del plugin flash, a maggio 2008 sono gli stessi sviluppatori a parlare dei metodi con i quali il plugin sceglie se attivare o meno l’uso della GPU:
http://blogs.adobe.com/penguin.swf/2008/05/flash_uses_the_gpu.html
dicembre 2nd, 2008 - 15:27
Grazie a tutti dei risultati, seguirà aggiornamento al più presto!
dicembre 20th, 2008 - 00:56
A parer mio, è interessante testare anche diversi browser.
Io ho un Vostro 1510 (cpu c2d T8100, gpu nvidia 8400gs, 3gb ram), con su una Debian Lenny RC1 (compiz non installato)
-GUIMark Flex 3: non ho concluso il test, circa 11pt parziale
-Flash Benchmark ‘08: medium fallito (17pt.)
-iceweasel 3.04 e konqueror 3.5.9 occupano in media la cpu fra il 16 e il 20%.
-opera 9.62, durante la riproduzione del filmato su youtube, occupa in media il 5% soltanto della CPU.
Per contro:
-opera 9.62, la gestione del lettore, e anche a volte della pagina intera, risulta “scattosa” (questo più evidente su lettori più complessi, come quello di veoh.com)
-iceweasel 3.04 ha una gestione molto più fluida dei lettori, pur occupando parecchia cpu.
Menziono anche veoh.com perchè a schermo intero iceweasel mostra degli strani scatti, come delle righe orizzontali, pur restando la visione fluida. Opera no.
Gia che ci sono, ne
dicembre 20th, 2008 - 01:02
dimenticavo: kernel 2.6.26, driver nvidia 173.14.09-5 (dai repository debian) e plugin flash 10r12.
I driver ovviamente hanno il direct rendering abilitato.
dicembre 20th, 2008 - 01:04
scusate, sono sempre io ai commenti #12 e #13.