SAND STORM

朝ぼらけ

2009年10月19日

OFP/ARMA:CWA – Setting

Filed under: 未分類 — Tags: , , — sajin @ 02:28

BISの公式mapはPCの性能が低い時代に作られたものでどれも軽いが、後からuserの作ったmapやaddonはtextureがdata量の多い綺麗なものに置き換えられ、さらに多数の兵士・兵器が登場してその発砲などによってeffect処理が多発する為、重くなることが多い。それにECPなどのeffectを強化するmodを入れると負荷が何倍にもなりカクつく原因になる。


◇基本的な対策

  • 一度FlashpointPreferences.exe or ColdWarAssaultPreferences.exe > Advanceで設定しておく。このprogramで設定できる上限は低いので直接flashpoint.cfgを開いての調整必須。
  • Flashpoint.cfg/ColdWarAssault.cfgを開いてHeapを自分のmemoryに、texture・Max Objectを自分のGPUに合わせて設定
  • Visibilityを下げる。visibilityはそのままそれが取り扱うobjectの数に繋がる。OFPでは個々のunitが視野範囲のobjectと絡んだ索敵処理を行っているため、そのままCPU負荷に直結する。例えば、視点をobjectを絡まない地面に向けるとfpsが上がるのに、建物や木々などが並ぶ水平に向けると急に落ちるのはこのobjectと絡んだ索敵処理が為されるため。
  • Video menu>Shadowをdisable
  • Terrainの質を下げる
  • 解像度を下げる
  • mod(ECP)などを導入している場合、optionからeffectをdisableしていく。

多数の兵士・兵器は登場するmapはいくらgraphic設定を落としてもfpsを確保するのは難しい。解像度を640×480とかにしてもカクつくようならCPUに限界以上の負荷がかかっている。これはprogram側が最適化されておらず、dataや処理の量的追加がそのまま速度に跳ね返ってくることが原因。

またmulticoreのCPUであっても単体のcore性能が低ければ意味がない。発売十年経つのに、まだ遅いのは、CPUのcore性能自体はそこまで上がっていない為だ。

Operation Flashpoint tweak guide @ TweakSpot – FlashpointPreferences.exe/ColdWarAssaultPreferences.exeでの設定を画像付きで解説してある。


◇OPTION -> VIDEOでの注意

configで規定以上に数値を増やした後TerrainのVery Highを選択すると即終了する。これはdefaultのtextureでは回避できない。

WGLのtextureならmemoryが多ければVery High可能。

・optionから変更できる視認可能距離は=敵の視認距離でもある為、大きくし過ぎると問題が発生する。BISの想定は900mで、それを越えると見えない距離から砲撃されて殺されるといった事態が起きる。最大でも2000m程度にしておくべき。
・Video optionのVisual Qualityは下げると見た目が落ちる割に負荷は下がらない


細かな設定

◇Flashpoint.cfg/ColdWarAssault.cfg

installしたfolderにあるFlashpoint.cfg/ColdWarAssault.cfgを開いて行うことのできる設定

Resolution_W : 解像度の横size
Resolution_H : 解像度の縦size
Resolution_Bpp : [16/32] 色数
refresh : refresh rate
Total_memory : OFPで使うmemory総量だと思われるが0にしても変わりない。起動したままWindows Task Managerで見ても450MBしか使っていないのでそれ以上無駄か?
texture_Heap : texture処理割り当て記憶領域。初期設定値の16よりかなり大きく設定しておかないと高質なtextureを多用するmapでカクつく
file_Heap file処理割り当て記憶領域。大きくしておかないとmemory不足errorで起動しないことあり。それでも出る場合は読み込むpboが多過ぎる。分割すべし。
LOD(level of Detail)関連は低い方が精細=高負荷
MaxLights 数値が高いほど同時に表示される光源が増える
MaxObjects 数値が高いほど一度に扱うObjectの量が増える。負荷に直結。
~_textures texture関連は数値が高いほど精細。特にtextureを差し替えたuser mapで大きくすると負荷が大きくなるので1024or2048程度に止めておくのが無難
textures_drop_Down=8 数値が高いほど綺麗
frame_rate_Pref=
Quality_Pref=
Prefetch(先読み)もしくはpreferenceだろうか?OFPは新しく出た場所で四方を眺めると極端にframe rateが下がるが、これは一旦cacheされるので再びぐるっと見回すと今度は下がらない。おそらくそのcacheのsizeを決めているのではないかという気がするがdefaultの500を0にしても50000にしてもあまり変わりがない。

◇userInfo.cfg

users\自分のprofile\userInfo.cfgを開くとmenuで設定したのをさらに細かく設定できる。

framerate=120; (flashpoint.cfgの方が優先される)
visualQuality=0.005000; (LOD同様)
objectShadows=1; 建物などの影描画 [0:描画しない 1:描画する]
vehicleShadows=1; 乗り物の影描画 [0:描画しない 1:描画する]
cloudlets=1; 雲  [0:描画しない 1:描画する]
viewDistance 最長描画距離
terrainGrid (Terrain texture=地面描画の細かさ 6.25=High 12.5=Normal)
volumeCD : music音量
volumeFX : 効果音量
volumeSpeech : 喋り音量
singleVoice=0;
enableEAX EAXのon/off [0:使用しない/1:使用する]
enableHW Hardware T&Lのon/off [0:使用しない/1:使用する]
gamma 明るさ
brightness 白み
multitexturing=1;
useWBuffer=0; (nVidiaの古い世代のcardなど、大昔のGPU用特殊設定。ほぼ関係ない)
fovTop=0.750000; (上下の表示範囲)
fovLeft=1; (左右の表示範囲。4:3尺のmonitorを3つ使う時は3)
※fovTop0.75とfovLeft1.0だとAspect比4:3でdefaulではそう設定してある。解像度に合わせてAspect比16:10ならfovLeftを0.75×16/10=1.2、Top=0.675/Left=1.2などと適切に設定しないと横伸び描画になってしまう。また複数monitorによる広域解像度にしたならその数分掛けた設定にする。Operation Flashpoint: Cold War Crisis/ARMA: Cold War Assault – 画面解像度と描写範囲
uiTopLeftX=0.000000; user Interface表示の開始地点、上のfovと連動。
uiTopLeftY=0.000000;
uiBottomRightX=1.000000; user Interface表示の終端、上のfovと連動。
uiBottomRightY=1.000000;
revmouse mouse上下の反転
joystickEnabled Joystickの使用/不使用
mousebuttonsReversed mouseの左右buttonの入れ替え
mouseSensitivityX 横のmouse感度。game内のmenuから1以下は設定できないがこちらなら可能。
mouseSensitivityY 縦のmouse感度


消してもよいfile

is3Dfx.dll – 3Dfx社のGlide用描画dll。VooDoo以外では無意味。

は消しても問題ない。

d3d8.dll – Kegety’s DXDLL。無いと機能しない。
ifc22.dll – iFeel TouchSence Logitech mouse。これも無いと起動しない。


起動高速化

※ArmA: CWAでは必要ない

FLASHPOINTRESISTANCE.EXEでは
rootのadd-on・Bin・Dta→Res\add-on・Bin・Dta
とRes folderのdataがrootのOperationFlashpointf olderのそれに上書きされる形で読み込まれる。

ResのそれとOperation Flashpointf olderの内容はほとんど同じで先にrootのfolder群を読みに行くだけ無駄であり、HDDに負荷をかける上起動に無駄な時間がかかっている。

そこでrootのadd-on・Bin・Dtaはbackup folderに移動してしまえばその無駄が省かれ起動が高速化する。ただしeden.pbo/abel.pbo/cain.pboの3MAP DATAはRes\Dtaにないので残しておく。このままだとmap読み込み時に画像がbugるので、ResのDta・Binをrootに出す。

更にHardwareT&Lしか使わない場合(OnBoradでも無い限り最近のGPUはすべて対応)、Dta\内のdata3d.pbo・data.pboは全く使われないのでこれも無駄。backup folderに移動してしまう。

1.下の3つのfolderをbackup folderに移す
OperationFlashpoint\add-ons
OperationFlashpoint\Bin
OperationFlashpoint\Dta

2.Res folderの\Bin・\DtaをOperationFlashpointに出す

3.backup\Dta folderの
eden.pbo・abel.pbo・cain.pboをOperationFlashpoint\Dtaに戻す

4.Res\Dtaのdata3d.pbo・data.pboをbackup\Res\Dtaに移動

これで動作が安定しているようなら使わなくなったdataは消してしまうのもいいだろう。都合500BMは浮く。ただしその後不安定になった場合当然再installが必要になる。現在これで全MODをまわしているが特段問題はないようだ。

※上記を実行した場合、各MOD内のdata.pboを置き換えるinstall.batを実行する前に編集で

If not exist ..\res\dta\data.pbo echo ERROR data.pbo not found
If not exist ..\res\dta\data.pbo goto end

If not exist ..\res\dta\data3d.pbo echo ERROR data3d.pbo not found
If not exist ..\res\dta\data3d.pbo goto end

まず↑を探して消去した後、さらに”\res”を検索で一括削除。しかる後実行しないと適用されず即終了(goto end)する。


関連記事

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment


sand-storm.net