GNU/Linux >> Znalost Linux >  >> Ubuntu

Srovnejte výkon grafické karty (GPU) v systému Linux s glmark

Grafický výkon – změřte jej

Nedávno, když jsem na jeden ze svých stolních počítačů přidal novou grafickou kartu nvidia, chtěl jsem změřit a porovnat výkon této grafické karty s tím, co bylo dříve.

Jedním ze způsobů, jak toho dosáhnout, jsou srovnávací nástroje, které by spustily řadu „kreslovacích“ testů, aby změřily kapacitu grafického zpracování hardwaru. Jednoduše řečeno, GPU, které dokážou zpracovat a vykreslit více obrázků/grafiky za jednotku času (snímků za sekundu), jsou výkonnější.

Glmark – srovnávací nástroj

Na Linuxu není mnoho nástrojů pro benchmarking GPU a poté, co jsem strávil dost času na Googlu, jsem narazil na tento malý nástroj s názvem glmark. Je vyvinut společností Linaro.

Glmark provádí řadu testů, vykresluje různé druhy 2D a 3D grafiky a animací na obrazovce a poté měří výstupní výkon ve FPS (snímky za sekundu). Poté zprůměruje snímky za sekundu ve všech testech a vypočítá skóre pro gpu.

Nejsem si jistý, ale nejlepší odhad je, že toto skóre je relativním měřítkem toho, jak je výkonná grafická jednotka vašeho stroje. Porovnáním s výsledky jiných strojů by mělo být hrubé srovnání výkonu grafického zpracování.

Spustil jsem glmark2 na více počítačích, každý s jinou konfigurací GPU, abych pochopil, co indikoval výstup glmark. Všechny stroje jsou stolní počítače a zde je krátký popis každého

1. M1 - Intel DG35EC motherboard + QuadCore + 8GB + Ubuntu 13.10
=> "Intel® Graphics Media Accelerator (Intel® GMA) X3500 onboard graphics subsystem"
Little/Limited hardware acceleration

2. M2 - Gigabyte GA-G41MT-ES2L motherboard + QuadCore + 4GB + Ubuntu 13.04
=> "Integrated Intel Graphics Media Accelerator X4500"
Little/Limited hardware acceleration

3. M3 - Intel DG35EC motherboard + Nvidia GeForce 210 (Nouveau drivers) 
+ QuadCore + 4GB + Linux Mint 17

4. M4 - Intel DG35EC motherboard + Nvidia GeForce 210 (Nvidia proprietory drivers)
+ QuadCore + 4GB + Linux Mint 17

První věc, kterou musíte udělat, je nainstalovat glmark. Na Ubuntu/Linux Mint je k dispozici ve výchozích úložištích.

$ sudo apt-get install glmark2

Testování

Chcete-li spustit testy, vše, co musíte udělat, je spustit příkaz glmark2 bez jakýchkoli voleb. Uvnitř okna by to vykreslilo mnoho různých druhů animací jednu po druhé a vytisklo by měření fps vedle sebe v terminálu. Ujistěte se, že během této doby nespustíte žádnou aplikaci náročná na procesor, jinak se výsledky testu mohou lišit.

Na konci testů by glmark ukázal skóre. Vyšší skóre by mělo znamenat výkonnější GPU. Konečné skóre není pevné a mění se při každém spuštění testu. Ale zůstává v těsné blízkosti. Takže musíte několikrát spustit glmark (já jsem to udělal 3krát) a získat průměrné skóre.

V některých případech může mít konkrétní testovací běh za následek velmi vysoké nebo nízké skóre testu. Jednoduše jsem tyto hodnoty zahodil a znovu zařadil glmark.

Všechny testy byly provedeny na LCD monitoru Samsung s rozlišením [email protected].

Čas na skóre

Nyní se podívejme na výstup a skóre glmark

M1 – integrovaná grafická čipová sada Intel GMA X3500

