7

この質問の背景を簡単に説明すると、職場では Dell Precision ワークステーションを使用しています。私の現在のものはNVidia Quadro FX1700を持っています。私のチームは、リアルタイム データ取得システム用のグラフィックス コンポーネントを開発しています。そのため、グラフィック操作が CPU 時間を使いすぎていないかどうかを常に確認しています。簡単なチェックのために、いくつかのテスト プログラムを実行して、指定されたレート (たとえば 10 fps ) でシーンを描画し、従来のタスク マネージャーを使用して CPU 使用率を確認します。これらのプログラムの 1 つは、GDI の DrawRectangle 呼び出し (塗りつぶされている) に重きを置いています。このプログラムは常に約 40% の CPU ユーザー時間を消費していましたが、約 1 年ほど (ここで推測するだけです) 約 2-3% のカーネル時間しか使用していません。明らかに、ハードウェア アクセラレーションがここで行われています。実際、HW アクセルをオフにすると、元の 40% のユーザー時間に戻ります。もちろん、これはすべて朗報です。OpenGL への移行をすでに考えていたからです。毎年、GDI はハードウェア アクセラレーションの恩恵を受けませんでした。少し前まではそうです。

これについてもっと知っている人はいますか?マイクロソフトはこれを行いましたか? それともgfxカードのベンダー固有ですか?

編集

すでに回答が寄せられていますが (Ferrucio、Torlack、Rob Walker)、私の質問にはまだ回答がありません。ここでは、塗りつぶされた四角形について話しています。おそらく、最適化する最も簡単な機能です。GPU にいくつかの座標を送信し、リッピングするだけです。それでも、それは常に CPU 側で実装されていました。これまでの回答から、NVidia がついに (10 年以上経って) 光を見て、GDI を加速したと信じるようになりました。そして、これについての発表はありませんか?これに関しては全く情報がありません。社内の顧客からグラフィックスの高速化について尋ねられますが、私が言えるのは「運が良かった」ということだけです。

編集2

さまざまな回答によると、ドライバーに関連しているようです。そのため、NVidia は何年にもわたってワークステーション カード用の粗悪な GDI ドライバを作成してきました。GDI が高速化されていないことは、社内で認められた事実であり、すべてのテストでこれが確認されました。

4

5 に答える 5

7

GDI は、グラフィックス デバイス ドライバーでさまざまな関数を呼び出すことによって機能します。すべてのドライバーが実装する必要がある機能のコア セットがあります。他の機能は、ドライバーによって実装される場合があります。そうでない場合、GDI はそれらの機能自体を実行します。

特定の機能がハードウェアに実装されていない場合、ドライバーがその機能をソフトウェアで実装しても意味がありません。おそらく GDI の方が適切に機能するからです。GDI は、パフォーマンスのために非常に最適化されています。

ハードウェアに実装される関数が増えると、それらの関数のパフォーマンスが大幅に向上するだけでなく、GDI が実行する作業も少なくなり、結果としてグラフィックスに費やされる CPU 時間が減少します。

また、グラフィックス カードのベンダーが、カードを市場に迅速に投入するために、カードが実行できるすべてのハードウェア機能を実装していない場合もあります。その後、そのドライバーの新しいバージョンでその機能が実装され、パフォーマンスが向上する可能性があります。

于 2008-09-26T20:42:20.680 に答える
5

GDIはかなり長い間加速されました。私が覚えている限り、それはあなたのハードウェアとドライバーにある程度依存していました。このようなパフォーマンスの急上昇を最近見たのはなぜか奇妙に思えます。

ただし、あまり満足しないでください。GDIハードウェアアクセラレーションはVistaではサポートされなくなりました。新しいデスクトップコンポジションエンジンはそれをサポートしていません。ただし、Vistaでは、コンテンツをアプリケーションで常に再描画する必要がないため、ウィンドウをすばやく移動できます(そして、ティアリングはないと思いますか?)。

于 2008-10-06T13:10:40.103 に答える
2

ある程度、GDI は常に高速化されてきました。古い W​​in31 の時代に戻っても、GDI のハードウェア アクセラレーションが主なセールス ポイントであるカード (Number9) を購入したことを覚えています。

于 2008-09-26T20:32:00.987 に答える
1

しばらくの間、多くの 2D が高速化され、Windows の新しいメジャー バージョンごとに、ディスプレイ ドライバーの動作方法が変更されました。Windowsがウィンドウマネージャーレイヤーを刷新したのはXPだったと思います。XP は以前のどのバージョンよりも Windows 2000/NT に似ているため、実際に比較するのは困難です。

ウィキペディア、 Development of Windows XPに関する詳細情報。

Windows 2000 は確かに、DirectX を組み込んだ最初の NT カーネル ベースの Windows であり、グラフィックの改善もいくつかありました。Windows 2000 (ウィキペディア)

リリース間でディスプレイ ドライバ モデル/2D サブシステムに大きな変更があったとは思いません。したがって、そのような変化に気付いた場合、それは nVidia が行ったことが原因である可能性があります。

于 2008-09-27T01:27:02.820 に答える
1

Vista には、パフォーマンスを劇的に向上させる機会を提供する新しいディスプレイ ドライバ アーキテクチャがあります。ハードウェアと OS の組み合わせのように比較していますか?

于 2008-09-26T20:39:03.840 に答える