EMONE DDI レジストリ設定

[HKEY_LOCAL_MACHINE\Drivers\Display\Active\組み込み LCD]
-"Dll"="ddi.dll"
+"Dll"="nvddi.dll"

[HKEY_LOCAL_MACHINE\Software\NVIDIA Corporation\NVDDI]
+"ENHANCE_2D_PERF"=dword:1
+"USE_VIDEO_MEMORY_FOR_GPE"=dword:1



記述の意味は、- はレジストリ削除、 + はレジストリ追加、 -+ は変更ってことです(diff方式な感じ)。

これで、GDIのBitBltは確実に早くなります。TCPMPとかは、GDIを選択している場合(そんな人は居ないと思いますが)、確実に早くなるはずです。

ENHANCE_2D_PERF は、今のところ、性能向上は見られません。xda flame では 1 に設定されているので、まぁ、おまじないと言うことで(ぉ

[HKEY_LOCAL_MACHINE\Software\NVIDIA Corporation\GFSDK] の中にも関係するところはあるのかもしれませんが、取りあえず2D周りのチューニングはこれで一段落。ですな。

USE_VIDEO_MEMORY_FOR_GPE と Raw frame buffer の関係

ゲームなんかを作るとき、Windows API の ExtEscape() を使って、RAWフレームバッファアドレスを取得し、バッファ転送をするのが通例みたいですが、このオプションを有効にして、RAWフレームバッファにmemsetした結果…

GDIの0.1倍速

な結果となりました。およよ。Rawフレームバッファの場合には、ハードウェアアクセラレーションの恩恵が受けられないみたいですな。
TCPMPとか、ビデオドライバにRAWフレームバッファを指定した時、どんな処理になっているのか解りませんが、いろいろ試してみると面白いかもしれません。何か面白い結果を発見した人は、コメントしてください。

よろしくです。