FC2ブログ

GDI 描画速度の謎

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

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

GDIPerformance.png

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


下のグラフはDirectDrawとDirect3Dを使った2D描画性能です。Radeonはソフトウエアエミュレーション、GeForceはハードウエアアクセラレーションですね。

D3DPerformance.png

結論として2D描画は新しい世代のGeForceが良さそうですが最新世代に付いては未計測です・・・今、22号機を組み立てていますので月末頃までに22号機も追記します。

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

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 の結果が不可解に悪いのでドライバを変えて再計測してみます。

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より一桁早いです(これも機体により様々でした)。

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 はメモリ帯域の差がどう影響するか見るのに良いかなと思っています。

 
スポンサーサイト

KB4493132 がやってくる。。。

Windows 7 用の更新プログラム KB4493132Windows から Linux への移行を促すリマインダーです。

この機会に Linux へ移行しましょう。

 
 
 

昔の 3DMark をWin7で実行する。


経緯
 過去のアプリを中心に利用している筆者にとっては昔の3DMarkが滑らかで高スコアになるGPUとドライバは貴重です。会社が変わって寛大になったのかライセンスが公開された旧3DMark群は、そんな筆者にとっての宝物になります。今後組むPC達は、これら全てを完走させる事が完成までの目標の1つ(マイルストーン)になりそうです。

入手

 インストーラを公式からダウンロードします。
 https://benchmarks.ul.com/legacy-benchmarks

3DMark99 MAX

 DirectX 6 用のベンチマークです。
 =>筆者は DirectX 6 の動作確認用に使っています。

1)7zipを使ってダウンロードした3DMark99Max.exeを解凍します。
 ダウンロードした3DMark99Max.exeは自己解凍形式の圧縮ファイルですが、自己解凍がWin7では実行出来ない為7zipで強制解凍します(32bit版のWin7なら自己解凍出来るかもしれません)

2)解凍したフォルダにあるSetup.exeを起動します。
 インストーラの指示に従ってデフォルトでインストールします。
 (ダウンロードページに制限解除ライセンスが公開されています)

3)互換性の設定でWindows98を選択します。
 これをしないと DirectX 6.1 をインストールしないと動かないといった趣旨のエラーになり起動できません。
 スタートメニューに3DMark99Maxフォルダが有り、その中に本体へのショートカットが有ります、ショートカットもしくは本体のプロパティを開いて互換性=>互換モード=>Windows98/WindowsMeを選択してOKボタン。

4)うまく動かない場合は KB2670838 をアンインストールします。
 筆者が2014年12月16日に書いた自分用メモにそう書いて有りましたが自分ではどうやってこれに辿りついたか憶えていません。

3DMark2000

 DirectX 7 用のベンチマークです。
 =>筆者は DirectX 7 の動作確認用に使っています。

1)インストールします。
 インストーラの指示に従ってデフォルトでインストールします。
 (ダウンロードページに制限解除ライセンスが公開されています)

2)インストール先フォルダにある本体をバイナリ編集します。
 グラボのメモリが4MB以上必要エラーの対策です。
 ※エラーにならない場合はあえて編集しなくても大丈夫だと思います。
 デフォルトでは下記にインストールされているはずです。
 C:\Program Files (x86)\MadOnion.com\3DMark2000\3DMark2000.exe
 バイナリエディタで下記のアドレスを編集します。
  0001 FB91 7F=>EB
  0001 FC07 7D=>EB
  0006 9962 7D=>EB
  0006 99AD 7D=>EB
  0007 3394 7D=>EB
 ネットから拾ってきた情報の二次公開なので自己責任で御願いします。
 上記の編集・保存後に起動すれば問題無く実行出来るはずです。

3DMark2001 SE

 DirectX 8 / Shader Model 1.x 用のベンチマークです。
 =>筆者は DirectX 8 の動作確認用に使っています。

 ※起動までに異様に時間が掛りますが辛抱強く待ちます。
  たぶん2~3分くらい待たされます。
  続いてメモリが128MB以上必要という警告が表示されますが
  OKを押すと普通に動きます。
 ※上記でOKを押してもRadeonの場合は起動しない事があります。
  その場合はいったんプロセスを終了して、下記で起動します。
   start /AFFINITY 1 3DMark2001SE.exe

3DMark03/05/06

 DirectX 9.0 用のベンチマークです。
 =>筆者は DirectX 9 の動作確認用に使っています。
  下記の違いが有ります。
  03 : シェーダモデル 1.x (部分的に 2.0)
  05 : シェーダモデル 2.0
  06 : シェーダモデル 3.0 (9.0c)

3DMark Vantage

 DirectX 10 / Shader Model 4.0 用のベンチマークです。
 =>筆者は DirectX 10 の動作確認用に使っています。

番外編
 
 CrystalMark 2004R7
  作者のひよひよさんが数年前に32コア対応のUpdateを
  最後に行ってくれました。3DMarkでは測ってくれないGDIを
  計測してくれますので旧アプリを愛する人には3DMarkと
  併せて使って頂きたい逸品です。

 HDBENCH Ver3.30
  描画以外は桁溢れしてまともに計測出来ませんが、
  描画スコアのみ参考に計測しています。
  エアロONでは Matrox G200 や ATi Rage128 などが
  競合になりますがエアロOFFで爆速化します。

 CINEBENCH R9/10/11/15
  注意:公式サイトでは旧バージョンを公開していません。
  OpenGLの簡易的な動作確認が出来ます。
  特にR11とR15は描画結果をリファレンス画像と比較して
  差異がどのくらい有るか測定してくれますので再現性の
  簡易確認が出来ます。

 
 
 

AVX512 は SunnyCove から始まる?

SkylakeではL1の書込み帯域が256bit/CycleかつAVX512はAVX2よりも更にクロックが低い設定ですから使ってもあまり意味が無い無用の長物でしたが、SunnyCoveではL1の書込み帯域が 512bit/Cycle (256bit x 2) になりますので使う意味がありそうです。

しかし、対する Zen2 も同じ 512bit/Cycle (256bit x 2) に成る為、Zen2を圧倒する性能にはならないと思いますし、同程度の性能に留まる可能性や負ける可能性があります(特に既存のプログラムでは負けが顕著に成る可能性も、というかAVX2用の256bit FMA3演算機も2基あるので 256bit × 2 / Cycle の帯域でも AVX2 でさえ飽和すると思うので)

Zen2という直接の競合に加え、下からはQualcommに追い上げられ結構ピンチみたいですよね。10nm問題によるIntelのファブレス化や、そもそもIntel或いはWintelの時代は終わった説など、、、Wintelと言えば最近の Excel は非常に不安定なのでMS-Officeを使わなければならない事が苦痛になりつつあり、日に数回のExcel異常終了を連日経験している筆者としては LibreOffice でも安定性に変わりない、むしろ LibreOffice の方が安定しているとさえ最近特に感じますね。Excel異常終了どうにかして欲しいです。


  

インテルあせってる?

今年のインテルは焦ってますね。かなり。

次世代までの発売ペースが短過ぎますし、Cascadelake-APという黒歴史を生み出そうとしてますから。。。
XEONCT2-2.png

Cascadelake-APはXEON Phiの延長線上にある様なので別枠と考えても今年中にCooperlake-SPが来ると考えるとやはり短過ぎます。

K8が3GHzで2コアになった時のインテルの反応は下の表の通り世代交代までの月数が1桁、これと似た状況が十数年ぶりに繰り返されようとしていますね。
XEONCT1.png

ですが、IceLake-SP はWoodcrestやNehalem-EPの様なIntelにとっての救世主には成れないかもしれないですね。

ストアパイプを1本増やし、メモリチャネルを2本増やし、14nm -> 10nm では同一面積に約2倍の集積が可能ですからHCCが18コア->30コア程度、XCCが28コア->60コアくらいになるかもしれません。



 
プロフィール

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