ページ

2020年6月26日金曜日

WDDM 2.7 神アプデ! HAGS登場 過去経緯・長話

※この記事は主に2020年HAGS登場時の話や、過去経緯の長話です。
Windows 11登場後に手短に書いた、新しい記事はこちらを参照。

概要

Windows Vista以降7・8・8.1・10(~1909)含め、これまでWDDM(1.0~2.6)は、
13年もの間ビデオメモリの仮想化による表示遅延問題を抱え続けてきました。
ついにWDDM2.7以降HAGS対応ならビデオメモリを直接管理できるようになり
解決に向けた大きな一歩を踏み出しました。

これまでを簡単に振り返る

2007年セカンド・オピニオン (231) OS小論:OSの構造をもう少し考えてみる(37) | マイナビニュース
(中略)ここまでの話はVistaに限らず、PCI系のAPIを使う全てのマシン
(敢えてPCとは呼ばない。Embedded系デバイスなども同じだからだ)
に共通の話だが、Vistaは更にこれを悪化させる。

それはWDDMに絡んだビデオメモリの仮想化だ
2009年PC Engine emulator Ootake Windows7/Vistaがゲーマーから避けられる要因
"Windows Vista"は、特にゲーマーからは避けられていたOSですが、
新しいOS"Windows 7"についても、このままでは同様の結果になってしまいそうです。

2012年Win8以降まだ改善がある方でしたがそれでもXPDM並に近づく事は出来ませんでした。


そして今回ついに!Windows10バージョン2004のWDDM2.7に、
Hardware-accelerated GPU scheduling」(略称HAGS)
日本語で「ハードウェアアクセラレータによるGPUスケジューリング
という新機能が導入されました!
「設定」→「システム」→「ディスプレイ」→「グラフィック設定」
の中にあります。

2020年GPU性能がアップするWindows 10の新機能が使えるGeForceドライバが公開 - PC Watch
Windows 10 May 2020 Update(バージョン2004)では
「設定→グラフィックの設定」のページ内に「ハードウェアアクセラレータによるGPUスケジューリング」という機能が用意されており、
有効化することでビデオカードが自身のメモリを直接管理できるようになり
性能改善やレイテンシの削減が行なわれるとしている。
Hardware Accelerated GPU Scheduling | DirectX Developer Blog
Windows 10 hardware accelerated GPU scheduling explained
Hardware-Accelerated GPU Schedulingによる恩恵 - Qiita

WDDMでビデオメモリを直接管理出来るようになった事により、
Vista時代から残るWDDMの大きな問題の1つが解決に近づいたのです!👏

XPDMで出来た事とはいえ今回はWDDMの根幹に関わる改善です
🎉歓迎すべき良いニュースです🎉

Windows自体これまで何かと悪いニュース続きでしたが、
解決への動きは評価しようと思った次第です。

しかしVista発売から13年も経ち、
そんなに待たされると人間が年取って反射神経が鈍ってしまいます^q^

追記: Windows 11ではHAGSが標準で有効になりました。
2021年【Windows 11リリース記念】Windows 11正式版で新機能をチェック!! PC自作のパーツ選びと既存PCのアップグレードのポイントを解説!!! - YouTube (23:33~)


もちろんWDDM2.7以降かつ「ハードウェアアクセラレータによるGPUスケジューリング」に、
対応したGPUドライバが用意されてる必要があります。

NVIDIAの場合
2020年6月時点でGeForce GTX1000番台以降に対応したドライバを入手できます。
NVIDIAドライバダウンロード

GTX900番台以前はXPDMが用意されていて、
DirectX9.0c以前を使用するなら、Windows2000やXPを続投して対応出来ましたが、

GTX1000番台以降はXPDMが無く、
このままではWindowsでGTX1000番台以降のビデオメモリを直接管理出来ないので
今回のWDDM2.7で対応したものと思われます。

以下長話

Vistaや7(WDDM)の負の遺産であるオーバーヘッドを減らすのが今回の目玉ですが、
ベンチマーク結果「だけ」を見て効果が無いと言う人が居ます。

そもそも性能改善は二の次です。ゲームによって異なります。
性能改善する作品もあれば、性能改善しない作品もあります。
XP→Vistaで4%性能が下がったので、もしかしたら4%回復するかもしれません。


Vista実装WDDM1.0のおさらい

この「ハードウェアアクセラレータによるGPUスケジューリング」
今回なぜON/OFF形式で登場したのかという話なのですが、

まず基本としてVistaのWDDM1.0からGPUメモリを仮想化した事によって実現した機能
これらVista時代の新機能WDDMが元となり以降7,8,8.1,10に継承されています。


GPUドライバが動作停止してもWindowsが止まらずにドライバを初期化

Windowsは世界中で販売してますから、
PCが不安定だけどとりあえず動き続ける事で救われている人もどこかに居るでしょう。
そんなPCで「ハードウェアアクセラレータによるGPUスケジューリング」をONにすると、
グラフィックドライバの動作停止と同時にWindowsがブルースクリーンになるでしょう。

しかしあなたのPCはグラフィックドライバが動作停止した事がありますか?
普通は滅多に動作停止しないはずです。
特にゲーム中に止まるとなればそもそもPCとして話になりません。


GPUを使用するアプリケーションのマルチタスク(同時処理)効率が良い

ゲームをしながら他にGPUを使う処理、動画再生や、録画・配信などエンコードする場合に、
「ハードウェアアクセラレータによるGPUスケジューリング」をONにすると、
比べればシングルタスク特化になるのでプレイ中のゲーム以外のGPU同時処理が遅くなります。

しかし他アプリにGPU同時処理させる用事が無く単に1つの画面に集中したいなら、ONで問題ありません。

※なお現在の最新ドライバでは同時処理に悪影響が及ばないよう修正された。
2020年9月17日 GeForce 456.38 Driverで解決した問題 | 4Gamer.net



昔話

結構前の話ですが(時期的に2010年頃?)
Windows7が最新だった時代にやたらWDDM1.1を持ち上げている人達が居たのですが、
これはGDIやオーバーレイ描画のGPU支援というXPDMに元々ある機能を遅れて実装した物で、
重かったVistaのWDDM1.0から多少マシになりましたがレイテンシはXPDM並には程遠く、
(WDDM1.1当時初登場したDirectX11の作品はまだ少なくプレイ人口が多い作品は9.0cが占めた)
皮肉な事に後のWin8のWDDM1.2ビデオメモリ効率化などによる改善の方が
まだ実感出来るレベル。(Windows8でDWMを無効にしたのが懐かしいですね)

とても長い間放置された問題だったので、意味不明な偏見に晒される事もありました。

このような人達は個人差うんぬん以前の問題使い比べてすらいないのです。
エアプの話には気を付けよう!

エアプ - Weblio辞書
未経験者が経験者であり玄人でもあるかのように振る舞うこと、
その言動、そのように振る舞う人を指す言い方。
(中略)
巷で見聞きした(経験に依拠しない)情報に基づき、
横やりを挟むような振る舞いを指すことが多い。

「同じPC」または「非常に近いスペック構成のPC」で使い比べる、
「フルスクリーン同士」「ウインドウ同士(DWMの有効/無効を確認)」
のようにしっかりハードを合わせて動作設定を確認するのがフェア(公平)です。

使えば分かる

🌟ぜひ実際に使って経験・効果を実感してみてください🌟
「設定」→「システム」→「ディスプレイ」下部→「グラフィック設定」の中にあります。
WDDM2.7の新機能「ハードウェアアクセラレータによるGPUスケジューリング」

追記(と言うかオマケ)

祝1周年

0 件のコメント:

コメントを投稿