BVE5 D3DERR DRIVER INTERNALERRORとの格闘。

この記事ではBVE5をWindowsXP 32bitで動作させた際に
「D3DERR_DRIVERINTERNALERROR」が表示される問題に対処した過程をつつらつらと書いています…が。長くなるので最初に私のケースにおける主原因と対策を紹介します。
意味が分からないならば、触らない方が安全です。
当たり前ですが、自己責任で。
主原因はページプールの枯渇
対策は
「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management」
内の
「PagedPoolSize」
の値を変更する。
16進     10進
192Mb 0c000000 201326592
256Mb 10000000 268435456
384Mb 18000000 402653184
多分普通は256くらいにしておけば問題ないはず…。私の場合は384にしましたが…。
まぁ…そうそう出ない症状だと思うので…。
ドライバ新しくして.Net入れ直してDirectXも新しくして…OS入れ直しかOTZ
ってなったらやってみると良いかもしれません。
当たり前ですがメモリ圧迫されるので。

では、ここからはダラダラと。

BVEって知ってますか?
フリーで開発されている鉄道運転シミュレータです。
レースゲームにおけるグランツーリスモの様に、ゲームの域を逸脱し詳細なパラメータ計算サウンド処理等シミュレータと呼ぶにふさわしいソフトです。

現在バージョンは5まで進み2、4からグラフィックの処理系が一新されました。
2や4で採用された描画方式は新しいタイプのグラフィックボード(以下GPU)と相性が悪く、また、仕様上の問題からVista以降では動作しませんでした。
5では現在でも一般的によく使われている方式が採用され、Vista以降のOSでも動作が可能となりました。また、GPUとの相性もかなり改善されています。

さて。
私のメインPCではRADEON HD4850をGPUに使っていました。
自作を始めてからnVidiaだけだったので使ってみたかったのです。
まぁ、これが地雷というか…ドライバが不安定でバージョン毎にゲームとの相性やら何やら…
それはそれで面白かったのですが、結局ドライバの完成度は正直微妙なまま放置され…。
不安定ながらも使えないことはない…と思い使っていましたが…
BVE5の描画が微妙なことと通常時でも微妙に不安定な動作ににイラッと来てついにGeForce GTX550Tiに乗り換えてしまったのです。

これで、BVE5サクサク動作で描画も完璧だ!!
とか思っていたら、件の「D3DERR_DRIVERINTERNALERROR」が表示され止まってしまう症状が。これがでるとウィンドウが白背景に赤×になります。

で、まず始めに疑ったのはやはりドライバ系。
なにせGF→RD→GFと乗り換えているわけで、ドライバ周りでトラブルが起きてもおかしくはないはず…。
そこで、セーフモードからGF、RD共にファイルもレジストリも消して出来るだけクリーンに。
そして最新版ドライバをインストールするも結局ダメ。

次は、.Net。
1が出た頃からOS入れ直してないのでこれも相当カオスなはず…
徹底的にアンインストールして、できるだけ綺麗に。
結局1.0、2.0、3.5、4.0が入っていたので一旦消去し3.5と4.0に統一。
するも関係なし。

次はDirectX。
Dxdiagでエラーは出ていない物の、とりあえず何通りかフル版をダウンロードしてインストール。
これも関係なし。

で、結局手詰まりになって情報を探し直す事に…すると洋ゲーのフォーラムでこの症状が散見される…。
そこでこの解決法を見つけました。最終的にはSteamのフォーラムだったかな…。

簡単にまとめると。
まず、32bit版のWindowsXPではPC起動時にページプールは自動計算されて固定された容量が確保される。ちなみにVista以降では動的にページプールは確保される。

Norton等のアンチウィルス系のソフトはこのページプール容量をかなり食う。

かなり食われた状態でDirectXを使ったソフトを使う。
DirectXはワーキングメモリとしてページプールを使うので容量が足りなくなる。
ということ、みたい。

よっしゃーこれでばっちりじゃー!

と思ったらなんか動きがスムーズじゃない…。負荷の変動でGPUのクロックが上下して40-50FPSで揺れる…。
こういうときはドライバ純正のオーバークロックを追加でインストールして、GPUデフォルト設定のままオーバークロックメニューを適用すればOK。
と、いうのが定番だったんですが…。どうやらドライバの仕様が変わったのか可変クロックが動いてしまう…。
あれこれ試した結果、3D設定にプロファイルを作れば良いみたいです、ハイ
ばっちり60fps張り付きになりましたとさ。

これもだめ。結局DXVAが作動する映像を裏で再生することでクロックを固定させることで安定しました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

計算式を完成させてください。 **認証** Time limit is exhausted. Please reload CAPTCHA.

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください