FC2ブログ

【OBLIVION】 安定化マニュアル

OBLIVIONの安定化について

なんとなく思い立ったのでOBLIVION安定化企画を記事にしていこうと思います
さてさてみなさま方、OBLIVIONを遊んでいて突如ゲームが強制終了してしまう
いわばCTDに見舞われた方は恐らく100人中100人いらっしゃるかと思われます

最早親戚のような間柄でもあり、顔も見たくない厄介なものでございますが
そんなCTDに対して私が行っている対処法をいくつかご紹介していこうと思います

OBLIVIONもとい、MODを導入して遊ぶ事ができるゲーム全てに言えることですが
CTDするにはそれ相応の理由が必ずあります
その原因を潰していけばヘビーなMOD環境でも
CTDの発生率をかなり減らすことができます
私を例にしますと、私は結構グラフィックマシマシで景観に重点を置いたりしていますが
CTDはMOD導入ミスなどによる確定CTD以外はほとんど出ない感じで留まってます
今回はあくまで私が行っている対処法をいくつかご紹介していきます。
間違った情報もあると思いますので、その際はフォローしていただけると助かります
また他にも何か有用な情報がございましたらご教授いただければ幸いです




CTDの見極め

一口にCTDといっても様々なタイプがあります。
OBLIVION_CTD_02.jpg
・ 起動時の確定CTD
・ セーブロード中の確定CTD
・ ゲームプレイ中の確定CTD
・ ゲームプレイ中の不確定CTD

起動時の確定CTDの主な原因
MOD導入時に必須となるマスターファイルが足りてない
必要な本体側のファイルが欠けている
スペックが足りていない

セーブロード中の確定CTDの主な原因
MOD環境不適合によるファイル欠損
MODアンインストールによるファイル欠損
セーブデータ破損

ゲームプレイ中の確定CTDの主な原因
MODの導入ミスによるもの
MODの競合によるもの
スクリプトエラー
サウンドボードに起因するもの

ゲームプレイ中の不確定CTDの主な原因
VRAM不足
過負荷によるクラッシュ
スクリプトエラー


※確定CTDの多くはファイル欠損が原因で起こる
必須MODが足りていなかったり、動作に必要なファイルがなかったりすると
当然確定でCTDが発生します
起動はできても特定のエリア侵入時に確定でCTDする場合も恐らくこれに当てはまります
まずは必要なものがしっかり導入できているかチェックしてみるといいかもしれません

ゲーム起動時CTDに引っかかる場合の多くは
元々あるVanilaのファイルが欠損した可能性が高いです
これはWryeBash (Bain) やOBMMを使用していて
MODをアンインストールした時に起こりやすいです
これらのツールはMOD導入時に上書きされた特定のファイルは
そのMODアンインストール時に一部自動修復されないのが原因です
Menuファイルの欠損があるあるですね

次にマスターファイルの欠落が考えられます
WryeBashの Rebuild Patch の例が分かりやすいかも
WryeBashの Rebuild Patch で Bashed Patch を生成すると
Bashed Patch に現環境のたくさんのesm, espが自動的にマスターに登録されます
ここでマスターに登録されていたMODをアンインストールすると
その esm, esp が欠損してしまうため起動時確定CTDが発生します
再度 Rebuild すれば直りますが、この辺は慣れていない方だと見落としがちですね
ただこのespの欠損に関しては万一不足していた場合
各ツールで指摘してくれるものが多いので比較的特定しやすい部類かと思います
OBLIVION_CTD_11.png
このようにファイルが欠損してしまった際
すぐに修復できるようバックアップは必ず取っておきましょう
特にVanilaデータの全バックアップは必須かなと思います
またどのファイルが欠損したか判断できるよう、BainやOBMMを使用している方は
一度に複数のMODをアンインストールするのは避けたほうが無難かもですね




MODの競合をチェックする

MODの競合をチェックするのにお勧めのツールはTES4EDITです
このツールで大概の競合は確認できます

OBLIVION_CTD_01.jpg

TESをプレイしている方にとっては馴染みのツールだと思いますので
使い方に関しては割愛します
とにかく esp を含んだMODを導入する際は
かならず導入直後、起動前にTES4EDITで競合チェックをする
くらいの感覚で使っても損はないと思います

さて、ここで "大概の競合は防げる" という言葉を使いましたが
TES4EDITでも競合を確認できない箇所があります
そしてそれがゲームプレイ中の確定CTDに直結する事もあるので
その部分を補足していこうと思います

