スポンサーサイト

Posted by なる on --.-- スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Oblivion を安定させよう -其の2-

Posted by なる on 16.2009 システム関連 12 comments 0 trackback
< 更新 2009/09/03 > LazyPCB v0.1 の記事を一番下に付け足しました。



関連記事
Oblivion を安定させよう -其の1-
 【CTD に関する MOD紹介 ( +Radeon 特有の現象 )】
Oblivion を安定させよう -其の2-    ←ここ
 【VRAMキャッシュ開放系のツール比較】

もしかして「コピー~....」というファイルやフォルダ沢山作っていませんか?
 【経験談と仮説とか妄想とか】
雑記 -其の1-
 【一番最後に Clean Up を紹介してます。判りにくかったので...】
雑記 -其の4-
 【デフラグツール、その他】
雑記 -其の8-
 【OBSE v0018 と HTSCLight】
雑記 -其の9-
 【Oblivion Stutter Remover と Reneers Varied NPC Mod】



※注意※
かなり主観や偏見が含まれています。
あくまでも私の環境で私が感じたことを書いていることです、予めご了承ください。
PC が不安定とかそもそも Oblivon が起動しないとかは論外です。

ふとした時に気づいたことや、こんな結果が出たよ、感じたよ、的なアバウトな話。
+ 何処かで見たような情報だったり。
OB安定201

まあ安定とか書いておきながら自分の環境は不安定なんですけどね! Orz
それでも結構がんばって動いてるんだと思うけど...
...
..
.
えーと、まず最初の SS なんですが、たぶん見たことある人が多いんじゃないかな。
いわゆる案山子なんですが、奥にも見えますね。

これが起きる原因はVRAMキャッシュ開放系のMODを入れてるとなります。
Oblivion に限る話ではないと思いますがゲームを長時間続けていくと使われないデータが増えていきます。
たとえばブルマから帝都を経由してアンヴィルまで移動した場合、誰がどう考えてもアンヴィルにいるにのブルマの情報は要らないですよね、帝都もですけど。

そういった、いらない情報を開放して動作を軽くするMODを「VRAMキャッシュ開放MOD」と勝手に呼んでます。
(長いんでメモリー解放とかVRAM解放とかに置き換えてる場合も)

