Archive for the ‘A6Tc’ Category

Linux e il 3D Benchmarking

Monday, February 23rd, 2009

L’analisi delle prestazioni di un elaboratore consiste nel misurare le capacità di calcolo con un insieme di programmi (carico di lavoro, detto workload) particolari. “Nella maggior parte dei casi le prestazioni sono l’attributo più importante nell’orientare la scelta fra diversi elaboratori disponibili” (Patterson e Hennessy, Struttura e progetto dei calcolatori, pag. 37). Certamente la misura da sola non suggerisce alcuna indicazione utile all’acquirente. Occorre ripeterla fra varie macchine, cioè svolgere un confronto e poi riferire i risultanti. Studiando questi dati, nel corso degli anni, i progettisti hanno perfezionato gli elementi del personal computer che davano maggiori prestazioni in certe aree piuttosto che in altre. L’acceleratore grafico (GPU) ha sostituito la CPU nei calcoli geometrici e si è specializzato sul rendering delle scene 3D. La tecnologia SLI (o l’alternativa Crossfire), di recente invenzione, promette di raddoppiare o triplicare (quasi), a seconda del numero di GPU messe in parallelo, le prestazioni dell’elaboratore con le applicazioni 3D che sono prevalentemente giochi basati su OpenGL o DirectX. Gli ingegneri hanno aggiunto poi alla GPU le istruzioni macchina per risolvere complicate formule di matematica e fisica, mi riferisco all’engine CUDA di nVidia. Una valutazione accurata sull’efficienza del sistema hardware e software viene svolta con un gruppo di benchmark. Si tratta spesso di programmi individuati fra quelli che l’utente utilizza abitualmente (Phoronix Test Suite), oppure sono applicazioni specifiche che esaminano determinate componenti (CPU2006, RAMSpeed, ecc). Oggi la grafica 3D richiede più potenza e memoria di qualsiasi altro programma per PC. Quando usiamo i videogiochi come carico di lavoro sul nostro banco di prova, otteniamo una previsione molto attendibile delle prestazioni del calcolatore. Il metodo è semplice. Possiamo valutare l’affidabilità del nostro computer partendo dai seguenti giochi: Quake III, Unreal Tournament 4, Doom 3, Enemy Territory, Quake Wars, Savage 2, Nexuiz, perché li troviamo a pagamento, gratuitamente o come demo nel World Wide Web e con uno sforzo minimo riusciamo a installarli in Linux.

Quake Wars

Quake Wars si adatta bene all’analisi delle prestazioni. Il suo motore grafico è derivato da Doom 3 e incorpora la tecnologia denominata MegaTexture che migliora indubbiamente l’aspetto del gioco negli spazi aperti della mappa. Possiamo adoperare, per il nostro scopo, la versione di prova oppure quella commerciale. Prima dobbiamo scegliere la mappa, quindi registrare una partita da Internet e poi ripetere la registrazione con una opzione determinata. Al termine dell’operazione, il motore grafico calcola il frame rate dividendo il numero totale di immagini che compongono l’animazione con il tempo, espresso in secondi, impiegato dalla macchina fisica per visualizzarle. Il risultato esprime l’effettiva prestazione della scheda grafica e del sottosistema hardware/software. Il valore suggerisce anche a quale risoluzione video possiamo giocare senza perdere troppa qualità nell’immagine.

Scarica uno dei pacchetti messi a disposizione per Linux

Quake Wars demo v2.0
– Contiene la mappa Valley
Quake Wars 1.5 Full – Richiede il DVD

Per registrare una partita, collegati a un server e premi il tasto F12. Troverai il file della registrazione nella directory:
$HOME/.etqw/base/demos

Dalla console del gioco esegui i seguenti comandi in successione:

com_unlock_FPS 1
com_unlock_timingMethod 0
com_showFPS 1
timeNetDemo FILENAME.ndm
condump FILENAME.log

Puoi mettere questi comandi, preceduti dalla parola chiave seta, in un file di testo chiamato NOMEFILE.cfg:

seta com_unlock_FPS 1
seta com_unlock_timingMethod 0
seta com_showFPS 1
timeNetDemo FILENAME.ndm (* questo senza seta *)

Poi dalla console devi soltanto invocarlo con:
exec NOMEFILE.cfg

Non dimenticare la riga di comando di Unix che abilita la console (se disabilitata):

etqw +set com_AllowConsole 1

Ho messo a confronto il PC Frag Storm con il portatile Asus A6Tc. I risultati sono raccolti in diversi istogrammi. Tra i due computer c’è una marcata differenza di prestazioni alle alte risoluzioni: da 1280×1024 pixels in su, per intenderci. Lo scarto si riduce ad appena venti FPS usando la configurazione di 800×600 pixels con bassa qualità della immagine. Da questa analisi, mi aspettavo un rendimento maggiore dal PC Fragstorm perché montava delle componenti più moderne e potenti. Ma non posso nemmeno lamentarmi ora che raggiungo le risoluzioni elevate mantenendo un frame rate decente: il minimo di quaranta FPS è pur sempre garantito a 1680×1050 pixels, a questo livello ricordo che la resa del portatile era pressoché nulla. Non ho preso in considerazione l’overclocking, col quale avrei potuto guadagnare prestazioni leggermente superiori, credo.

1687

PC Fragstorm

  • CPU Amd Athlon 64 X2, 2.5GHz
  • 2 GB DDR2, 800MHz
  • GeForce 8600 GTS, GPU Clock=675Mhz, Memoria DDR3 da 1008Mhz

Asus A6Tc

  • CPU Amd Turion 64 X2, 1.60Ghz
  • 1 GB DDR2, 533Mhz
  • GeForce 7300 Go, GPU Clock=325MHz

Come collaudare la macchina. Phoronix Test Suite Feet. Hardinfo

Monday, March 17th, 2008

Hardinfo Benchamark, Test, Profiler, sono parole chiavi che usiamo con una certa frequenza per riferirci alle analisi qualitative e quantitative effettuate sulle componenti dei nostri computer. Forse, dopo l’acquisto o il montaggio pezzo per pezzo di un PC, la prima cosa che desideriamo è conoscere i pregi e i difetti del sistema quando esso viene sottoposto a intense elaborazioni, in poche parole scoprirne il rendimento. Questi carichi di lavoro hanno diversa natura, a volte vengono fatti con funzioni matematiche complesse, altre con applicazioni grafiche (demo) o videogiochi che sollecitano maggiormente i vari dispositivi installati: CPU, disco rigido, memoria, scheda grafica, scheda audio, scheda di rete. L’argomento è di vitale importanza per un giocatore degno di rispetto :)
Mentre gli utenti di sistemi Windows hanno un’idea precisa su quale software adoperare – faccio un esempio: 3DMark, divenuto molto popolare con gli anni – per compiere queste analisi sull’hardware, al contrario gli utenti Linux sono un po’ disorientati perché trovano tanti piccoli software specializzati, spesso datati. Non c’è insomma uno strumento preciso e indiscusso sul quale fare affidamento nelle prove.
Phoronix è un sito web che dal 2004 tratta di tecnologia informatica, soprattutto effettua analisi e comparazioni di prodotti hardware e software per Linux. Phoronix si può considerare un giornale autorevole in questo campo. I loro articoli hanno ricevuto riconoscimenti da molte parti: CNET, Slashdot soltanto per citare alcuni portali famosi. Io accolgo volentieri la loro ultima iniziativa editoriale, ossia creare una guida destinata all’utente a casa per riprodurre gli stessi test delle loro commisurazioni, anche una raccolta di programmi che automatizzi il processo di benchmarking. Phoronix Test Suite (sito ufficiale in preparazione) fornirà sia la documentazione, sia i programmi da eseguire in una interfaccia grafica GTK. I risultati saranno poi archiviati in file XML e XSL per essere facilmente esportati ad altri formati, trasformati in istogrammi (si veda Phx Grapher Utility, detto anche pts-grapher) da incapsulare direttamente nelle pagine web oppure semplicemente visualizzati dal viewer creato “ad hoc“. Quando gli utenti ripeteranno i benchmark con i propri sistemi e pubblicherano i dati online, indirettamente invoglieranno i produttori degli oggetti hardware più disparati a ottimizzare i driver e il supporto in generale per Linux. Per raggiungere tale scopo, è fondamentale però rispettare uno standard o utilizzare almeno lo stesso insieme di programmi, pertanto mi adeguerò in futuro alle direttive di Phoronix.

Hardinfo Synchronizing

Hardinfo

Questo programma sicuramente non va sottovalutato. Può raccogliere informazioni dal tuo sistema a livello hardware e software, effettuare benchmarks e salvare i risultati in formato html o testo, persino inviarli al database centrale di Hardinfo (synchronizing) e scaricare quelli degli altri utenti per rendere la comparazione piu’ precisa. Permette di integrare facilmente altri benchmarks o applicazioni come moduli, rendendo le possibilità di espansione praticamente infinite o limitate solo dalla nostra immaginazione; un programma bomba! Potrebbe essere questa in futuro la GUI definitiva per Phoronix Test Suite dato che Michael Larabel, a capo di Phoronix, si è dichiarato recentemente interessato. Le pagine html che seguono sono state prodotte proprio con Hardinfo, l’ho eseguito sul portatile che attualmente uso per giocare: il mio Asus A6Tc.

(+) Hardinfo Benchmarks su Asus A6Tc
(+) Hardinfo Devices per Asus A6Tc

Sistemi Linux a confronto con Quake Wars 1.2

Sunday, November 4th, 2007

Dopo aver installato Quake Wars dal DVD usando la patch 1.2, ho messo a confronto i tre sistemi Linux a 32bit installati sul mio Asus A6Tc; era giunto il momento di verificare effettivamente quali livelli di prestazioni poteva raggiungere il portatile, anche se avrei voluto compiere questo test molto tempo fa, poiché lo comprai nell’estate del 2006 (magari con Doom 3 o Quake 4). Sul banco di prova ho messo così la distribuzione OpenSUSE 10.3, Linux From Scratch 6.2 e Linux From Scratch 6.3. Soltanto questi ultimi due sistemi avevano l’opzione CONFIG_HZ_1000 e il modello preemption LOW LATENCY, dato che ne suggeriva l’attivazione Timothee Besset sia per il server che il client di Quake Wars. OpenSUSE usava invece il parametro CONFIG_HZ_250 e un modello preemption VOLUNTARY ma, come ho potuto già osservare in precedenza (rif. OpenSUSE 10.3, distro tuttofare), sono caratteristiche che non hanno spinto piu’ di altre il gioco. Le versioni del kernel erano 2.6.16.26, 2.6.23.1, 2.6.22.5-31 rispettivamente per LFS 6.2, LFS 6.3 e OpenSUSE. Eccetto LFS 6.3 che usava la versione 100.14.19, sugli altri due sistemi era installato durante il benchmark il vecchio driver 1.0-9755, dimostratosi “affidabile” per tutto il 2006 e 2007.

Il driver 1.0-9755 non si installava su Linux From Scratch 6.3, a causa di incompatibilità con la versione del kernel. Mi è dispiaciuto questo perché la serie 100.XX.XX faceva i capricci mentre girava il timedemo. Avvenivano congelamenti dello schermo improvvisi e fatali che mi lasciavano di fronte a una sola alternativa per riavere il controllo sul sistema… riavviare (si legga anche Zander in “100.14.19 nvidia geforce go 7200 flashing and freezing“).
L’opzione irqpoll per il kernel pare risolvere parzialmente il problema, per lo meno ora avvengono solo brevi interruzioni, della durata di 2 o 3 secondi mediamente, dei programmi in esecuzione. Per questo motivo dai diagrammi LOW QUALITY il LFS 6.3 esce con un rendimento peggiore rispetto agli altri due sistemi analizzati; esso ha un deficit anche di 4 FPS.

Dunque la patch 1.2 installa Quake Wars automaticamente dal DVD; quando si carica il gioco per la prima volta, occorre creare un account online, ovvero scegliere un nome e una password che identificheranno il giocatore nelle gare sui server con le statistiche (RANKED).
La demo usata nelle prove era stata registrata per circa tre minuti con il comando toggleNetDemo (F12) durante la terza fase di una partita in corso sulla mappa Salvage. In essa l’azione si svolgeva sia all’interno degli edifici che all’esterno e quindi secondo me era perfetta per valutare il comportamento dell’engine con diversi livelli di dettaglio, illuminazione e ambientazione. Per un minuto ho sorvolato come spettatore la zona dove la guardia GDF faceva il suo ingresso nel gioco, nei pressi della struttura di salvataggio delle informazioni top-secret (Salvage). Dopo di che sono passato a osservare l’azione dal punto di vista del giocatore, in First Person Shooter come si suol dire, cambiandola spesso repentinamente.
Il comando timeNetdemo carica una partita precedentemente registrata e al termine calcola il frame rate medio. L’ho eseguito con configurazioni diverse, ma stessa risoluzione schermo di 800×600 pixels: la prima per ottenere una qualità grafica il piu’ povera di effetti e dettagli, la seconda con valori impostati a “normal” nella maggior parte delle opzioni disponibili, per avere una grafica di buona qualità. Ho ripetuto due volte il timedemo per ciascuna configurazione e i tempi di caricamento della mappa variavano, a seconda delle distribuzioni esaminate, da 58 a 64 secondi (senza cache).

Quake Wars: Bassa qualità

Con OpenSUSE ho preferito scaricare dalla memoria XDM e lanciare Quake Wars direttamente da una console con

(startx :0 -- /usr/games/etqw/etqw)

Tuttavia un ulteriore test l’ho condotto in una finestra dell’ambiente GNOME e Compiz-Fusion, con un risultato che non dico sia considerevole, ma neppure oso scartare: 29.3 Frame per Secondo.
Quando registro una partita, il file viene salvato con estensione ndm in $HOME/.etqwcl/base/demos, per caricarlo con timeNetDemo è sufficiente però passare il nome del file, per esempio

timeNetDemo Salvage

Di solito i nomi dei file sono demo_00000.dnm, demo_00001.dnm, e così via. Nell’esempio ho usato Salvage, perché avevo precedentemente rinominato demo_00000.dnm.
I sistemi hanno restituito valori simili con entrambe le configurazioni, anche se mi sarei aspettato qualcosa di piu’ da LFS, perché aveva nel kernel i parametri suggeriti da TTimo per migliorare le prestazioni generali. LFS 6.2, LFS 6.3 e OpenSUSE occupavano tre partizioni root sul disco rigido da 80GB del portatile, mentre il gioco e i dati dell’utente stavano su due partizioni separate del disco rigido esterno; si tratta di un disco da 200GB alloggiato in un LAN Drive di Extreme Technology collegato alla porta USB 2.0. Nel diagramma 40 FPS sono segnalati con il colore arancione, perché non lo ritengo, in base alla mia esperienza, un valore accettabile per giocare online (nota: quando offline l’engine è bloccato a 30 FPS). La mia scala di misura dà invece il via libera (segnalato con il colore verde) attorno a 64 FPS, per salire verso l’ebrezza totale (colore blu) degli 80 FPS e oltre.

Qualità media

C’era da aspettarselo, a qualità media i valori calcolati da timedemo si sono quasi dimezzati per tutti i sistemi. In questo caso LFS 6.2 ha primeggiato con 22.2 ma le differenze erano, ancora una volta, minime.