Tento stroj má nejmenší množství grafického výkonu a testy glmark nejsou ani schopny dokončit, protože systém někde mezi tím padá. 3D animace fungují, ale s chvěním.

$ glmark2
=======================================================
    glmark2 2012.08
=======================================================
    OpenGL Information
    GL_VENDOR:     Intel Open Source Technology Center
    GL_RENDERER:   Mesa DRI Intel(R) 965G
    GL_VERSION:    2.1 Mesa 9.2.1
=======================================================
[build] use-vbo=false: FPS: 325 FrameTime: 3.077 ms
[build] use-vbo=true: FPS: 375 FrameTime: 2.667 ms
[texture] texture-filter=nearest: 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=height: 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=map: FPS: 164 FrameTime: 6.098 ms
=======================================================
                                  glmark2 Score: 239
=======================================================

Skóre je kolem 240, což je docela málo. Na tomto konkrétním stroji je Supertuxkart pomalý a nehratelný, zatímco 0AD se jednoduše změní na tapetu :)

Všimněte si, že renderer je MESA, což znamená, že 3D akcelerace je softwarově emulovaná a není dostupná z hardwaru. Hardwarová akcelerace je tedy nedostupná.

M2 – integrovaná grafická čipová sada Intel GMA X4500

Jedná se o základní desku Gigabyte s integrovanou grafickou jednotkou Intel GMA. Tento stroj má mírně vyšší grafický výkon ve srovnání s předchozím strojem.

Podrobnosti o hardwaru hlášené lspci jsou

$ lspci -vnn | grep VGA -A 12
00:02.0 VGA compatible controller [0300]: Intel Corporation 4 Series Chipset Integrated Graphics Controller [8086:2e32] (rev 03) (prog-if 00 [VGA controller])
	Subsystem: Giga-byte Technology Device [1458:d000]
	Flags: bus master, fast devsel, latency 0, IRQ 43
	Memory at fd800000 (64-bit, non-prefetchable) [size=4M]
	Memory at d0000000 (64-bit, prefetchable) [size=256M]
	I/O ports at ff00 [size=8]
	Expansion ROM at <unassigned> [disabled]
	Capabilities: <access denied>
	Kernel driver in use: i915
	Kernel modules: i915

Glmark je schopen dokončit všechny testy na tomto stroji a výsledky jsou takové ...

$ glmark2
=======================================================
    glmark2 2011.09
=======================================================
    OpenGL Information
    GL_VENDOR:     Tungsten Graphics, Inc
    GL_RENDERER:   Mesa DRI Intel(R) G41 GEM 20100330 DEVELOPMENT
    GL_VERSION:    2.1 Mesa 7.10.2
=======================================================
[build] use-vbo=false:  FPS: 493
[build] use-vbo=true:  FPS: 494
[texture] texture-filter=nearest:  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:quads=5:texture=false:  FPS: 494
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4:  FPS: 126
[conditionals] fragment-steps=0:vertex-steps=0:  FPS: 375
[conditionals] fragment-steps=5:vertex-steps=0:  FPS: 297
[conditionals] fragment-steps=0:vertex-steps=5:  FPS: 375
[function] fragment-complexity=low:fragment-steps=5:  FPS: 375
[function] fragment-complexity=medium: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 Score: 348
=======================================================

Průměrné skóre tohoto stroje bylo kolem 350. To je srovnatelně lepší než náš předchozí stroj, který měl horší GPU.

Tento stroj umí tak trochu hrát supertuxkart. Ale hry jako 0AD nefungují. Ale opět, přímé vykreslování provádí MESA, takže hardwarová akcelerace chybí.

M3 – Nvidia GeForce 210 s ovladačem nouveau

Tento stroj má stejnou základní desku Intel s externím GPU řady Nvidia GeForce 210 připojenou přes slot PCI. Je to čipová sada nvidia značky Zotac a má 1 GB vyhrazené paměti RAM a 520 MHz GPU/Core taktovací frekvence

