Uncompressed BSAs

どうにもいまいちPerformanceが急激に落ちるときがあるので、QTP3 RedimizedにQTP3 Reducedを上書きしてみたり、あれこれやってみたんだけど、Texture Replacementsを変更してもあまり変わりがない。

それなりのFPSで動くんだけど時々がくっと大きく落ち込んでしまうときがあるのがかなり不満。時々Clockが大きく落ち込んでそれに引きずられてPerformanceも落ち込むのは、HD3870のBIOSを編集してそれなりに解消できた。(CrossFireをしていて、Second GPUがサボりがちなのは、ATIの来月のDriverに期待…というところで、これは今のところ打つ手なし…)

で、Texture Replace系をあれこれ変えてもあまり変わりがないということは、GPU以外の部分に何か問題があるということかなと、再度Iniファイルを見直してみる。

The Oblivion Performance ProjectのThreadを読んでへーと思ったのは、uInterior Cell BufferとuExterior Bufferは大きくしてもPerformanceは向上しないというところ。これは、どれくらいのCellをMemoryに保持しておくかという設定で、この量のCellが読み込まれるわけではない、すなわちこれらの値が必要以上に大きいと、本来PurgeされるべきものがMemory上に残ったままという結果になるらしい。

適正な値はuInterior Cell Bufferで6、uExterior Bufferで(uGridsToLoad + 1)^2とか。uGridsToLoadは、こちらは読み込むCellの数を指定するParameterで、これを変えると見た目の向上も見込めるんだけど、私は普段は5のままでPlayしているので(5+1)^2 = 36が適正か。

uGridsToLoadを11以上にすれば、DistantLODの部分まで綺麗な景色が広がるのは確かなんだけど、(uGridsToLoad)^2のCellを読み込むことになるので、標準の5から増やした場合にTexture Memoryの必要量が跳ね上がることになる。

7にしただけでほぼ倍になるし、11にしちゃったら標準の5倍弱(!)のMemoryが必要になる…。また、読み込んだCellにいるActorはActiveになるので、当然Scriptも動き始めることになり、Performanceへの影響は非常に大きい。

この辺を再度調整しても、それほど。ということになると後はファイルの読み込み = HDDのPerformanceが問題かなというところ。

というわけで、物理的に早いDiskに交換するといっても限度があるので、BSAを作り直してみることにする。

Unofficial Oblivion Patch、FrancescoのMeshes/TextureとQTP3 Redimized + Reduced、それにBTQ2048/QN2048や、Improved Doors and Flora、Improved Trees and Floraなどを適用して、それを標準のMeshes/TexturesのBSAをUnpackしたものに上書きする。

それから、MeshesだけをMasterMeshes.bsaとして無圧縮でPack。これをUSB Driveにコピー。それから、Texturesを建物、地形、ダンジョンなどの部分と、FrancescoのCreatures/ItemsのTextureと3つに分けてTextures1、Textures2、Textures3という名前で無圧縮の3つのBSAを作成。

INIファイルのArchiveのところを書き換えて、MeshesはUSB Driveから読み込むように、そして、3つに分割したTexturesをそれぞれ使用するように設定してから、その他のMODsを導入してみた。OblivionのEngineは構造上、まずMeshを読みに行き、それから関連づけられたTexturesを読みに行くという動作を取るので、Mesh/Textureを無圧縮BSAとすれば、アクセス速度は向上するはずである。

また、Texturesは結構巨大なものが多いけれど、Meshesは小さなファイルが多いので、スループットよりも該当のファイルを見つけてアクセス開始までの時間が短ければ短いほどGame Engineが待たされることが少ないので、USB Driveなどに配置するメリットがあるかな?というところ。

BSA Commanderで作業すること数時間。さて、早速Gameを起動してみようということで、Launcherから起動。Saveデータを読み込むと…まず読み込みが圧倒的に早い。今までLoadに30秒くらいかかっていたのが、あっという間に終わってしまったので、ちょっと気になって、設定を元に戻して計測してみると、27秒ほどのLoad時間が5秒に短縮されてしまった。

oblivion-2008-03-21-01-04-09-78.jpg

oblivion-2008-03-21-01-06-58-07.jpg

屋外では30-50FPS。かなり滑らかになった感じで、Chorrol – Imperial City間を走って往復しても、がくっと躓くように感じられることが殆どなくなった。これはかなり嬉しいところ。時々FPSが落ち込むときは確かにあるし、光源が多いところ、水辺ではFPSが30を切ったりもするけれど、がくっと落ち込んで1-2秒そのままということは無くなった。ちょっと落ち込んでもすぐに戻るので、かなりSmooth。Auto Runで走りながらマウスを左右に振って蛇行すると、かくついてちょっともたつく感じだったのがSmoothに視点も移動するので、途中で3D酔いしそうになった。

oblivion-2008-03-21-01-11-14-88.jpg

屋内はもっと差が激しくて、40FPS程度から150FPSくらいまでの間。光源が複数視界に入ると50程度、あるいはそれを割り込むくらいまで 落ち込むので、この辺はまぁしょうがないのかなというところか。

後々MODをUpgradeしたりするときに再度BSAを作成しなおさないといけなかったりと、ちょっと手間のかかる方法ではあるけれど、1920×1200の解像度でこれ位Smoothにプレイできればその手間をかけても良いかなという感じだ。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中