xorg con driver intel: benchmark gtkperf

Sul forum inglese di arch (e non solo lì) diversi utenti si sono lamentati di un calo di prestazioni dei driver video intel.

Ho voluto verificare se il consiglio di utilizzare XAA come AccelMethod sia valido.

Ho usato il bechmark gtkperf per controllare le prestazioni dell’intel 945GME integrata nell’eeepc 901.

Ecco i risultati per quanto riguarda XAA:

GtkEntry – time: 0,15
GtkComboBox – time: 2,30
GtkComboBoxEntry – time: 1,47
GtkSpinButton – time: 0,28
GtkProgressBar – time: 0,21
GtkToggleButton – time: 0,42
GtkCheckButton – time: 0,28
GtkRadioButton – time: 0,66
GtkTextView – Add text – time: 2,07
GtkTextView – Scroll – time: 0,70
GtkDrawingArea – Lines – time: 1,81
GtkDrawingArea – Circles – time: 3,98
GtkDrawingArea – Text – time: 5,76
GtkDrawingArea – Pixbufs – time: 0,28

Total time: 20,37

e per quanto riguarda EXA:
GtkEntry – time: 0,15
GtkComboBox – time: 2,33
GtkComboBoxEntry – time: 1,42
GtkSpinButton – time: 0,27
GtkProgressBar – time: 0,21
GtkToggleButton – time: 0,38
GtkCheckButton – time: 0,28
GtkRadioButton – time: 0,73
GtkTextView – Add text – time: 2,22
GtkTextView – Scroll – time: 0,92
GtkDrawingArea – Lines – time: 2,39
GtkDrawingArea – Circles – time: 5,45
GtkDrawingArea – Text – time: 5,03
GtkDrawingArea – Pixbufs – time: 0,28

Total time: 22,07

Infine, EXA con opzione “MigrationHeuristic” “greedy”

GtkEntry – time: 0,12
GtkComboBox – time: 2,07
GtkComboBoxEntry – time: 1,69
GtkSpinButton – time: 0,28
GtkProgressBar – time: 0,24
GtkToggleButton – time: 0,47
GtkCheckButton – time: 0,24
GtkRadioButton – time: 0,68
GtkTextView – Add text – time: 2,27
GtkTextView – Scroll – time: 0,89
GtkDrawingArea – Lines – time: 2,45
GtkDrawingArea – Circles – time: 5,71
GtkDrawingArea – Text – time: 18,29
GtkDrawingArea – Pixbufs – time: 0,55

Total time: 35,96

Come si può vedere, XAA risulta il più performante, seguito a ruota da EXA, mentre EXA con l’opzione “greedy” risulta molto molto più lento (eppure viene consigliata in certi siti).

Sembra però che con la recente inclusione del GEM di intel (graphics execution manager) nel kernel 2.6.28, EXA (o meglio, il nuovo UXA) migliorerà al punto da essere finalmente più veloce di XAA.

  • http://simo91.wordpress.com/ simo

    Quindi cosa consigli? Io uso ancora il kernel 2.6.27 perchè il 2.6.28 mi da problemi..

  • pierlo

    anche io sono con il 2.6.27, e ho deciso di restare con XAA.
    ma non appena passo al 2.6.28 sono molto curioso di rifare i benchmarq con EXA, dovrebbe andare molto meglio.

  • http://simo91.wordpress.com/ simo

    Facci sapere ;) e poi magari nel prossimo aggiornamento indica anche come effettuare questi cambiamenti in xorg.conf..

    P.S: abbiamo lo stesso chipset, che bello :P

  • pierlo

    controlla con cat /var/log/Xorg.0.log | grep Acceleration

    di default il driver intel usa EXA.

    Per usare XAA invece devi mettere:

    Option “AccelMethod” “XAA”

    nella sezione Device relativa alla scheda video in xorg.conf

  • http://simo91.wordpress.com/ simo

    Ok, ora uso XAA, poi dal prossimo kernel vedremo.. ciao e grazie mille davvero ^^

  • http://simo91.wordpress.com/ simo

    Ciao pierluigi! Ho fatto i test sul kernel 2.6.28 e i risultati sono i seguenti:

    1. XAA 48
    2. XAA “MigrationHeuristic” “greedy” 48
    3. EXA 58
    4. EXA “MigrationHeuristic” “greedy” 53

    Ora rimane solo il dubbio tra il primo e il secondo, io tengo il 2° perchè mi sembra più reattivo, poi magari facci sapere tu come vanno i test!

  • pierlo

    e finalmente ti rispondo simo.

    ho aggiornato ai pacchetti del repo di blaster (che comprendono le nuove versioni dei driver intel e delle librerie di contorno) e appena compilato un 2.6.29rc2 zen.

    finalmente ho UXA che si comporta ai livelli di XAA con gtkperf, ovvero sono a 20 secondi.

  • http://simo91.wordpress.com/ simo

    Ottimo! Dopo qualche giorno avevo comunque rifatto i test e venivano sui 2x secondi.. non so cosa era successo prima, ma vinceva comunque XAA di 5 secondi circa..

    Tu preferisci EXA a XAA? Che vantaggi dà?

  • pierlo

    uso UXA semplicemente perchè è quello a cui stanno lavorando e i miglioramenti se ci saranno arriveranno qui.

  • http://simo91.wordpress.com/ simo

    ma è UXA o EXA? Comunque ok ^^

  • pierlo

    The UMA Acceleration Architecture (UXA) is a 2D acceleration method designed by Packard that uses the EXA API but with all of the internal code using their Graphics Execution Manager for memory management.

    E’ come EXA solo che fa uso del nuovo GEM presente dal kernel 2.6.28