で、その解放に伴って死体がどんな倒れ方をしていたかといった情報が消されてしまうのでこんな案山子が生まれてしまうのです。
鑑識涙目(・・`)

それともう1つ大きなこととしてメモリー解放が走ると Cell を跨いだ場合、敵が追ってこなくなります。
たとえばダンジョンの入り口で敵と会い、負けそうだから外に逃げたとします。
この時点でメモリー解放が行われると Cell を移動したことで敵の情報は不要と判断され追ってこなくなります。
なので過剰な解放はゲームとしての面白さを壊してしまうので環境と併せて設定しましょうね。

まだあった...
Cell 跨ぐときに解放する系は AutoSave が Cell 跨ぐときに行われる設定だとバッティングして CTD を起こす場合があります。
たぶん、Save している最中に解放が行われて落ちるんだと思いますが...

これを防ぐには AutoSave を Cell が跨ぐタイミングで使用しないか Cell 跨ぐときに解放をしないようにするかしかないんじゃないかな?
ゲーム中のオプションを開くと AutoSave は切れた気がします。
それ以外にも Cell を跨ぐ場合、負荷で落ちる場合もあるので基本は街など入る前に Qsave とかしたほうが無難です、経験上。


では私が使ったことのあるMODの感想とか某所で見たこととか。
なお、本当に偏見が入ってるので注意!

なお、Wiki にも色々と書かれていますので判断材料にどうぞ。
Oblivion Wiki Jp



Streamline
メモリー解放や処理が重いときには設定を下げたり、自動的にsaveをしてくれる総合的なMOD。
ただし、私は好きじゃないΣ( ̄∇ ̄;
なんというか入れてると凄く重かった気が。

>>重いときには設定を下げたり
>>自動的にsave
これらは私にとって余計なおせっかいでした、iniで調整可能なのですが調べる気が起きなかった...
メモリー開放だけ使うのであれば他の処理を完全に切る必要があるので結局使わなくなりました。
ただ、見えないところで死体を転がす機能が付いてるみたいです。(案山子対策)



Timekeeper Advanced22_JP03改変版
これも Streamline と同じように沢山の機能をもった総合MODです。
その中の機能としてメモリー解放も含まれてます。
実は今までこれを使っていたのですが何故か余り安定ということについては実感しなかったです。
Scriptも見てみたのですが...特別なこと何もして無いのですけどなんでだろう...
ただ、このMODは多機能でほかの機能が手放せないのでメモリー解放は無効にして使ってます。
*ちなみにキーに割り当てることも可能なので重いと感じたら、もしくは今なら解放しても問題ないと思ったときにキーを押すようにするならいいかも。



*非常に判りやすい説明だったので某所からそのまま転載させて頂きました。
● 転載此処から
HTFpcb
ゲームを開始するとRing of Purgingが手に入ります。バッファを解放する頻度を設定してください。
Cellバッファを8秒ごとに解放します。パフォーマンスが向上するかも(RAM/VRAMが少ない人)。
つまり、テクスチャが増大するMODを使用している場合、効果を実感できないかもしれません。
OBSE Teamに感謝します。彼らなくしてこのMODは実現しませんでした(注:本MODはOBSE不要)。
おそらくメモリ使用量が増大していくのを目にすることになると思いますが、
増加しつづけるのではなく、ゆっくりと下がるか、ある程度で落ち着くはずです。
一箇所に立ったままでは効果を発揮しません。移動している時に稼動するのです(ゝω・)

HTFpcb Extended
ゲームを開始するとRing of Purgingが手に入ります。バッファを解放する頻度を設定してください。
本MODは、Cellを出る度にCellバッファを解放します。
ゲームが使用するテクスチャメモリの総量を軽減します。
基本的に、数分ごとにpcbを打ち込むのを自動化するMODです。
本MODはOBSE必須です。


Descriptionを訳してみたけど、
結局OBSEを使わずに8秒ごとに解放するか、
OBSEを使ってセルを出るごとに解放するかの違いかな。

●転載此処まで
今現在、私は HTFpcb を使っています。
Script 見る限り Timekeeper Advanced22_JP03改変版 と変わらないと思うのですが、何故か凄く安定してる気が。
本当に単純な機能だけなのでかな。OBSE版はそんなわけで導入してないので不明。
初期値の8秒では過剰に感じたので1分か10分か環境に併せて変更したほうがいい気はします。
Ring of Purgingを使うと設定画面が出ますのでお好みで。



*これも某所から転載
●転載此処から
Purge Cell Buffers
これの特徴はPurge Cell Buffers - Loading版とCell Change版があることで、
Cell Change版はCellを出る度にPurgeする今までのタイプだけど、Loading
版はフィールド上で出るLoading・・・の文字が何回出たときにPurgeするか
設定できる。なのでCellを出ると音が途切れたり、敵が追ってこなくなったり
の不具合が出ないような設定を試してみることができる。

例えばCellを5つ跨いだときにPurgeする設定は、コンソールで
Set PCBCount to 5 と入力する。HTFpcb系より負荷が軽い。

●転載此処まで
Loading版に非常に惹かれたのですが、この「Loading・・・」が気になってScriptを弄ってメッセージを出すようにして確認しました。
そうするとこれをカウントしてるのはフィールドで出る「Loading・・・」では無く、Cellを移動するときに出る「Loading・・・」でした。
つまり、建物に入るときとか、建物から外に出るときに出る奴です。
なお、建物に入ってすぐに出るとメモリーに情報が残ってる場合、「Loading・・・」は出ないのでカウントはされませんでした。

そんなわけでひたすらフィールドを走り回るプレイをするとこのMODでは何時までも解放されないことになります。
適度に建物に入るのであれば問題ないかな。
そんなわけで今は HTFpcb に落ち着いてます。



< 追記 2009/09/03 >
Sizuruさんが自作されたメモリー解放がコメントのところに置かれているのですが、見辛いと思うのでこっちに。
*Nexus で見つけたのでリンクを変更。

LazyPCB v0.1
要OBSE v0017+

●此処かられどめ
適当なタイミングを見計らってセルバッファをパージします。
下記の状況に応じて開放したりしなかったり制御します。
- いくつかのセルを渡り歩くとパージします。
セルの個数は.iniファイルで指定します。
- セル移動の直後にはパージしません。
遅延時間は.iniファイルで指定します。
- 戦闘中はパージしません。
●此処までれどめ

状況に応じて解放タイミングをある程度調整されています。
忙しい戦闘中に解放されるとCTD置きそうな気がするので解放しないのは魅力的だなぁ。



本来の記事は上までなのですがちょっと余談。
前回記事にした、Oblivion Stutter Remover なんですが微妙に挙動がおかしくなるのを確認しました。
某所にはiniで設定しても敵が沈むという報告もあったのですが、少なくとも私のところでは確認できませんでした。

ただ、NPCの行動が停止、もしくは反応が鈍い現象がかなり出ます。
NPC同士の戦いで片方が一方的に殴ってるのにもう片方は武器を構えたりしまったりで反撃をしないなどなど。

なので今はversionを下げて 3β3 を使ってます。
こっちはFPSの上限が無くなりますが、上の現象は無くなりました。

昨日、3α ってのが出てたんですが...なんだろ?
3β5 に不具合があるから差し戻したのかな?

なんだかよく判らないのでとりあえず不具合らしいものが見つかるまでは 3β3 を使っていこうと思います。

まあこんな感じで。

< 追記 2009/08/17 > version 3αについて
フォーラムで公開されていた 3β5 よりも上の Version で、
メモリアロケータの置き換えなどの機能追加がされてるそうです。
この情報は Sizuruさんより頂きました、ありがとうございます。

< 追記 2009/10/17 >
Oblivion Stutter Remover は最新にしても NPC の挙動がおかしく見えるので最終的に私は外しました。

Oblivion Stutter Remover は別途新しい記事を参考にしてください。
Oblivion Stutter Remover

・その他の関連記事
雑記 -其の4-

○ Comment

なるさんこんにちは。
Cellバッファ開放モノはなかなか決定版が見つかりませんね。今のところはPurge Cell Buffers - Loadingを常用しようかどうしようか、といった感じで迷ってます^^;

OSRの3αというのは3β5以降にフォーラムでテスト配布されてたものの最新版(と言っても6月からは変わってない)です。メモリアロケータの置き換えとか色々機能追加されてます。
2009.08.16 12:49 | URL | Sizuru #/.OuxNPQ [edit]
Sizuruさん、こんばんは

Cellバッファ開放モノはなかなか決めにくいですね。
普通にプレイする分には Purge Cell Buffers - Loading も非常に惹かれてはいるのですが、
Cell移動時の CTD 報告もあるので怖いです(・・`)
いあまぁ、落ちるときは何使ってても落ちるんですけど、きっと(笑

でも一番は Timekeeper Advanced で手動解放かもしれません...

OSR3αの情報ありがとうございます。
dll 1つしか入ってなくて、容量は 3β5よりも大きく、6月のスタンプだったので何がなんだか...
って状態でした。

ちょっと差し替えて試して見ます(≧∇≦)ノ
2009.08.17 06:56 | URL | なる #- [edit]
と言ってる間にTESNに3beta6が上がってますね。
今度はドキュメントもちゃんとついてます(゚∀゚)
2009.08.17 19:14 | URL | Sizuru #/.OuxNPQ [edit]
> と言ってる間にTESNに3beta6が上がってますね。
> 今度はドキュメントもちゃんとついてます(゚∀゚)

おー本当ですね
でも Currently, the most stable version is considered to be version 3 beta 5. って書いてありますね(・・`)
いあ、3beta5はNPCの動作が安定してないと思うんだけどなぁ...

f1b88e32e140818bf4b14cd406969c87 *sr_Oblivion_Stutter_Remover.dll ( 3α )
c819d2a0af2961ed4ce65832e4df2980 *sr_Oblivion_Stutter_Remover.dll ( 3beta6 )

ファイルサイズが似てるから同じかと思ったけど別物だった。ちょっと試してみようっと。
情報ありがとうございます。
2009.08.17 21:29 | URL | なる #- [edit]
なるさんこんばんは。
Cellバッファ開放モノですが、結局どれも何かしら不満な所があるということで自作してみました。
よろしければ感想を聞かせてもらえるとありがたいです。m(_ _)m
2009.09.03 00:22 | URL | Sizuru #/.OuxNPQ [edit]
Sizuruさん、こんぱんは

自作されたんですか!?Σ( ̄∇ ̄;
ちょこっとソース覗いてみましたがシンプルですごくいいと思います。

時間で強制的にパージする系はどうしてもタイミング次第でCTD出す傾向がありますし...
あまり時間が無くてなかなか報告できないかもしれませんが導入してみました(*'-')

とりあえずiniはそのままで突貫してきます。
*勿体無いので記事側にリンクとかつけちゃおうと思います。
*問題あればいってください。

2009.09.03 14:35 | URL | なる #- [edit]
記事へのリンクありがとうございます。( ̄▽ ̄)
シンプルにできたのは最近のOBSEの便利機能のおかげですね。
もうちょっと様子を見つつ、そのうちTESNに上げてみようかと思ってます。
2009.09.03 22:27 | URL | Sizuru #/.OuxNPQ [edit]
OBSE v0017の配列は初めてみたかも。

少しだけ試しましたが特にCTDはなかったです。
個人的におもったのが fQuestDelayTime は初期値の5でもいいんじゃないかなぁ程度かな。

1秒でも問題ないはずですし、気にするものでもないと思いますが、
まあ5秒でも変わらないんじゃないかなと思っただけです。
↓の最低2秒も10秒でも変わらなさそうですし。

記事の許可ありがとです(≧∇≦)ノ
2009.09.04 00:17 | URL | なる #- [edit]
ご意見ありがとうございます。(゚∀゚)
動作間隔についてですが、Cellを移動した時にメッセージを表示させるようにしておくと分かるのですが、意外と一つのCellは小さいようなのです。(場所にもよるのかな?)
そのため足の速いキャラだとものの数秒で次のCellに移動してしまい、あまり間隔を空けるといくつCellを移動したかが把握できなくなってしまう…という事情があって1秒にしています。
2009.09.04 00:52 | URL | Sizuru #/.OuxNPQ [edit]
なるほど、たしかにCellって狭いですね...
Cellのカウントだけ別Scriptで...とか思いましたが、
そこまでして得られるものがあるのか非常に疑問...

余計なことですいません(・・`)
2009.09.04 13:49 | URL | なる #- [edit]
Oblivion Stutter Removerがバージョンアップしたようですよ
2010.01.27 19:40 | URL | #- [edit]
情報ありがとうございます
ちょうど感想を書こうとしてたところでした(笑
2010.01.27 19:42 | URL | なる #- [edit]

○ Post comment


  • 管理者にだけ表示を許可する

○ Trackback

trackbackURL:http://narulivion.blog46.fc2.com/tb.php/109-b6a9458e
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。