それはスクリプト (Script) の項目になります
スクリプトはそのMODを動かすために組まれたプログラムのようなものなので
新規に組まれているものが多いです
そしてそのプログラムが他のMODのプログラムと干渉したりすると
それが確定CTDを引き起こす原因にもなったります
スクリプトはそのほとんどが競合をチェックすることが出来ません
よってスクリプトの項目を含んだespを持つMODを導入する際は
そのMODが他MODと干渉するかどうかを自身で判断していく必要があります
もし競合するようなMODがありそうなら導入は避けたほうが無難かもしれません

スクリプト処理の最悪なパターンの1つに
一度セーブするとセーブデータに永続的に残るというものもあります
ですのでそれらのMODは慎重に導入すべきでしょう
それでも導入を検討する場合はセーブデータを複数用意しておくのが無難です




OBLIVION.ini の確認

OBLIVIONではゲームがクラッシュした際にiniが勝手に書き換わる症状があります
これにより予想外の問題が発生したりしますので
OBLIVION.ini は "読み取り専用" にしておくという対処法があります
ちなみに私はMO環境なのですが、iniが勝手に書き換わり
ファイル容量が数十MBになる現象に何度も遭遇してます
MOだと "読み取り専用" にしてもダメなのかも

逆に不具合が発生した際には一度iniを削除して新しく生成させることで
症状が改善される可能性があるのもこういった事が理由になります

※OBLIVION.ini を書き換える際の注意点
UI用のMOD導入時にFontの書き換えをしていないか注意しましょう
これも慣れていない方が見落としやすい箇所です
DarNified UI などを導入する際 OBLIVION.ini の [Font] の項目を
直接編集する作業を指示されます
OBLIVION.ini を削除する場合や、入れ替える際に
この編集作業を忘れてしまうのがあるあるです


OBLIVION_CTD_04.jpg

別のUIMODを使用したい場合や
テストプレイでVanilaの環境 (Vanila UI) に戻した場合
[Font] の情報に食い違いがあると起動時に確定CTDしますので気をつけましょう
MO (Mod organizer) 環境ですとiniを環境別に用意できるので
この食い違いをある程度予防できるので便利かもですね
OBLIVION.ini は随時バックアップ推奨です




VRAMについて

プレイ中の不定期的に訪れるCTDの原因の1つ
このVRAMの処理の仕方の違いが
スカイリム (LE) とオブリビオンで大きく違うところになります


ENBoostについて
TESのこの2つのタイトルは32bitアプリのゲームなので
VRAMの上限は4GBまでと制限されています
スカイリム側はこのリミットをENBoostというMODを用いて限界突破することができます
OBLIVION_CTD_05.jpg
これにより2k~4kの高解像度テクスチャをふんだんに利用することが可能に
オブリビオン側はENBoostはv0259 にのみ搭載されています
ただしv0259はENBプリセットとしては動作しないという欠点があります
(※ENBを普通に使うならv0181になる、但しこちらはENBoost機能がない)

よってオブリはENBを使用するか、ENBを使わずにENBoostのみ使うかで
ゲームの安定性に大きな違いが出ることになります


textureの最適化について
texture最適化がゲームの安定性にどれほど影響するかと言いますと
何も考えずに2kテクスチャやハイポリゴンを多様すると
あっという間に不安定環境に陥ります
グラフィックシェーダーは特に消費量が多いので
兼用されていたらCTDへの寿命は尚早まります
ゲーム開始後1,2時間も持たずに不定期的にCTDするようならこれを疑いましょう
オブリビオンがuGridsToLoadの拡張と相性が悪いと思われる理由の1つがこれです
情報量が増えればあっという間に4Gに到達しCTDを引き起こすためです
スカイリムで例えるなら過去 "無限ロード" に出くわした人は
この食いつぶされた状態に陥っていたということになりますね

オブリビオンではENBoost環境であれば2k以上も可能ですが
非ENBoost環境ならテクスチャは1kで最適化させるのが
長期的な安定化につながると思います
グラフィックシェーダー (OBLIVION Reloaded, OBGE など) を使用している場合は
それだけでVRAMをかなり消費しますので尚最適化が必要になってくると思います

テクスチャ最適化には Optimizer Texture というツールが
一括処理が出来るのでお勧めです
OBLIVION_CTD_06.jpg
FPSの改善などが注目されがちですが
オブリに関してはVRAM消費量が減る事に注目してます

私的にですがこのテクスチャの最適化作業は
安定性にかなり高い効果があると感じました
長時間プレイしていてもまったく落ちなくなりました
逆に油断して2kを入れまくるとあっという間に不安定状態に逆戻りします
スカイリムではENBoostは最早導入必須と言えるものになってると思いますので
今からオブリを触る方にとってはここが意外に盲点になりそうかなと思いました


※texture最適化の注意点
ddsファイルにはそれぞれミップマップの有無があったり
DXT1 または DXT3 or 5 で生成されているものがあります
保存する際にこの辺の設定を間違えると
透過処理がなくなったり、変に発光したりと表示がおかしくなるので注意しましょう
慎重にやるならPaint.NETやPhotoShopなどで個別に行ったほうが無難です
ちなみに私は個別にやる派ですw
後私も詳しくは分からないのですが、2kを1kに圧縮した際に
同じ設定で圧縮しても表示がおかしくなるテクスチャが一部ありました
この辺は諦めて2kのままで使ってます


VRAMキャッシュ開放MODについて
他にはオブリビオンにはVRAM開放MOD (ビデオメモリのバッファを行うMOD) が
いくつか存在するのでそれらを利用すれば多少の凌ぎにはなると思います
が、やはり根本を改善しなければあっという間にパンクすると思いますので
過信はできないかなと思います

これまたなるさんが記事にしてくださってましたので貼っておきます
Wikiの紹介記事はこちら

ちなみに私は HTFpcbLazyPCB を2つを同時に使ってました
HTFpcbはNPCの音声が途切れ途切れになる不具合がありますので注意
1分間隔くらいに設定すると直ります




過負荷によるクラッシュ

こちらもプレイ中の不定期的に訪れるCTDの原因の1つ
こちらはVRAMとは違い主にMEMORY側 (物理メモリ) の問題になります
オブリビオンは上記のVRAMの問題と似たり寄ったりで
古いエンジンのため物理メモリは2Gまでしか扱うことができません
これらをサポートするMODがいくつか存在しますので導入を推奨しておきます

4GB Patch
オブリビオンの物理メモリの上限を拡張するMODです
32bitOSなら4Gまで、64bitOSなら4G以上に拡張されます
この仕様を見る限り64bitOSを強く推奨します
この物理メモリの拡張は安定性に高い効果が得られます

Oblivion Stutter Remover
オブリビオンのメモリの処理機能を書き換えて安定化させるMOD
詳しくはWikiやなるびりおん様が記載してくださってます
上の 4GB Patch と併用するのがお勧め



Nif最適化について

Nif最適化は比較的新しめの話題になりますね
これは以前なるびりおん様がNifのゴミをやっつけろ!という記事で
詳しくご紹介してくださっております
他にも記事にしてくださってる方が多数いらっしゃいます
Nif最適化はmeshにあるゴミを取り除くことで
読み込みの軽減やFPSの向上が見込めるため全体的な安定性に繋がります
特に光源処理の負荷軽減に大きな効果を発揮します

オブリは今までの情報からも光源処理はCPU負担になっていると言われています
(※スカイリムではグラボ依存になったようです)
よってNifのゴミを処理することで光源処理が最適化されFPSが向上するのだと思います
オブリの光源処理の問題について分かりやすいのが
松明使用時場所によってFPSがガクっと低下するのを体感した方も多いのではないでしょうか
光源処理を主とするENBなんかでもNif最適化を行うことで
場所によってはFPSが10~20ほど改善する場合もあります
Nehrim環境でもNif最適化によりFPSが10~20ほど改善しました
装備MODでたまにFPSがガクっと低下するものがありますが
それらもこのNif最適化で改善される可能性が高いです
場合によってはオブリで最もFPS向上が見込める方法かもしれません




Nif最適化に使うツール

■必須なもの
python-2.6.6 (Nvideaなら Windows x86 MSI Installer (2.6.6) (sig) をDL)
PyFFI-2.1.6.df5512c.win32

■導入方法
先に python2.6.6 からインストール
PyFFIはインストール済みのpythonを認識するので後からインストールします
インストールに成功していれば、右クリックから "Optimize with PyFFI" が選択出来ます
最適化させたいnifファイルを1つのフォルダにまとめてフォルダごと最適化をかけます

※Nif最適化はリターンが高い方法と言われておりますが
 失敗のリスクも高いので、どのNifなら最適化をかけても問題がないか
 バックアップを取りつつトライしてみてください

※Python版のWryeBashを使っている場合
 Pythonのバージョンが書き換わるので注意してください。


またTwitterで手羽先さんの記事を紹介していただきました
Blenderの出力の仕方で装備MODのFPSが激変するというお話です
こちらも光源が関係しているみたいですね~




無圧縮BSAについて

ゲームプレイ中の読み込みをスムーズにする作業です
TESのオープンワールドはフィールド移動中は
次のセル次のセルへとマップ情報が随時切り替わっていきます
この次のセルの読み込みの際 "マップをロードしています" という情報が
画面下部に表示されることがありますよね

