グラフィックパフォーマンス-測定
最近、デスクトップの1つに新しいnvidiaグラフィックカードを追加したとき、このグラフィックカードのパワーを測定して以前のものと比較することに興味がありました。
これを行う1つの方法は、一連の「描画」テストを実行してハードウェアのグラフィックス処理能力を測定するベンチマークツールを使用することです。簡単に言えば、単位時間(1秒あたりのフレーム数)あたりにより多くの画像/グラフィックスを処理およびレンダリングできるGPUは、より強力です。
Glmark-ベンチマークツール
Linuxでは、GPUのベンチマークを行うためのツールは多くありません。グーグルでかなりの時間を過ごした後、glmarkと呼ばれるこの小さなツールに出くわしました。リナロによって開発されました。
Glmarkは一連のテストを実行し、さまざまな種類の2Dおよび3Dグラフィックスとアニメーションを画面にレンダリングしてから、出力パフォーマンスをFPS(フレーム/秒)で測定します。次に、すべてのテストのfpsを平均して、GPUのスコアを計算します。
よくわかりませんが、このスコアは、マシンのグラフィックス処理ユニットの能力の相対的な尺度であると推測されます。他のマシンのスコアと比較すると、グラフィックス処理能力の大まかな比較が得られるはずです。
それぞれ異なるGPU構成の複数のマシンでglmark2を実行して、glmarkの出力が何を示しているかを理解しました。すべてのマシンはデスクトップPCであり、ここにそれぞれの簡単な説明があります
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
最初に行うことは、glmarkをインストールすることです。 Ubuntu / Linux Mintでは、デフォルトのリポジトリで利用できます。
$ sudo apt-get install glmark2
テスト
テストを実行するには、オプションなしでglmark2コマンドを実行するだけです。さまざまな種類のアニメーションをウィンドウ内に次々とレンダリングし、端末の横にfps測定値を出力します。この間、CPUを集中的に使用するアプリケーションを実行しないようにしてください。実行しないと、テスト結果が逸脱する可能性があります。
テストの最後に、glmarkはスコアを表示します。スコアが高いほど、GPUがより強力であることを示します。終了スコアは固定されておらず、テストを実行するたびに変化します。しかし、それは至近距離にとどまります。したがって、glmarkを数回実行し(私は3回実行しました)、平均スコアを取得する必要があります。
場合によっては、特定のテストを実行すると、テストスコアが非常に高くなったり低くなったりすることがあります。これらの値を破棄して、glmarkを再度ランク付けしました。
すべてのテストは、[email protected]解像度のSamsungLCDモニターで行われました。
スコアの時間
それでは、glmarkの出力とスコアを見てみましょう
M1-IntelGMAX3500オンボードグラフィックチップセット
このマシンのグラフィックスパワーは最小であり、システムがその間のどこかでクラッシュするため、glmarkテストを完了することさえできません。 3Dアニメーションは機能しますが、ジッターがあります。
$ 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 =======================================================
スコアは240前後で、かなり低いです。この特定のマシンでは、Supertuxkartは動作が遅く、再生できませんが、0ADは単に壁紙に変わります:)
レンダラーはMESAであることに注意してください。これは、3Dアクセラレーションがソフトウェアでエミュレートされており、ハードウェアからは利用できないことを示しています。そのため、ハードウェアアクセラレーションは利用できません。
M2-IntelGMAX4500オンボードグラフィックチップセット
これは、IntelGMAグラフィックスユニットが統合されたギガバイトマザーボードです。このマシンは、以前のマシンと比較してわずかに高いグラフィックスパワーを備えています。
lspciによって報告されたハードウェアの詳細は
$ 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はこのマシンですべてのテストを完了することができ、結果は次のようになります...
$ 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 =======================================================
このマシンの平均スコアは約350でした。これは、GPUが劣っていた以前のマシンよりも比較的優れています。
このマシンはsupertuxkartを少し再生できます。しかし、0ADのようなゲームは機能しません。ただし、直接レンダリングはMESAによって行われるため、ハードウェアアクセラレーションはありません。
M3-nouveauドライバーを搭載したNvidiaGeForce210
このマシンは、PCIスロットを介して接続された外部NvidiaGeForce210シリーズGPUを備えたIntelマザーボードと同じものを備えています。 Zotacブランドのnvidiaチップセットであり、1GBの専用RAMと520MhzGPU/コアクロック速度を備えています
$ 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
まず、デフォルトのNouveauドライバーを使用してテストし、そのパフォーマンスを確認します。次のテストは、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 =======================================================
平均スコアは約335のままです。このスコアは、専用のNvidia GPUを使用しているにもかかわらず、グラフィックスのパフォーマンスが低いことを示しています。これは、非効率的で、nvidiaカードの可能性を十分に活用していないNouveauドライバーが原因です。
supertuxkartや0ADなどのゲームは非常にうまく機能しました。
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-331ドライバーを搭載したNvidiaGeForce210
これは上記と同じマシンであり、Nouveaドライバーの代わりにNvidia独自のドライバーを使用します。
lspciによって報告されたハードウェアの詳細は
$ 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
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 =======================================================
今回のスコアは500を超えており、このマシンは、子供向けゲームのプレイなどの低い要件に対して非常に適切なグラフィックパフォーマンスを備えています。 Supertuxkartや0ADのようなゲームは、グリッチなしで完全に機能します。
レンダリングされたGLはNvidiaドライバーです。これは、ハードウェアベースの3Dアクセラレーションが利用可能であり、正常に機能していることを意味します。
GPUのベンチマーク
システムのGPUをベンチマークするには、glmarkコマンドを実行し、出力とスコアを確認します。パフォーマンスは、無料のドライバーではなく、独自のドライバーを使用した場合に最高になります。
比較するオンラインスコアテーブルはありませんが、上記のテストから結論として、GL_RENDERERが非MESAドライバーである場合、500を超える値が適切であり、使用可能なハードウェアアクセラレーションを示します。
GL_RENDERERがMESAの場合、3Dレンダリングはハードウェアではなくソフトウェアによって実行されるため、3Dアプリケーションとゲームのパフォーマンスは非常に低くなります。
Linuxマシンに新しいグラフィックカードを追加する場合、最初に行うことは、そのための最適なドライバーを入手することです。 Nvidiaは、Linuxで非常にうまく機能する最新のグラフィックカードのほとんどにLinuxドライバーを提供しています。
Linux用の最高のパフォーマンスを発揮するGPUのリストは、http://www.free3d.org/で入手できます。
概要
上記のテストでは、スコアが上がると、個々のテストのFPSカウントが徐々に上がることがわかります。そのため、高性能GPUはより高いFPSを提供できます。ただし、このFPSは、60であるモニターのリフレッシュレートと混同しないでください。
ベンチマークテストに示されているFPSは、GPU(またはシステム全体)が1秒間に処理および生成できたフレーム数の指標です。
glmarkスコアは、グラフィックパフォーマンスの決定的なテストではないことに注意してください。 3番目のテストで見られるように、スコアは誤解を招く場合があります。たとえば、CPUが高く、ハードウェアアクセラレーションがないマシンは、CPUが中程度でGPUが低いマシンと同じスコアを取得する場合があります。これは、高CPUを介したソフトウェアベースのレンダリングが、単独で動作する低GPUのハードウェアアクセラレーションの処理能力に等しいために発生します。ただし、これはベンチマークツールの制限であり、より正確な画像を提供するために詳細なテストと分析を実行するために進化する必要があります。
それでは、マシンでglmarkを実行し、下のコメントボックスに、GPUのブランド/モデルとともにスコアを教えてください。
さらにいくつかのスコア
これが、他のユーザーから報告されたいくつかのグラフィックカードのスコアです。
======================================================= OpenGL Information GL_VENDOR: NVIDIA Corporation GL_RENDERER: GeForce GTX 460/PCIe/SSE2 GL_VERSION: 4.4.0 NVIDIA 331.38 ======================================================= glmark2 Score: 4707 =======================================================