GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Benchmark delle prestazioni della scheda grafica (GPU) su Linux con glmark

Rendimento grafico:misuralo

Di recente, quando ho aggiunto una nuova scheda grafica nvidia a uno dei miei desktop, ero curioso di misurare e confrontare la potenza di questa scheda grafica con quella che era prima.

Un modo per farlo è con strumenti di benchmark che eseguirebbero una serie di test di "disegno" per misurare la capacità di elaborazione grafica dell'hardware. In parole povere, le GPU in grado di elaborare e rendere più immagini/grafica per unità di tempo (fotogrammi al secondo), sono più potenti.

Glmark:lo strumento di riferimento

Su Linux non ci sono molti strumenti per il benchmarking delle GPU e, dopo aver trascorso un po' di tempo su Google, mi sono imbattuto in questo piccolo strumento chiamato glmark. È sviluppato da Linaro.

Glmark esegue una serie di test, esegue il rendering di diversi tipi di grafica e animazioni 2D e 3D sullo schermo e quindi misura le prestazioni di output in termini di FPS (fotogrammi al secondo). Quindi calcola la media degli fps in tutti i test per calcolare un punteggio per la gpu.

Non sono molto sicuro, ma l'ipotesi migliore è che questo punteggio sia una misura relativa di quanto sia capace l'unità di elaborazione grafica della tua macchina. Il confronto con il punteggio di altre macchine dovrebbe fornire un confronto approssimativo della potenza di elaborazione grafica.

Ho eseguito glmark2 su più macchine ciascuna con una diversa configurazione della GPU per capire cosa indicava l'output di glmark. Tutte le macchine sono PC desktop, ed ecco una breve descrizione di ciascuna

1. M1 - Scheda madre Intel DG35EC + QuadCore + 8 GB + Ubuntu 13.10 => "Sottosistema grafico integrato Intel® Graphics Media Accelerator (Intel® GMA) X3500"Accelerazione hardware limitata/limitata2. M2 - Scheda madre Gigabyte GA-G41MT-ES2L + QuadCore + 4GB + Ubuntu 13.04=> "Integrated Intel Graphics Media Accelerator X4500"Accelerazione hardware ridotta/limitata3. M3 - Scheda madre Intel DG35EC + Nvidia GeForce 210 (driver Nouveau) + QuadCore + 4GB + Linux Mint 174. M4 - Scheda madre Intel DG35EC + Nvidia GeForce 210 (driver proprietari Nvidia)+ QuadCore + 4GB + Linux Mint 17

La prima cosa da fare è installare glmark. Su Ubuntu/Linux Mint è disponibile nei repository predefiniti.

$ sudo apt-get install glmark2

Test

Per eseguire i test, tutto ciò che devi fare è eseguire il comando glmark2 senza alcuna opzione. Renderebbe molti diversi tipi di animazioni uno dopo l'altro all'interno di una finestra e stamperebbe le misurazioni degli fps insieme nel terminale. Assicurati di non eseguire alcuna applicazione ad alta intensità di CPU durante questo periodo, altrimenti i risultati del test potrebbero variare.

Al termine dei test, glmark mostrerebbe un punteggio. Un punteggio più alto dovrebbe indicare una GPU più potente. Il punteggio finale non è fisso e varia ogni volta che si esegue il test. Ma rimane a distanza ravvicinata. Quindi devi eseguire glmark alcune volte (l'ho fatto 3 volte) e prendere il punteggio medio.

In alcuni casi, una particolare esecuzione del test potrebbe comportare un punteggio del test molto alto o basso. Ho semplicemente scartato quei valori e ho classificato di nuovo glmark.

Tutti i test sono stati eseguiti su monitor LCD Samsung con risoluzione [email protected].

Tempo per i punteggi

Ora diamo un'occhiata all'output e al punteggio di glmark

M1 - Chipset grafico integrato Intel GMA X3500

Questa macchina ha la minima quantità di potenza grafica e i test glmark non sono nemmeno in grado di essere completati perché il sistema si blocca da qualche parte nel mezzo. Le animazioni 3D funzionano, ma con nervosismo.

$ glmark2====================================================================================glmark2 2012.08===================================================================================================Informazioni OpenGL GL_VENDOR:Intel Open Source Technology Center GL_RENDERER:Mesa DRI Intel® 965G GL_VERSION:2.1 Mesa 9.2.1================================================================================[costruire] use-vbo=false:FPS:325 FrameTime:3,077 ms[build] use-vbo=true:FPS:375 FrameTime:2,667 ms[texture] texture-filter=più vicino:FPS:371 FrameTime:2,695 ms[texture] texture- filter=linear:FPS:365 FrameTime:2.740 ms[texture] texture-filter=mipmap:FPS:338 FrameTime:2.959 ms[shading] shading=gouraud:FPS:235 FrameTime:4.255 ms[shading] shading=blinn-phong- inf:FPS:206 FrameTime:4.854 ms[shading] shading=phong:FPS:173 FrameTime:5.780 ms[bump] bump-render=high-poly:FPS:112 FrameTime:8.929 ms[bump] bump-render=normals:FPS:347 FrameTime:2.882 ms[bump] bump-render=altezza:FPS:320 FrameTime:3.125 ms[effect2d] kernel=0,1,0;1,- 4,1;0,1,0;:FPS:134 FrameTime:7.463 ms[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1 ,1;:FPS:60 FrameTime:16.667 ms[pulsar] light=false:quads=5:texture=false:FPS:336 FrameTime:2.976 ms[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4:FPS:67 FrameTime:14.925 ms[desktop] effect=shadow:windows=4:FPS:136 FrameTime:7.353 ms[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=mappa:FPS:164 FrameTime:6.098 ms=========================================================glmark2 Punteggio:239=============================================================================

Il punteggio è di circa 240, che è piuttosto basso. Su questa macchina in particolare Supertuxkart è lento e ingiocabile, mentre 0AD si trasforma semplicemente in uno sfondo :)

Si noti che il renderer è MESA, che indica che l'accelerazione 3D viene emulata dal software e non è disponibile dall'hardware. Quindi l'accelerazione hardware non è disponibile.

M2 - Chipset grafico integrato Intel GMA X4500

Questa è la scheda madre Gigabyte con unità grafica Intel GMA integrata. Questa macchina ha una potenza grafica leggermente superiore rispetto alla macchina precedente.

I dettagli hardware riportati da lspci sono

$ lspci -vnn | grep VGA -A 1200:02.0 Controller compatibile VGA [0300]:Controller grafico integrato per chipset Intel Corporation serie 4 [8086:2e32] (rev 03) (prog-if 00 [Controller VGA]) Sottosistema:Dispositivo tecnologico Giga-byte [1458 :d000] Flag:bus master, fast devsel, latenza 0, IRQ 43 Memoria a fd800000 (64 bit, non precaricabile) [dimensione=4 M] Memoria a d0000000 (64 bit, precaricabile) [dimensione=256 M] I/ O porte su ff00 [size=8] ROM di espansione su  [disabilitato] Funzionalità: Driver del kernel in uso:i915 Moduli del kernel:i915

Glmark è in grado di completare tutti i test su questa macchina e i risultati sono così...

$ glmark2====================================================================================glmark2 2011.09============================================================================================Informazioni OpenGL GL_VENDOR:Tungsten Graphics, Inc GL_RENDERER:Mesa DRI Intel® G41 GEM 20100330 SVILUPPO GL_VERSION:2.1 Mesa 7.10.2=========================================================[ build] use-vbo=false:FPS:493[build] use-vbo=true:FPS:494[texture] texture-filter=neest:FPS:431[texture] texture-filter=linear:FPS:427[texture] texture-filter=mipmap:FPS:451[shading] shading=gouraud:FPS:495[shading] shading=blinn-phong-inf:FPS:312[shading] shading=phong:FPS:269[bump] bump-render=high-poly:FPS:201[bump] bump-render=normals:FPS:392[effect2d] kernel=0,1,0;1,-4,1;0,1,0;:FPS:247[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;:FPS:131[pulsar] light=false:quad=5:texture=false :FPS:494[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4:FPS:126[condizionali] fragm ent-steps=0:vertex-steps=0:FPS:375[condizionali] fragment-steps=5:vertex-steps=0:FPS:297[condizionali] fragment-steps=0:vertex-steps=5:FPS:375[funzione] fragment-complessità=basso:frammento-passi=5:FPS:375[funzione] fragment-complessità=medio:fragment-steps=5:FPS:285[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5:FPS:362[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5:FPS:362[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5:FPS:272=======================================================glmark2 Punteggio:348=========================================================

Il punteggio medio per questa macchina era di circa 350. Questo è relativamente migliore rispetto alla nostra macchina precedente che aveva una GPU inferiore.

Questa macchina può giocare un po' a supertuxkart. Ma giochi come 0AD non funzionano. Ma ancora una volta, il rendering diretto viene eseguito da MESA, quindi l'accelerazione hardware è assente.

M3 - Nvidia GeForce 210 con driver nuovo

Questa macchina ha lo stesso di una scheda madre Intel con GPU Nvidia GeForce serie 210 esterna collegata tramite slot PCI. È un chipset nvidia del marchio Zotac e dispone di 1 GB di RAM dedicata e velocità di clock GPU/core di 520 Mhz

$ lspci -vnn | grep VGA -A 1201:00.0 Controller compatibile VGA [0300]:NVIDIA Corporation GT218 [GeForce 210] [10de:0a65] (rev a2) (prog-if 00 [Controller VGA]) Sottosistema:ZOTAC International (MCO) Ltd. Dispositivo [19da:1160] Flag:bus master, fast devsel, latenza 0, IRQ 16 Memoria a e2000000 (32 bit, non precaricabile) [dimensione=16M] Memoria a d0000000 (64 bit, precaricabile) [dimensione=256M] Memoria a e0000000 (64 bit, precaricabile) [dimensione=32M] Porte I/O a 2000 [dimensione=128] ROM di espansione a e3080000 [disabilitato] [dimensione=512K] Funzionalità: Driver del kernel in uso:nouveau 

Per prima cosa lo testeremo con i driver Nouveau predefiniti e vedremo come si comporta. Il prossimo test verrebbe fatto con i driver proprietari di Nvidia.

$ glmark2====================================================================================glmark2 2012.08===================================================================================================Informazioni OpenGL GL_VENDOR:nouveau GL_RENDERER:Gallium 0.4 su NVA8 GL_VERSION:3.0 Mesa 9.2.1==========================================================[build] use-vbo=false:FPS :420 FrameTime:2.381 ms[build] use-vbo=true:FPS:430 FrameTime:2.326 ms[texture] texture-filter=neest:FPS:395 FrameTime:2.532 ms[texture] texture-filter=linear:FPS:393 FrameTime:2.545 ms[texture] texture-filter=mipmap:FPS:409 FrameTime:2.445 ms[shading] shading=gouraud:FPS:351 FrameTime:2.849 ms[shading] shading=blinn-phong-inf:FPS:353 FrameTime:2,833 ms[shading] shading=phong:FPS:319 FrameTime:3,135 ms[bump] bump-render=high-poly:FPS:301 FrameTime:3,322 ms[bump] bump-render=normali:FPS:428 FrameTime:2,336 ms [bump] bump-render=altezza:FPS:387 FrameTime:2.584 ms[effect2d] kernel=0,1,0;1,-4,1;0,1,0;:FPS:315 FrameTime:3,175 ms[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;:FPS:157 FrameTime:6,369 ms[pulsar] light=false:quad=5:texture=false:FPS:348 FrameTime:2.874 ms[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4:FPS:414 FrameTime:2.415 ms[ desktop] effect=shadow:windows=4:FPS:407 FrameTime:2.457 ms[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map:FPS:260 FrameTime :3.846 ms[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata:FPS:279 FrameTime:3.584 ms[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=mappa:FPS:269 FrameTime:3,717 ms[idee] velocità=durata:FPS:356 FrameTime:2,809 ms[medusa] :FPS:227 FrameTime :4.405 ms[terreno] :FPS:30 FrameTime:33.333 ms[condizionali] fragment-steps=0:vertex-steps=0:FPS:386 FrameTime:2.591 ms[condizionali] fragment-steps=5:vertex- passi=0:FPS:290 FrameTime:3.448 ms[condizionali] fragment-steps=0:vertex-steps=5:FPS:383 FrameTime:2.611 ms[funzione] fragment-complessità=basso:fragment-steps=5:FPS:384 FrameTime:2.604 ms[funzione] frammento -complexity=medium:fragment-steps=5:FPS:312 FrameTime:3,205 ms[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5:FPS:383 FrameTime:2,611 ms[loop] frammento -steps=5:fragment-uniform=false:vertex-steps=5:FPS:384 FrameTime:2.604 ms[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5:FPS:318 FrameTime:3.145 ms====================================================================================Punteggio glmark2:336=========================================================

Il punteggio medio rimane intorno a 335. Il punteggio indica scarse prestazioni grafiche nonostante abbia una GPU Nvidia dedicata. È a causa dei driver Nouveau che sono inefficienti e non utilizzano tutto il potenziale delle schede nvidia.

Giochi come supertuxkart e 0AD hanno funzionato molto bene.

Nota che il punteggio di questa macchina è minore/uguale alla macchina precedente. Durante il test dei giochi si è visto che questa macchina aveva prestazioni grafiche migliori. Questo perché questa macchina ha una GPU dedicata separata che funziona in modo indipendente. Mentre nella macchina precedente le librerie MESA utilizzavano la CPU principale per eseguire lavori di grafica, il che si traduceva in un punteggio competitivo, ma falliva quando le applicazioni reali la utilizzavano.

M4 - Nvidia GeForce 210 con driver nvidia-331

Questa è la stessa macchina di cui sopra e utilizza i driver proprietari Nvidia invece dei driver Nouvea.

I dettagli hardware riportati da lspci sono

$ lspci -vnn | grep VGA -A 1201:00.0 Controller compatibile VGA [0300]:NVIDIA Corporation GT218 [GeForce 210] [10de:0a65] (rev a2) (prog-if 00 [Controller VGA]) Sottosistema:ZOTAC International (MCO) Ltd. Dispositivo [19da:1160] Flag:bus master, fast devsel, latenza 0, IRQ 46 Memoria a e2000000 (32 bit, non precaricabile) [dimensione=16M] Memoria a d0000000 (64 bit, precaricabile) [dimensione=256M] Memoria a e0000000 (64 bit, precaricabile) [dimensione=32M] Porte I/O a 2000 [dimensione=128] [virtuale] ROM di espansione a e3080000 [disabilitato] [dimensione=512K] Funzionalità: Driver del kernel in usa:nvidia

Output e punteggio di Glmark

$ glmark2====================================================================================glmark2 2012.08===================================================================================================Informazioni OpenGL GL_VENDOR:NVIDIA Corporation GL_RENDERER:GeForce 210/PCIe/SSE2 GL_VERSION:3.3.0 NVIDIA 331.20====================================================================================[build] use-vbo=false:FPS:671 FrameTime:1.490 ms[build] use-vbo=true:FPS:747 FrameTime:1.339 ms[texture] texture-filter=neest:FPS:660 FrameTime:1.515 ms[texture] texture-filter=linear:FPS:649 FrameTime:1.541 ms[texture] texture-filter=mipmap:FPS:688 FrameTime:1.453 ms[shading] shading=gouraud:FPS:635 FrameTime:1.575 ms[shading] shading=blinn-phong-inf:FPS:631 FrameTime:1.585 ms[shading] shading=phong:FPS:600 FrameTime:1.667 ms[bump] bump-render=high-poly:FPS:507 FrameTime:1.972 ms[bump] bump-render=normals:FPS:781 FrameTime :1.280 ms[bump] bump-render=altezza:FPS:744 FrameTime:1.344 ms[effect2d] kernel=0,1,0;1,-4,1;0,1,0;:F PS:483 FrameTime:2.070 ms[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;:FPS:308 FrameTime:3.247 ms [pulsar] light=false:quads=5:texture=false:FPS:579 FrameTime:1.727 ms[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4:FPS:231 FrameTime:4.329 ms[desktop] effect=shadow:windows=4:FPS:326 FrameTime:3.067 ms[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map :FPS:396 FrameTime:2.525 ms[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata:FPS:423 FrameTime:2.364 ms[buffer] columns=200 :interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=mappa:FPS:432 FrameTime:2,315 ms[idee] velocità=durata:FPS:563 FrameTime:1,776 ms[medusa]  :FPS:360 FrameTime:2.778 ms[terreno] :FPS:41 FrameTime:24.390 ms[condizionali] fragment-steps=0:vertex-steps=0:FPS:664 FrameTime:1.506 ms[condizionali] fragment-steps =5:passi-vertice=0:F PS:556 FrameTime:1.799 ms[condizionali] fragment-steps=0:vertex-steps=5:FPS:662 FrameTime:1.511 ms[function] fragment-complessity=low:fragment-steps=5:FPS:661 FrameTime:1.513 ms[funzione] fragment-complexity=medium:fragment-steps=5:FPS:517 FrameTime:1.934 ms[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5:FPS:654 FrameTime:1.529 ms[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5:FPS:662 FrameTime:1.511 ms[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5:FPS:603 FrameTime:1.658 ms=========================================================Punteggio glmark2:547========================================================

Questa volta il punteggio è superiore a 500 e questa macchina ha prestazioni grafiche molto decenti per requisiti bassi come i giochi per bambini. Giochi come Supertuxkart e 0AD funzionano perfettamente senza problemi.

Il GL reso è il driver Nvidia, il che significa che l'accelerazione 3D basata su hardware è disponibile e funziona correttamente.

Esegui il benchmark della tua GPU

Per confrontare la GPU del tuo sistema, esegui il comando glmark e controlla l'output e il punteggio. Le prestazioni devono essere più elevate con i conducenti proprietari anziché con i conducenti liberi.

Non esiste una tabella dei punteggi online con cui confrontare, ma concludendo dai test precedenti, qualcosa di più alto di 500 dovrebbe essere buono e indicare un'accelerazione hardware utilizzabile a condizione che GL_RENDERER sia un driver non MESA.

Se GL_RENDERER è MESA, il rendering 3D viene eseguito dal software e non dall'hardware, quindi le applicazioni e i giochi 3D avrebbero prestazioni molto scarse.

Se aggiungi una nuova scheda grafica alla tua macchina Linux, la prima cosa da fare sarebbe ottenere il miglior driver per essa. Nvidia fornisce driver Linux per la maggior parte delle sue moderne schede grafiche che funzionano molto bene con Linux.

Puoi ottenere un elenco di alcune delle GPU con le migliori prestazioni per Linux su http://www.free3d.org/.

Riepilogo

Nei test di cui sopra si può notare che con l'aumento del punteggio, il conteggio degli FPS in ogni singolo test aumenta progressivamente. Quindi le GPU ad alte prestazioni sono in grado di fornire un FPS più elevato. Tuttavia questo FPS non deve essere confuso con la frequenza di aggiornamento del monitor che è 60 e rimarrà lì.

L'FPS rappresentato nel test benchmark è una misura di quanti frame è stata in grado di elaborare e generare la GPU (o l'intero sistema) al secondo.

Si noti che il punteggio glmark non è un test conclusivo delle prestazioni grafiche. Come visto nella 3a prova, i punteggi a volte possono essere fuorvianti. Ad esempio, una macchina con CPU elevata e nessuna accelerazione hardware potrebbe ottenere lo stesso punteggio di una macchina con CPU moderata e GPU bassa. Ciò accade perché il rendering basato su software tramite la CPU alta eguaglia la potenza di elaborazione dell'accelerazione hardware della GPU bassa che lavora da sola. Tuttavia questa è una limitazione dello strumento di benchmark che deve evolversi per eseguire test e analisi approfonditi per fornire un quadro più accurato.

Quindi ora esegui glmark sulla tua macchina e comunicaci il tuo punteggio insieme al marchio/modello della GPU, nella casella dei commenti qui sotto.

Altri punteggi

Ora ecco i punteggi di alcune schede grafiche, segnalati da altri utenti.

==================================================================Informazioni OpenGL GL_VENDOR:NVIDIA Corporation GL_RENDERER:GeForce GTX 460/PCIe/SSE2 GL_VERSION:4.4.0 NVIDIA 331.38=========================================================glmark2 Punteggio:4707===================================================================================

Ubuntu
  1. Migliora le prestazioni del sistema Linux con noatime

  2. Come manipolare la scheda Ethernet su Linux con il comando ethtool

  3. Come monitorare le prestazioni del sistema Linux con Sysstat

  4. Configurazione Multiseat X con una singola scheda grafica a doppia testina?

  5. Cattive prestazioni 3d in Ubuntu 12.04?

Ordina il comando in Linux con esempi

Comando IP Linux con esempi

Analisi delle prestazioni del server Linux con atop

Risolvi i problemi e monitora le prestazioni del sistema Linux con nmon

Come trovare quale scheda grafica hai in Linux?

Come installare Basemark GPU Benchmark su Ubuntu 20.04 Linux