nvddi.dll を設定する

nvddi.dll が有効になったところで、こやつの設定をば。こやつの設定は以下にあります。

[HKEY_LOCAL_MACHINE\Software\NVIDIA Corporation\NVDDI]

ちなみに EMONE のデフォでは、こんな方々が。

"BootLoaderPresent"=dword:00000001
"Main_Rotate"=dword:00000000
"Main_Bpp"=dword:00000010
"Main_Panel"=dword:0000006c
"GE_Disable"=dword:00000000
"RGBOutActive"=dword:00000000
"RGBOut"=dword:00000000

こちらは xda flame な方々

"ENHANCE_2D_PERF"=dword:1
"USE_VIDEO_MEMORY_FOR_GPE"=dword:1
"Main_Rotate"=dword:0
"Main_Bpp"=dword:10
"Main_Panel"=dword:66
"GE_Disable"=dword:0

まぁ細かな表記の違いは気にしないとして、

香ばしい方々が約2名

こちらは X01T な方々

"BootLoaderPresent"=dword:1
"ENHANCE_2D_PERF"=dword:0
"USE_VIDEO_MEMORY_FOR_GPE"=dword:1
"Main_Rotate"=dword:0
"Main_Bpp"=dword:10
"Main_Panel"=dword:67
"GE_Disable"=dword:0

こちらも同じように香ばしい方々が…


着目すべきは以下の2点ではなかろうかと…

ENHANCE_2D_PERF

 この方の存在は、わりとあちこちの Blog なんかで語られてますが、想像するに 2D 描画が早くなるのではないかなぁと。先程のMSのddiのページありましたが、描画にハードウェアアクセラレーションをかけるかどうかはドライバに任されているのと、nvidiaサイトのどっかにこんなことも書いてあったので、2D ハードウェアアクセラレーションは存在しているのでしょう。

64-BIT 2D GRAPHICS ACCELERATION

* BitBLT with 256 3-operand raster ops
* Video scaling with range of 8x expansion to 1/64 th contraction
* Mono and solid pattern
* Mono-to-color expansion
* Mono source/pattern transparency
* Destination read/write color transparency
* All-angle Bresenham line draw
* Rectangle fill
* Image/Video Rotation
* Alpha Blending

追記:

Rectangle x 1000(GDI、Brushあり) のベンチマークを行ってみましたが、設定しても約3000msと、ほぼ変化がありませんでした。他のRender系APIはまだ試していないので、暫定的な結果ですが…

USE_VIDEO_MEMORY_FOR_GPE

 この方の存在は、あまり注目されていないようで、Google様によれば日本語サイトでのヒットはございません。

がっ

ぬるぽじゃないですよ。こいつにはとてつもない効果がありました。BitBltがなんと

約10倍に高速化(当社比)

GPE は 前述のMSサイトで Graphics Primitive Engine と書かれていますので、おそらくアクセラレータ本体と推測されます。んで、この GPE のためにメモリを使おうってんですが、具体的にはどのようなことが起きるのでしょうか。

a.GPE のために VRAM を確保して、それを使う。
b.GPE のために、確保してある VRAM を利用する。

のいずれかだと思うんですが、b.だと早くなるというより、メモリを節約するイメージなので、a.であると考えたい訳です。実際、800x480 の BitBlt を1000回繰り返すベンチマークを行ったところ、平均48000msから平均4700msへと、おおよそ10倍以上の速度向上が認められました。
しかし、実際のところ BitBlt が高速になって、劇的に速度が向上するアプリケーションって、そんなにない気がします。系統で言えば、ビデオ系とかエミュ系のようなダブルバッファリングを行うアプリケーションくらいでしょうか。

しかし、具体的なアプリケーションが思いつきません。


ところで、ちょっと気になるのが、以下の記事
http://xdaflameusers.com/viewtopic.php?pid=8148#p8148
こいつを有効にしたら、WMPでMP4が再生できなかったとある。なんの影響が?
こいつを無効にしたら、MP4が無効になるっていうなら、基本有効ってことにしましょう。