FC2ブログ

GDI 描画速度の謎

ゲームクリエータなら御存知の事なのかもしれませんが、GDIの描画速度は妙に速かったり遅かったりして筆者にとっては謎領域です。

クリエータ側のトレンドとしてはDirect3Dとか、或いはクロスプラットフォームな描画フレームワークを使うのでしょう、けど、これから作る物の話では無く、既にあるアプリを軽くて滑らかにしたいのがニーズって事で、、、そういう話、メディアとかステマの人はしませんよね。儲からない話ですから。
 
ベンチマークを実行してみた感じでは現時点での結論としてはHDBENCHのスコアはちょっと信用出来ないですがCrystalMarkと2DMarkはそれなりに信用出来そうで下記のグラフの状況が概ね信用出来そうです。数値は平均値を100とした相対値です。
※ 2DMarkはWin10では実行できませんでした。

GDI描画速度
GDIPerformance3.png

GeForceが世代毎に高速化してゆくのに対し、Radeonは何でしょねこれ、2Dは向上させる必要無しと判断しているかの様です(とは言えHD5870とHD6970の関係は順当ですが・・・)。

下のグラフはDirectDrawとDirect3Dを使った2D描画性能です。Radeonはソフトウエアエミュレーション、GeForceはハードウエアアクセラレーションですね。こちらも同様に22号機(Win10 Exterprise 2019 LTSC)では 2DMark11 の起動に失敗します(アプリケーションクラッシュ)、Windows7で試したところ高速動作しました。
D3DPerformance3.png

結論として2D描画は新しい世代のGeForceが良さそうです。

CrystalMark 2004R7 で複数回計測してみましたがエアロをONにしている時の方が GDI は若干早いです。
ですが、D2D と OGL は誤差程度の差しかないので再計測してない機体もあります。

22号機 ( RTX 2080ti x2 )
CDM22G.jpg
OpenGLのスコアが下記の17号機や13号機などより悪いですね、ちょっと残念。クリエータ向けドライバで後ほど試してみます。

17号機 ( GTX 780ti SLI )
CrystalMark2004R7-17G.jpg

13号機 ( GTX 580 SLI )
CrystalMark2004R7-13G.jpg

15号機#2 ( GTX 285 SLI )
CrystalMark2004R7-15G-2.jpg

15号機#1 ( 9800 GTX+ SLI )
CrystalMark2004R7-15G-1.jpg

20号機 ( R9-nano CFX )
CrystalMark2004R7-20G.jpg

19号機 ( Radeon HD6970 CFX )
CrystalMark2004R7-19G.jpg

12号機 ( Radeon HD5870 EF6 CFX )
CrystalMark2004R7-12G.jpg

10号機 ( Radeon HD4890 CFX )
CrystalMark2004R7-10G.jpg


同様にGDIでの描画速度を測るHDBENCHの場合は、逆にエアロをOFFにした時の方が早いです。
Ver3.30でエアロOFFですと物によっては Canopus SPECTRA 8400 に圧勝ですが、エアロをONにすると Matrox G200 や ATi Rage128 或いは nVidia RIVA TNT 辺りと競合します。
※ GTX580 と GTX285 の結果が不可解に悪いのでドライバを変えて再計測してみます。->変化無し。。。

22号機 ( RTX 2080ti x2 )
hdb.jpg

17号機 ( GTX 780ti SLI )
HDBENCH.jpg

13号機 ( GTX 580 SLI )
HDBENCH-13G.jpg

15号機#2 ( GTX 285 SLI )
HDBENCH-15G-2.jpg

15号機#1 ( 9800 GTX+ SLI )
HDBENCH-15G-1.jpg

20号機 ( R9-nano CFX )
HDBENCH-20G.jpg

19号機 ( Radeon HD6970 CFX )
HDBENCH-19G.jpg

12号機 ( Radeon HD5870 EF6 CFX )
HDBENCH-12G.jpg

10号機 ( Radeon HD4890 CFX )
HDBENCH-10G.jpg


こちらは某掲示板の2D描画スレで8年前に公開されていたGDIとD2Dの描画速度を計測するベンチですが、エアロをOFFにした時の方が僅かに早いです(何度実行しても同じ傾向、但しこの傾向は17号機だけでした・・・)、D2Dはエアロに関係無くGDIより一桁早いです(これも機体により様々でした)。

22号機 ( RTX 2080ti x2 )
アプリケーションクラッシュします(環境:Win10 Enterprise LTSC 2019)

17号機 ( GTX 780ti SLI )
2DMark2011-013-17G.jpg

13号機 ( GTX 580 SLI )
計測できず・・・
この機体はTESLA用マザーを流用したものですが、GPUの認識が一般的なマザーと異なり認識させるのに手間が掛りましたが計測できました。
2DMark2011-013-13G.jpg

15号機#2 ( GTX 285 SLI )
2DMark2011-013-15G-2.jpg