オブリビオンの場合、ここで各ファイルの走査が行われるのですが
全てのファイルがBSAという拡張子に圧縮されているため
それを一度解凍してから読み込むという2度手間の作業を行っているらしいです
よってそのBSAの圧縮を一度無圧縮の状態に戻して
圧縮せずに再度BSA化することで情報処理速度を引き上げることが可能なようです
結果的にセルロードへの負担が減るので安定化にも繋がると思います

BSAの解凍は BSA Browser (第三世代版) がお勧め
BSAの圧縮は BSA Commander がお勧め

無圧縮後はこんな感じ
OBLIVION_CTD_09.jpg
       
OBLIVION_CTD_10.jpg
容量が増えているのが分かります

また赤線で引いた更新日時のところですが
オブリのVanilaのBSAは更新日時が "2006/01/01 0:00" になっていないと
正常に読み込まれません
無圧縮化作業をした際、更新日がその日に書き変わってしまうと思うので
納入助 というツールで直しておきましょう


※Nif最適化した際の注意点 (おま環??)
Vanilaの "Oblivion - Meshes.bsa" を解凍し最適化作業にかけ
その後無圧縮BSA化した際に、一部黄色いお化けが発生するのを確認しました
私が確認したのは "rock" meshのごく一部で確認しております
OBLIVION_CTD_08.jpg
OBLIVION_CTD_07.jpg
今回の経緯を振り返ってみますと
・ Oblivion - Meshes.bsa 解凍時点では問題なし
・ Nif最適化作業後も問題なし
・ Nif最適化後のmeshを再度BSA化した時点で症状を確認

よって最適化後のmeshをBSA化した事が原因だというのは分かったのですが
最適化前のmeshをBSA化しても問題がないので謎なんですよねw
最適化後のmeshをBSA化せずにそのまま導入しても問題なしです
うーん・・・この辺は分かる方いらっしゃれば情報求ムです
恐らくは BSA Commander が悪さしているのだと思うのですが

そんなわけで
私は "Oblivion - Meshes.bsa" は最適化せず、無圧縮化のみに留めてあります
それとは別にBSAを解凍し、最適化した "Vanila meshファイル" を用意して
そちらをBSA化せずにMOで導入して使うことにしました。

ちょっと分かりにくいですねw
簡単に言うと Vanila mesh のBSAファイルの解凍圧縮は不安定なのでいじらず
別に解凍し最適化した meshフォルダ を作って二重に上書きしたという形です
中身自体は一緒なので今後いじる場合は meshフォルダ側 をいじればOKという形です
MO環境でしたらMODの出し入れが容易なので
あえてBSA化せずそのまま導入したほうが捗るかもしれませんね




低負荷・高解像度化の環境構築

最後にこれは私が環境構築をする際に意識している事になります
なるべくゲームへの負荷 (FPS低下) を抑えつつどうやったら景観を良くしていけるか
そんなことをつらつらと述べていきます

オブリビオンは今までの考察からもお分かりの通り
meshファイル (Nif) 総数によるCPUへのパフォーマンスヒットが大きいゲームになっています
スカイリムとの比較例で最も分かりやすかったのが
TES4LODGenDynDOLOD
どちらも遠景の構築物を生成するMODですが
両タイトルで使ってみたところ、オブリはFPS低下が顕著で
あまり多くの建造物 (Nifデータ) を描写するのには向いていないのが分かります
代わりにスカイリムではFPS低下はほとんどありませんでした (※恐らくグラボ側で処理しているため)
CPUへのシワ寄せがいかに負荷を高くしていたのかが分かりやすい例かなと思います

そんなわけでオブリビオンで低負荷・高解像度化を構築する際に注目する点は
なるべくmesh (Nifのゴミ) のオブジェクト総数を抑えつつ (CPU処理側)
テクスチャやシェーダーを中心に景観を整えていくと (グラボ処理側) 色々と安定しやすいと思います
人口増加MOD、建造物追加MOD、MOB増加MOD、これらのMODは上記に該当するため
パフォーマンスに影響大なので導入する際は要注意です
使用する場合はFPS低下に気を付けましょう

草増量もポリゴン数を増やすため結構重くなるMODです
ただ草は景観に大きく影響するので私は草はなるべく妥協しないようにしております
ちなみに草はローポリ化してFPSを稼ぐMODなどがあります
ただ見栄えはやはり落ちるので私はVanilaのままにしてます、この辺は好みになりますかね
草の負荷を妥協しない代わりに、他の部分を最適化してそっちでFPSを温存するみたいな感じですw

