「詳細設定」の編集履歴(バックアップ)一覧はこちら
詳細設定 - (2009/01/17 (土) 22:52:21) の最新版との変更点
追加された行は緑色になります。
削除された行は赤色になります。
※[[プレイ方法]]に書かれなかった、PCSX2本体の詳細設定を書いています。
プラグインの詳細設定は[[プラグイン設定]]で書く予定です。
※初心者の方はまず[[プレイ準備]]、[[プレイ方法]]で環境を構築してください。
*用語集
&font(blue){EE (Emotion Engine):}PS2のメインプロセッサ。パソコンで言う所のCPU。内部にFPU、VU0、VU1の計3個の演算ユニットを持つ。
&font(blue){IOP (I/O Processor):}周辺機器とのやりとりを司るサブプロセッサ。PS1のCPUと同じ。
&font(blue){GS (Graphics Synthesizer):}グラフィックプロセッサ。ビデオカードに相当するが、頂点処理機能はEmition Engine側に置き、プログラマブルにしている。
&font(blue){SPU2 (Sound Processing Unit 2):}サウンドプロセッサ
&font(blue){FPU (Floating Point number processing Unit):}EEに搭載されている浮動小数点演算ユニット。
&font(blue){VU (Vector Unit):}EEに2系統搭載されているベクトル演算ユニット。主に3次元描画の座標変換などの頂点処理を担当し、DirectX8/9世代のビデオカードにおけるVertex Shaderに相当する。
*Game Specific Fixes
#ref(http://www29.atwiki.jp/emups2/pub/play/3-1.png)
[設定->Gamefixes]
ある特定のゲームでの動作の不具合を解消するチェックボックスです。該当するゲーム以外では基本的に使用してはいけません。
***PCSX2 Gamefixes
&font(blue){FPU Clamp Hack:}鉄拳5とローグギャラクシーにおける不具合を解消します。
&font(blue){VU Clip Hack:}God of Warにおける不具合を解消します。Rockstarのゲームは動かなくなります。
&font(blue){VU Branch Hack:}マグナカルタにおける不具合を解消します。クラッシュバンディクーが動かなくなります。
*PCSX2 Speed Hacks
#image(http://www29.atwiki.jp/emups2/pub/play/3-2.png,width=300,height=209,http://www29.atwiki.jp/emups2/pub/play/3-2.png)
[設定->Speed Hacks]
***Overflow and Underflow
&font(blue){Disable VU Over flow Checks:}VUの演算結果のオーバーフローの確認を行わないようにします。高速になりますが、結果がオーバーフローした(無限大やNaNになった)ときに最大値に値を丸める処理を省くため、エミュレーションの精度が下がります。グレーチェックの状態では、演算の入力値に関してもオーバーフローチェックを行うため、低速になりますが精度は上がります。
&font(blue){Disable FPU Over flow Checks:}FPUの演算結果のオーバーフローの確認を行わないようにします。詳細は上と同じです。
これら2つのspeedhacksは、[[将来のバージョン>http://code.google.com/p/pcsx2-playground/source/detail?r=472]]でAdvanced Optionsに移動します。
&font(blue){Disable Underflow Checks:}VUの演算結果のアンダーフローの確認を行わないようにします。
このspeedhackは、[[将来のバージョン>http://code.google.com/p/pcsx2-playground/source/detail?r=472]]で常時オンになります。
***Flag Setting
&font(blue){Disable Extra VU Flags:}あまり使われない一部のVUのフラグ(演算器や演算結果の状態を表すレジスタ)を無視するようにします。
&font(blue){Disable Extra FPU Flags:}あまり使われない一部のFPUのフラグを無視するようにします。
これら2つのspeedhacksは特に副作用がないと判断されたらしく、[[将来のバージョン>http://code.google.com/p/pcsx2-playground/source/detail?r=439]]では常時オンになります。
***Sync Hacks
これらのhackはEEやIOPにおける同期処理の頻度を下げる事によって、速度を稼ぎます。フレームレート向上の効果が出易い反面、不具合が出るゲームも多く、同期のタイミングに敏感なゲームでは、フレームレートが上がっても動作がぎこちなくなる、処理落ちが発生する、固まる等の不具合が発生する可能性があります。
&font(blue){EE Sync Hack (x2):}EEで同期を行う頻度を1/2に下げます。
&font(blue){IOP Sync Hack (x2):}IOPで同期を行う頻度を1/2に下げます。
&font(blue){EE/IOP Sync Hack (x3):}EE/IOPそれぞれで同期を行う頻度を1/3に下げます。
***Miscellaneous
&font(blue){Escape Hack:}プレイ中にescキーを押すとPCSX2が終了するようになります。動作速度には影響しません。
*Advanced Options
#ref(http://www29.atwiki.jp/emups2/pub/play/3-3.png)
[設定->Advanced]
***EE Recs Options
EEのFPUのリコンパイラの設定です。EEの浮動小数点演算命令をSSEの浮動小数点演算命令に変換するのがリコンパイラですが、命令が一対一対応しているわけではないので、完全に動作を一致させるのは困難です。そのため、細かい挙動を制御するためのオプションがここに用意されています。
&font(blue){Roundmode:}浮動小数点演算の丸めモードを指定します。
基本的にはデフォルトのままで良いですが、一部のゲームでは変更すると動作が改善する事があります。例えばペルソナ3でChop/Zeroにすると速度が改善する、ペルソナ4でChop/Zeroにすることでクラッシュが減る、等があります。
-Nearest: 最も近い正規化数に丸めます。いわゆる2進数の0捨1入。
-Negative: 切り捨てにより丸めを行います。
-Positive: 切り上げにより丸めを行います。
-Chop/Zero: 正数の時は切り捨て、負数の時は切り上げにより丸めを行います。
&font(blue){Flush to Zero:}浮動小数点演算の結果がアンダーフローにより非正規化数(絶対値が非常に小さい数)になった場合、0として扱うオプションです。演算精度は下がりますが、高速になります。
&font(blue){Denormals are Zero:}浮動小数点演算の入力における非正規化数を0として扱うオプションです。非正規化数の浮動小数点演算はソフトウェアで行われるため、非常に低速です。そのため、0扱いすることにより非正規化数の演算そのものが発生しないようににする事ができます。当然、演算精度は下がります。
***VU Recs Options
VUのリコンパイラの設定です。EE Recs Optionsと同じオプションが並んでいますが、デフォルトの設定は異なります。こちらの設定は主にグラフィックに影響を及ぼします。オプションの意味はEE Recs Optionsと同じです。
&font(blue){VUのFlush to ZeroとDenormals are Zeroについて}
VUは主に3Dグラフィック用の頂点処理を行うユニットで、ここで処理された情報がGSに送られ、ディスプレイにゲーム画面として描画されます。
オンにする事でVUの演算が簡略化され、描画が高速になります。どの程度速くなるかは、そのゲームがどれだけ非正規化数(Denormal)を発生させる処理を行っているか、またCPUがIntel製かAMD製かにもより異なりますが、多くのゲームで体感出来る程のFPS上昇があるようです。公式版でこれらの設定を変更するにはソースコードを弄る必要がありますが、Playground版では変更用のインターフェイスが用意されています。デフォルトの設定は公式版と同じですが、速度向上のために任意でFtZとDaZを有効にできるようになっています。
当然ながら、FtZとDaZを有効にすると、本来されるべきであるはずの計算を省略してしまうため、厳密なアンダーフローのチェックや非正規化数の演算を必要とする一部のゲームでは画面表示がおかしくなったり、クラッシュを引き起こす場合もあります。
&font(red){訂正&追加大歓迎です。}
&font(red){&bold(){※このページは2011年5月14日時点の最新版[PCSX2 0.9.8(r4600)]を元に説明します。}}
#region
#contents
#endregion
↑をクリックするとこのページの一覧が開きます。
※[[プレイ方法]]に書かれなかった、PCSX2本体の詳細設定を書いています。
プラグインの詳細設定は[[プラグイン設定]]で設定してください。
*用語集
&font(blue){EE (Emotion Engine):}PS2のメインプロセッサ。パソコンで言う所のCPU。内部にFPU、VU0、VU1の計3個の演算ユニットを持つ。
&font(blue){IOP (I/O Processor):}周辺機器とのやりとりを司るサブプロセッサ。PS1のCPUと同じ。
&font(blue){GS (Graphics Synthesizer):}グラフィックプロセッサ。ビデオカードに相当するが、頂点処理機能はEmition Engine側に置き、プログラマブルにしている。
&font(blue){SPU2 (Sound Processing Unit 2):}サウンドプロセッサ
&font(blue){FPU (Floating Point number processing Unit):}EEに搭載されている浮動小数点演算ユニット。
&font(blue){VU (Vector Unit):}EEに2系統搭載されているベクトル演算ユニット。主に3次元描画の座標変換などの頂点処理を担当し、DirectX8/9世代のビデオカードにおけるVertex Shaderに相当する。
*EE/IOP
#image(http://www29.atwiki.jp/emups2/pub/0.9.8/7.jpg,width=500,height=450,http://www29.atwiki.jp/emups2/pub/0.9.8/7.jpg)
&font(blue){EmotionEngine:}
&font(blue){IOP:}
***EE/FPU Advanced Recompiler Options
EEのFPUのリコンパイラの設定です。EEの浮動小数点演算命令を、x86系CPUにおけるSSEの浮動小数点演算命令に変換するのがリコンパイラですが、これら命令セット同士が一対一で等しく対応しているわけではないので、完全に演算結果を一致させるのは困難です。そのため、演算を細かく制御するためのオプションがここに用意されています。基本的には、演算の精度を上げてPS2実機に近づけば重くなり、逆に演算の精度を下げれば誤差は大きくなりますが軽くなります(例外もあります)。
&font(blue){Round Mode:}浮動小数点演算の丸めモードを指定します。
基本的にはデフォルト (Chop/Zero) のままで良いです。変更すると不具合が出る事があります。
-Nearest:最も近い正規化数に丸めます。いわゆる2進数の0捨1入。
-Negative:切り捨てにより丸めを行います。
-Positive:切り上げにより丸めを行います。
-Chop/Zero:正数の時は切り捨て、負数の時は切り上げにより丸めを行います。
&font(blue){Clamping Mode:}オーバーフロー (無限大/NaN) のチェックと丸めの有無を指定します。
-None:オーバーフローのチェックを行いません。速度は上がりますが互換性は低下します。
-Normal:演算結果に対してオーバーフローのチェックを行います (デフォルト) 。
-Extra+Preserve Sign:Normalに加え、演算前や、積和演算の中間結果に対してもオーバーフローのチェックを行います。また、NaNの符号を保存します。一部のゲームの不具合が解消される事があります。
-Full:
&font(blue){Flush to Zero:}%%浮動小数点演算の結果がアンダーフローにより非正規化数(絶対値が非常に小さい数)になった場合、0として扱うオプションです。演算精度は下がりますが、高速になります。%%
&font(blue){Denormals are Zero:}%%浮動小数点演算の入力における非正規化数を0として扱うオプションです。非正規化数の浮動小数点演算はソフトウェアで行われるため、非常に低速です。そのため、0扱いすることにより非正規化数の演算そのものが発生しないようににする事ができます。%%
*VUs
#image(http://www29.atwiki.jp/emups2/pub/0.9.8/8.jpg,width=500,height=450,http://www29.atwiki.jp/emups2/pub/0.9.8/8.jpg)
VUのリコンパイラの設定です。EE/IOPと同じオプションが並んでいますが、デフォルトの設定は異なります。こちらの設定は主にグラフィックに影響を及ぼします。オプションの意味はEE Recs Optionsと同じです。
&font(blue){VUのDenormals are Zeroについて}
Denormals are Zero (DaZ) は現在のPCSX2ではデフォルトでオンになっています。DaZはあくまで速度向上のためのhackで、演算の精度を下げるから良くないと考える人も多いようですが、PS2のエミュレーションに限って言えばそれは誤りです。
何故かと言うと、DaZはIEEE754的に見ると確かに演算精度を下げるオプションですが、EEではそもそも非正規化数は0として扱うのが正しいので、DaZをオンにするのがエミュレーションとしては正確だからです。では、何故DaZがオプション扱いされてきたのでしょうか。それは、一部のゲームが浮動小数点の最大/最小命令を (おそらくFTOI系の命令と組み合わせて) 整数に対して使っているからです。浮動小数点の最大/最小命令は、符号が分かっていれば整数に対しても利用できます。VUの最大/最小命令は内部で純粋な論理比較を行っているらしく (Max(a, b) = Sign(a) > Sign(b) ? b : Sign(b) > Sign(a) ? a : Exponent_Mantissa(a) > Exponent_Mantissa(b) ? (Sign(a) ? b : a) : (Sign(a) ? a : b);)、浮動小数点数としては非正規化数である可能性がある整数を入力しても特に何も起こりません。一方でx86の浮動小数点最大/最小命令では、DaZがオンになっていると、問答無用で非正規化数を0にしてしまうため、整数には使えません。そこで、PCSX2での最大/最小命令のエミュレーションでは、単精度の浮動小数点数の指数部をバイアスして倍精度として扱い、単精度における非正規化数を倍精度で正規化数に見せることでこれを回避しています。
*GS
#image(http://www29.atwiki.jp/emups2/pub/0.9.8/9.PNG,width=500,height=450,http://www29.atwiki.jp/emups2/pub/0.9.8/9.PNG)
主にフレームリミットの設定ができます。
****Framelimiter
&font(blue){Disable FrameLimiting:}チェックすると、フレームリミットを無効にできます。ゲーム画面でF4キーを押すとこれと同じことができます。
&font(blue){Base Framerate Adjust:}通常のフレームレート
&font(blue){Slow Motion Adjust:}スローモーションのフレームレート
&font(blue){Turbo Adjust:}ターボモードのフレームレート
&font(blue){NTSC Framerate:}NTSCのゲーム(日本のゲームはこれ)でのFPSを指定できます。通常は59.94FPSのままで問題ありません。
&font(blue){PAL Framerate:}PALのゲームでのFPSを指定できます。通常は50.0FPSのままで問題ありません。
****Frame Skipping
&font(blue){Disabled:}フレームスキップを無効にします。
&font(blue){Skip when on Turbo only:}ターボモードのみにフレームスキップが有効になります。
&font(blue){Constant skipping:}常にフレームスキップを行います。
&font(blue){○ Frames to Draw:}フレーム描写
&font(blue){○ Frames to Skip:}フレームスキップ
&font(blue){Use Synchronized MTGS:}チェックすると、マルチスレッドGS利用時に(タイミングの問題で)稀に起きる問題を解決します。
しかし結果として、速度がとても遅くなってしまう可能性があります。
&font(blue){Disable all GS output:}
*GS Window
#image(http://www29.atwiki.jp/emups2/pub/0.9.8/10.jpg,width=500,height=450,http://www29.atwiki.jp/emups2/pub/0.9.8/10.jpg)
プラグイン側で設定していた項目の一部がこちらへ移動となったようです。
&font(blue){Aspect Ratio:}画面のアスペクト比を設定します。4:3か16:9、Fit to Window/Screen(アスペクト固定なし)が選べます。&br()なお、ここで16:9を指定してもワイドスクリーン非対応のゲームで描写範囲が広がるわけではありません。4:3画面が16:9に引き伸ばされるだけです。一部のゲームはワイドスクリーンパッチでワイドスクリーンに対応させられます。くわしくは、[[こちら>パッチ#id_31f08a10]]。
&font(blue){Custom Window Size:}ウインドウモードを指定する場合、こちらでウインドウ画面のサイズを変更することができます。
&font(blue){Zoom:}ゲーム画面を拡大・縮小することができます。
&font(blue){Disable windows resize border:}
&font(blue){Always hide mouse cursour:}チェックを入れると、ゲームプレイ中にマウスカーソルが隠れます。
&font(blue){Hide windows when paused:}チェックを入れると、ゲーム中にブラウザなど他のアプリケーションを操作すると自動的にゲームがポーズ状態になります。
&font(blue){Default to fullscreen mode on open:}チェックを入れると、最初からフルスクリーンモードでプレイすることが出来ます。
&font(blue){Double-click toggles fullscreen mode:}チェックを入れると、ゲーム画面をダブルクリックするとフルスクリーンモードへ移行します。
&font(blue){Wait for Vsync on refresh:}垂直同期信号に同期して描画するかを設定します。スクロール時のちらつき等が解消されますが、描画は重くなります。
&font(blue){Dynamically toggle Vsync depending on frame rate:}
*Speedhacks
#image(http://www29.atwiki.jp/emups2/pub/0.9.8/11.jpg,width=500,height=450,http://www29.atwiki.jp/emups2/pub/0.9.8/11.jpg)
&font(blue){Enable speedhacks:}チェックすると以下の設定ができるようになります。
&font(blue){EE Cyclerate:}EEにおける同期処理の頻度を下げる事によって、速度を稼ぎます。1が通常の同期を行い、2が同期の頻度を1/2に下げ、3が同期の頻度を1/3に下げることができます。
フレームレート向上の効果が出易い反面、不具合が出るゲームも多く、同期のタイミングに敏感なゲームでは、フレームレートが上がっても動作がぎこちなくなる、処理落ちが発生する、固まる等の不具合が発生する可能性があります。
&font(blue){Enable INTC Spin Detection:}割り込みコントローラでの不要な同期処理を省く事で、高速化を行います。一部のゲームで大きな効果があります。
&font(blue){Enable Wait Loop Detection:}
&font(blue){Enable fast CDVD:}
&font(blue){Enable BIFC0 Spin Detection:}%%一部のゲームである程度の効果があります。%%
&font(blue){IOP x2 cycle rate hack:}%%IOPで同期を行う頻度を1/2に下げます。%%
&font(blue){mVU Flag Hack:}
&font(blue){mVU Block Hack:}
*Game Fixes
#image(http://www29.atwiki.jp/emups2/pub/0.9.8/12.jpg,width=500,height=450,http://www29.atwiki.jp/emups2/pub/0.9.8/12.jpg)
&font(blue){Enable manual game fixes:}チェックを入れると、下のチェックボックスにチェックを入れることが出来ます。
ある特定のゲームでの動作の不具合を解消するチェックボックスです。該当するゲーム以外では基本的に使用してはいけません。
&font(blue){VU Add Hack:}トライエース作品のゲームにおける不具合を解消します。
&font(blue){VU Clip Flag Hack:}「ペルソナ」の不具合を解消します。
&font(blue){FPU Compare Hack:}「Digimon Rumble Arena 2」の不具合を解消します。
&font(blue){FPU Multiply Hack:}「テイルズ オブ デスティニー」の不具合を解消します。
&font(blue){FPU Negative Div Hack:}ガンダム作品の不具合を解消します。(ガンダム無双2のムービー再生)
&font(blue){VU XGkick Hack:}「Erementar Geard」の不具合を解消します。
&font(blue){FFX videos fix:}「ファイナルファンタジーX」の不具合(ムービー再生)を解消します。
&font(blue){EE timing hack:}
&font(blue){Skip MPEG hack:}
&font(blue){OPH Flag hack:}
&font(blue){Ignore DMAC writes when it is busy.:}
&font(blue){Switch to GSdx software rendering when an FMV plays:}サルゲッチュ2、零、三国無双4、FF10-2などムービーの不具合を解消します。