$ lspci -vnn | grep VGA -A 12
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GT218 [GeForce 210] [10de:0a65] (rev a2) (prog-if 00 [VGA controller])
	Subsystem: ZOTAC International (MCO) Ltd. Device [19da:1160]
	Flags: bus master, fast devsel, latency 0, IRQ 16
	Memory at e2000000 (32-bit, non-prefetchable) [size=16M]
	Memory at d0000000 (64-bit, prefetchable) [size=256M]
	Memory at e0000000 (64-bit, prefetchable) [size=32M]
	I/O ports at 2000 [size=128]
	Expansion ROM at e3080000 [disabled] [size=512K]
	Capabilities: <access denied>
	Kernel driver in use: nouveau

Nejprve to otestujeme s výchozími ovladači Nouveau a uvidíme, jak to funguje. Další test bude proveden s proprietárními ovladači Nvidia.

$ glmark2
=======================================================
    glmark2 2012.08
=======================================================
    OpenGL Information
    GL_VENDOR:     nouveau
    GL_RENDERER:   Gallium 0.4 on 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=nearest: 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=normals: FPS: 428 FrameTime: 2.336 ms
[bump] bump-render=height: 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:quads=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=map: FPS: 269 FrameTime: 3.717 ms
[ideas] speed=duration: FPS: 356 FrameTime: 2.809 ms
[jellyfish] <default>: FPS: 227 FrameTime: 4.405 ms
[terrain] <default>: FPS: 30 FrameTime: 33.333 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 386 FrameTime: 2.591 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 290 FrameTime: 3.448 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 383 FrameTime: 2.611 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 384 FrameTime: 2.604 ms
[function] fragment-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] fragment-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
=======================================================
                                  glmark2 Score: 336
=======================================================

Průměrné skóre zůstává kolem 335. Skóre ukazuje špatný grafický výkon navzdory tomu, že máte vyhrazený GPU Nvidia. Je to kvůli ovladačům Nouveau, které jsou neefektivní a nevyužívají plný potenciál karet nvidia.

Hry jako supertuxkart a 0AD fungovaly velmi dobře.

Note that the score of this machine is lesser/equal to the previous machine. While testing games it was seen, that this machine had a better graphics performance. 

This is because this machine has a separate dedicated GPU which works independantly. Whereas in the previous machine the MESA libraries used the main CPU to do graphics work, which resulted in a competitive score, but would fail when real applications would use it.

M4 – Nvidia GeForce 210 s ovladačem nvidia-331

Toto je stejný stroj jako výše a místo ovladačů Nouvea používá proprietární ovladače Nvidia.

Podrobnosti o hardwaru, jak je uvádí lspci, jsou

$ lspci -vnn | grep VGA -A 12
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GT218 [GeForce 210] [10de:0a65] (rev a2) (prog-if 00 [VGA controller])
	Subsystem: ZOTAC International (MCO) Ltd. Device [19da:1160]
	Flags: bus master, fast devsel, latency 0, IRQ 46
	Memory at e2000000 (32-bit, non-prefetchable) [size=16M]
	Memory at d0000000 (64-bit, prefetchable) [size=256M]
	Memory at e0000000 (64-bit, prefetchable) [size=32M]
	I/O ports at 2000 [size=128]
	[virtual] Expansion ROM at e3080000 [disabled] [size=512K]
	Capabilities: <access denied>
	Kernel driver in use: nvidia

Výstup a skóre Glmark

$ glmark2
=======================================================
    glmark2 2012.08
=======================================================
    OpenGL Information
    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=nearest: 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=height: FPS: 744 FrameTime: 1.344 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 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=map: FPS: 432 FrameTime: 2.315 ms
[ideas] speed=duration: FPS: 563 FrameTime: 1.776 ms
[jellyfish] <default>: FPS: 360 FrameTime: 2.778 ms
[terrain] <default>: FPS: 41 FrameTime: 24.390 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 664 FrameTime: 1.506 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 556 FrameTime: 1.799 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 662 FrameTime: 1.511 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 661 FrameTime: 1.513 ms
[function] 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
=======================================================
                                  glmark2 Score: 547
=======================================================

Tentokrát je skóre nad 500 a tento stroj má velmi slušný grafický výkon na nízké nároky, jako je hraní dětských her. Hry jako Supertuxkart a 0AD fungují perfektně bez jakýchkoliv závad.

Vykreslený GL je ovladač Nvidia, což znamená, že hardwarová 3D akcelerace je dostupná a funguje dobře.

Porovnejte svůj GPU

Chcete-li porovnat GPU vašeho systému, spusťte příkaz glmark a zkontrolujte výstup a skóre. Výkon by měl být nejvyšší s proprietárními ovladači namísto volných ovladačů.

Neexistuje žádná online tabulka skóre, se kterou by bylo možné porovnávat, ale z výše uvedených testů vyvozujeme, že něco vyššího než 500 by mělo být dobré a indikovat použitelnou hardwarovou akceleraci za předpokladu, že GL_RENDERER není ovladač MESA.

Pokud je GL_RENDERER MESA, pak 3D vykreslování provádí software a ne hardware, takže 3D aplikace a hry by měly velmi slabý výkon.

Pokud do svého linuxového stroje přidáte novou grafickou kartu, první věcí, kterou musíte udělat, by bylo získat pro ni nejlepší ovladač. Nvidia poskytuje linuxové ovladače pro většinu svých moderních grafických karet, které velmi dobře fungují s linuxem.

Seznam některých nejvýkonnějších GPU pro linux můžete získat na http://www.free3d.org/.

Shrnutí

Ve výše uvedených testech je vidět, že s rostoucím skóre se počet FPS v každém jednotlivém testu progresivně zvyšuje. Vysoce výkonné GPU jsou tedy schopny poskytovat vyšší FPS. Toto FPS by se však nemělo zaměňovat s obnovovací frekvencí monitoru, která je 60 a tam zůstane.

FPS zobrazená v benchmarkovém testu je měřítkem toho, kolik snímků byl GPU (nebo celý systém) schopen zpracovat a vygenerovat za sekundu.

Upozorňujeme, že skóre glmark není průkazným testem grafického výkonu. Jak je vidět ve 3. testu, skóre může být někdy zavádějící. Například stroj s vysokým CPU a žádnou hardwarovou akcelerací může získat stejné skóre jako stroj se středním CPU a nízkým GPU. To se děje proto, že softwarové vykreslování prostřednictvím vysokého CPU se rovná výpočetnímu výkonu hardwarové akcelerace nízkého GPU pracujícího samostatně. Toto je však omezení srovnávacího nástroje, který se musí vyvinout, aby mohl provádět hloubkové testy a analýzy, aby poskytl přesnější obrázek.

Nyní tedy spusťte na svém počítači glmark a sdělte nám své skóre spolu se značkou/modelem GPU do pole komentáře níže.

Nějaké další skóre

Nyní jsou zde skóre některých grafických karet hlášených jinými uživateli.

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

Ubuntu
  1. Zlepšete výkon systému Linux pomocí noatime

  2. Nastavení pro více sedadel X s jednou grafickou kartou se dvěma hlavami?

  3. Špatný 3D výkon v Ubuntu 12.04?

  1. Jak manipulovat s ethernetovou kartou v systému Linux pomocí příkazu ethtool

  2. Jak monitorovat výkon systému Linux pomocí Sysstat

  3. Zvyšuje RAID1 výkon s Linuxem mdadm?

  1. Jak změnit rychlost a duplex ethernetové karty v Linuxu pomocí příkazu Ethtool

  2. Jak zkontrolovat podrobnosti integrovaného GPU Intel na Ubuntu / Linux

  3. Jak zobrazit minulý výkon se sar v Linuxu