ENBoost環境でない方はVRAMの管理にも要注意
上記のMODらとハイレゾMOD、シェーダー関連を併用する場合は注意しましょう
VRAMに関してはENBoostである程度サポートできますが
結局CPU側にいく負担も考えるとそこにオブリビオンの限界を感じましたw

ちょうど最近Nehrimをプレイしておりまして
結構重かったので色々シェーダー関連入れ替えたりしてテストしてました
FPSに関しては Nehrimは自環境でシロディールより10~30くらい落ちました
軽いエリアだとそれほど差はありませんが重い場所は結構FPSドロップが激しいです
すべての安定化作業を行っても重いエリアは結局重いの例

こっちはダラダラしてますのでのんびりご覧ください

そんなわけでコアなMOD環境を構築する場合に限るとは思いますが
この辺のバランスを考慮しながら環境構築をしていくと
より安定性の向上に繋がるかもしれません


TOPへ戻る
OBLIVION 目次へ

コメント

非公開コメント

No title

お邪魔致しますぅ!|゚Д゚)<どーん!
安定化マニュアルとってもありがたや~!(ノ゚Д゚)ノオォオォ
こういった情報って「昔どこかで見たけど、どこだっけ・・」って
感じに陥りやすいワタクシの様な宇宙生物からすると、とっても
とっても有難いです!
それにしてもENBの作者さん、オブリ用のアップグレード
してくれないっすかね。。。(´Д`;)

Nif最適化やりたいんですけど、pythonが上手くインストール
できなくて頓挫中です。。
やはりWindows10は鬼門ですねぇ。。(´Д`;)

トライワットさんへ

あ、あ、あ、あちゅーい( ˟ ⌑ ˟ )
ワトソン先生!最近の日本諸島はもはや人類が生存できる限界を超えております!
至急国民たちがCTD症候群を引き起こさぬよう
地球安定化をすべきであります(`・ω・´)ゝ

と思っていたのですが、海外ニュースを見ましたところ
デスバレー52℃、ラスベガス46℃っておまw


こんばんは (^o^)ノ
今回なんとなく書いてみた安定化マニュアルでございますが
記事を書いている途中や今もですが
「あれぇ~?何かもっとCTDの原因になっていた厄介な症状が
 色々あったような気もするのだがー( ´^` )?」
何だっけーどこだっけーってなりますよねw
そんなわけで、都度思い出し次第色々追記していこうかなぁーと思っておりますw

>ENBの作者さん、オブリ用のアップグレードしてくれないっすかね。。。(´Д`;)
ENBとENBoostが両方使えるようにだけでもして頂ければ
色々節制していたものが使えるようになりますし
最適化作業もせずに済みますので本当助かるんですけどねーw

>pythonが上手くインストールできなくて頓挫中
私も昔Pyhon版のWryeBashを使用していたころは
WryeBashが急に立ち上がらなくなったり、処理が重くなったりと
予期せぬ事態に陥っておりましたです。
Python絡みもBSAの問題と同様環境によって色々不安定要素が多そうです(;´Д`)
あとWindows10絡みも問題多そうですよね・・・(私は未だ未使用ですw

そうだワットさんにWindows10絡みの安定化マニュアルを(° ꈊ °)✧キラーン

No title

おこんばんちゃです。
最適化だけでこんなに項目があるとは...ズボラな私には本当にありがたい。
あれもこれも見境なく入れて行くとSkyrimよりカックカクになりますもんね。

しかし文章の読みやすさといい、構成と言い、Rabiさんのブログはホントに読みやすいですね~
もはや近年のOblivionの必須マニュアルと言っても過言ではないかと( *´艸`)
ありがとうごぜえます...

sasaさんへ

こんばんちゃ(^o^)ノ

Nehrimをプレイし始めてから早2ヶ月目
プレイ時間にして50時間ほどたちそうなワタクシです。
それでも全体の半分消化したかどうかくらいのボリュームで驚きですw
予想以上に面白いですね~。

>最適化だけでこんなに項目があるとは...
スカイリムだと結構力推しでも大丈夫なところがあるのですが
オブリは何分古いゲームですから、安定化させようとすると色々なところが足引っ張って
面倒だったりするんですよね~(ノД`)

今回の記事ですが、多くの情報は使い古された情報だったりで
先人の方々の知恵は偉大だなぁとおもいましたです。
スカイリムの安定化についてはtktkさんが総まとめされていたのですが
オブリは当時まだプレイヤーの皆さんも手探り状態でCTDと格闘していたと思うので
小出しの情報が大多数でした。
そういった背景を踏まえると何か時代を感じますよねw