15号機#1 ( 9800 GTX+ SLI )
2DMark2011-013-15G-1.jpg

20号機 ( R9-nano CFX )
2DMark2011-013-20G.jpg

19号機 ( Radeon HD6970 CFX )
2DMark2011-013-19G.jpg

12号機 ( Radeon HD5870 EF6 CFX )
2DMark2011-013-12G.jpg

10号機 ( Radeon HD4890 CFX )
2DMark2011-013-10G.jpg


この差は何に由来し、GDI描画を軽くて滑らかにするにはどうしたら良いのでしょうかね?

当初計測した17号機を他の機体と比較してみましたが総体としては2D性能はnVidiaが優勢の印象です、但し Radeon R9-nano ( Fiji ) はそこそこ早いので Vega も早いかもです、Vegaの結果があれば連絡ください。とは言え R9-nano は計測値は早いものの描画自体はカクカク動くので見た目の印象としては nVidia 圧勝です。Kepler世代の中古品が2D性能を求める人には良いかもですと書いて締めくくろうと思いましたが、GPUだけで律速しているとも断定できていない為、未だ謎のままです。上記以外にも Radeon HD7970 / X1900 / 8800 Ultra / 7900 GTX などが手元にありますので追々計測して追記してゆく予定です。 9800 GTX+ と 8800 Ultra はメモリ帯域の差がどう影響するか見るのに良いかなと思っています。

 
関連記事
スポンサーサイト



コメントの投稿

非公開コメント

No title

その昔、どこぞで見かけた話なので真偽は定かではありませんが、
・Vista以降GDIのH/W支援が一部の機能にしか利かなくなった
・DirectX(とVista以降)が主流になってからH/W支援の性能自体が低下した
という理由で、全盛期よりもGDI性能は全体的に低下してるそうです。
スコアの差も全くの推測ですけど、AeroのオンオフによるGDI H/W支援の有無、H/W支援の効きやすさ効きにくさ、場合によってはH/W支援より現在のCPUパワーでゴリゴリ描いた方が速い、などが関係してるのではないでしょうか。

Re: No title

> ・Vista以降GDIのH/W支援が一部の機能にしか利かなくなった

こちらによるとWin7でGDIでのH/W使用が復活した様に書かれていますが、これ自体も部分的な対応なのかもしれませんね。
https://docs.microsoft.com/ja-jp/windows/desktop/Direct2D/comparing-direct2d-and-gdi#gdi-rendering-in-windows-7

> 場合によってはH/W支援より現在のCPUパワーでゴリゴリ描いた方が速い

その可能性はありそうですね。多コアが有効活用されるなら尚更で、かつ、GDIの様な処理は並列演算向きなので。

No title

当時の某掲示板だとX1950XTX/7900GTX以降はGDIのHWアクセラレーションが無く、XPであってもCPUエミュレーションでゴリ押した方が速いと言われていた記憶があります。

Re: No title

> 当時の某掲示板だとX1950XTX/7900GTX以降はGDIのHWアクセラレーションが無く、

その二つ、持ってますので後ほど試してみます。
プロフィール

DualSocketTheWorld

Author:DualSocketTheWorld
自作を始めて二十数台目くらいになりますが、最初からデュアルソケット限定(始めた当時はデュアルスロット)で自作しており、近年になってAMD K6を試したくなりSocket7でK6-2+のシングル構成で組んだのがシングル初です(以降、Bull/nano/Ryzenと数台仮組レベルで組んでいます)。

シングルマザー(含:シングルソケットマルチコア)や4ソケット以上の自作は基本的にしませんし、メーカー製PCの改造も基本的にはしません(ノートPCのSSD化くらいはしますが・・・)

基本路線はワークステーションと呼ばれる分野での自作で、OSもWindows系であればProfesionalが主な対象に成ります。

ゲーマーの様なOverClockは行わず、WS路線としてハイエンドCPUとハイエンドGPUの組み合わせで定格或いはDownClockで発熱を抑えつつ、その時のアーキテクチャに置いて爆速かつ静音を目指し、30年以上の長期に渡り稼動状態をキープする事を目指します。

※基本的にリンクフリーです。どこでも自由にどうぞ。

※画像は時々変ります。

※お決まりの文章ですが、改造は個人の責任で行ってください。ここに記載された情報は間違いを含んでいる可能性が有り、それを元に製作や改造などをして失敗しても筆者は一切責任持てませんので悪しからず。

筆者略歴:
小学生時代にゴミ捨て場で拾ったジャンクテレビ数台を分解して部品を取り出し真空管アンプを自作、中学生時代にPC8801mkⅡsrでZ80アセンブラを始める。社会人になって初のプログラムは弾道計算、後に医療系・金融系プログラマ~SEを経て100~200人規模プロジェクトのジェネラルマネジャを数年経験、独立して起業。現在は不動産所得で半引退生活。
(人物特定を避ける目的で一部経歴を変更しています)

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
アクセスカウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR