PC版遅延対策


 本項は以下の情報を元に翻訳、及び再構成したものです。より詳しい情報はそちらを御覧ください。
 http://forums.ubi.com/showthread.php/719817
 http://forums.ubi.com/showthread.php/716851

+ 目次

ハードウェアの選択

 無印版では高機能なサウンドカードは殆どの場合、遅延の原因になります。オンボードの10~20倍といったところでしょう。ですから出来るだけオンボードのサウンドデバイスを使用しましょう。2014版では改善されたという報告があります。
 またUSBによる音声出力を使用すると、アナログ出力の場合より多くの待ち時間が必要になることがあります。USBによる音声出力で問題がある場合は、後述の LatencyBuffer と MaxOutputBufferSize の値を大きくしてみてください。これもまた、2014版では改善されたという報告があります。


音声デバイスの設定

 音声遅延を抑える為には、音声出力デバイス(スピーカー)とリアルトーンケーブル(マイク)の両方を設定する必要があります。両デバイス共に「16ビット、48000Hz(DVDの音質)」で動作するようにしなければなりません。またオーディオデバイスは(5.1chなどではなく)ステレオで出力するように設定します。最後に両デバイス共に排他モードでの動作を許可するように設定します。

 ここからは上記の設定方法を詳細に解説します。上記の説明で設定できたのであれば、読む必要はありません。
 まずタスクバー右下、通知領域にあるスピーカーのアイコンを右クリックし、「再生デバイス」をクリックします。開かれる「サウンド」ウィンドウの「再生」タブ内に幾つかデバイスが表示されていると思いますが、その中から「既定のデバイス」と書かれているもの(緑のチェックマークが付いているもの)を選び、左下にある「構成」をクリックします。出てきたウィンドウ内の「オーディオ チャネル」で「ステレオ」を選択して、右下の「次へ」をクリック、次の画面でも「次へ」、そして次の画面で「完了」を選びます。
 「サウンド」ウィンドウに戻ります。「再生」タブで既定のデバイスが選ばれているのを確認し、右下のプロパティをクリックします。開かれる「スピーカーのプロパティ」ウィンドウで、「詳細」タブに移動します。ここで「既定の形式」を「16ビット、48000Hz(DVDの音質)」にします。またその下に「排他モード」の設定がある場合は、その中の全てのチェックボックスにチェックを付けて有効にします。
 「サウンド」ウィンドウに戻ります。「再生」タブの隣にある、「録音」タブへ移動します。マイクデバイスの中から「Rocksmith USB Guitar Adapter」を選択します。その状態で右下のプロパティをクリックします。開かれる「マイクのプロパティ」ウィンドウで、「詳細」タブに移動します。ここで「既定の形式」を「16ビット、48000Hz(DVDの音質)」にします。またその下に「排他モード」の設定がある場合は、その中の全てのチェックボックスにチェックを付けて有効にします。


設定ファイルについて

 Steamのインストールフォルダ\steamapps\common\Rocksmithの中(またはsteamapps\common\Rocksmith Demo)にある"Rocksmith.ini"をテキストエディター(メモ帳)で編集することで、より高度な設定が可能です。
 設定ファイルを詰めて遅延を減らす前に、その内容にさっと目を通しておいて下さい。

サウンド

EnableMicrophone [デフォルト: 0]
1に設定するとマイクが使用可能になります。Rocksmithのメニューでも設定できます。

LatencyBuffer [デフォルト: 4]
Rocksmithでのオーディオバッファの量を調整できます。値が少ないほど小さなバッファで動作し、遅延が少なくなります。ですが小さすぎるとノイズが乗ってしまうので、その場合は大きくする必要があります。最近の高性能なPCであれば2、最速のPCであれば1でも動作するかもしれません。Rocksmithのメニューでも設定できます。

ExclusiveMode [デフォルト: 1]
Rocksmithと同時に、他のオーディオを使うアプリケーションを動作させたい場合は0に設定します。その場合、オーディオの問題を回避するためにLatencyBufferを大きくする必要があります。Rocksmithのメニューでも設定できます。

ForceWDM [デフォルト: 0]
詳細なオプション設定を行なっても音声遅延が無くならない場合や、その他の音声に関わる問題が解決しない場合は、この値を1に設定します。これによりゲームがオーディオデバイスを制御する為に、以前のWindowsの方式を使うように強制します。これはデフォルトの方式よりも遅延を多くしますが、良い代替システムです。

ForceDirectXSink [デフォルト: 0]
他の全ての構成オプションを試しても良好な音声を得られない場合は、この値を1にします。これによりゲームがオーディオデバイスを制御する為に、以前のWindowsの方式を使うように強制します。これは殆どの場合遅延を多くしますが、ゲームが実行できるようになるでしょう。最終手段としてこれを使って下さい。

DumpAudioLog [デフォルト: 0]
ユービーアイソフトにデバッグ情報を送信する必要がある場合、この値を1に設定します。Rocksmith.exeのあるディレクトリにaudiodump.txtというテキストファイルを作成します。一度この設定をオンにした状態でゲームを実行し、値を0に戻してください。オーディオログを有効のままにしておくとパフォーマンスが低下する可能性があるので、通常のゲームプレイの為、0に設定しておきましょう。

MaxOutputBufferSize [デフォルト: 0]
ごく一部のオーディオデバイスでは、非常に大きな出力バッファを持つことが発見されています。この場合ゲームは、信頼性の高いオーディオバッファサイズを自動的に選択します。ですがこの変数を設定することで、音声の問題を解決するのに役立つかもしれません。デフォルトの0では、Rocksmithにこの値の設定を任せることになります。殆どのサウンドボードは1024のバッファサイズを設定してしまっています。速いPCであれば通常、512でこれを実行できます。ExclusiveModeを無効にしているなら、それによってここには高い値を設定する必要があります。MaxOutputBufferSizeに設定する値の選択方法によって問題が起きることはありませんが、8か32の倍数で調整する方が良いでしょう。

ディスプレイ

ScreenWidth [デフォルト: 1280]
画面の水平解像度をピクセルで記入します。Rocksmithのメニューでも設定できます。

ScreenHeight [デフォルト: 720]
画面の垂直解像度をピクセルで記入します。Rocksmithのメニューでも設定できます。

MinScreenWidth [デフォルト: 640]
現在使用されていません。

MinScreenHeight [デフォルト: 480]
現在使用されていません。

Fullscreen [デフォルト: 1]
0にするとウィンドウモードで動作します。1にするとフルスクリーンです。Rocksmithのメニューでも設定できます。

VisualQuality [デフォルト: 4]
映像品質の設定をこの値で変更します。 Rocksmithのメニューでも設定できます。値の持つ意味は次の通りです。
 ・2 – 低品質
 ・4 – 中品質
 ・8 – 高品質


設定ファイルを詰める

排他モード

 ExclusiveMode (排他モード)はデフォルトの1、有効にしておきましょう。これを0にするとLatencyBufferなどを余り詰められなくなります。ただし排他モードはロックスミス以外の全ての音声、及び録音をシャットアウトしてしまいます。新着メールが来ても音では分かりません。プレイ動画は撮影できても録音ができません。それでもこれを有効にすることの恩恵は、無視できないほどです。

遅延と設定の概要

 遅延時間に関わる設定は基本的に LatencyBuffer と MaxOutputBufferSize です。この2つの値から、大まかな遅延時間を求めることができます。
 まず2つの値を掛けたものを、合計バッファサイズとします。これを16で割った値が遅延時間(単位ms)です。
 デフォルトでは多くの場合、次のようになるでしょう。
LatencyBuffer 4 × MaxOutputBufferSize 1024 = 4096
4096 ÷ 16 = 256ms
 256msというと、BPM120の曲の8分音符に相当します。こんなんでプレイできるかっちゅー話です。
 ということで早速、設定を詰めて行きましょう。

始めに LatencyBuffer

 上記の式でピンと来る方もおられるでしょうが、この場合は LatencyBuffer から詰める方が良さそうです。
 まず LatencyBuffer を 1 にしてみましょう。その状態でロックスミスを起動し、音声にノイズが乗るかどうかを確かめてください。問題がなければ次のステップへどうぞ。
 ノイズが乗ってしまったり、そもそも起動しない場合は、今度は 2 を設定してみます。それでも駄目なら 3 を、やはり駄目なら 4 に戻し、次のステップへ進みます。

次に MaxOutputBufferSize

 MaxOutputBufferSize はデフォルトだと 0 が設定されています。これはこの値の設定をロックスミスに任せるという意味であり、多くの場合 1024 が設定されます。
 ではデフォルトが 1024 だったと仮定して、設定を詰めていきます。
 まず 1024 の半分である 512 をセットし、ロックスミスを起動させます。ノイズが乗らなければ、更に半分、256 を設定してみましょう。逆に駄目であれば、512 に 256 を足した、768 で試します。
 このように前回変動させた値の半分の値を足したり引いたりすることで、最適な値を探します。念のため、以下に例を挙げておきます。
512でOK → 更に半分の256でOK → また半分の128でNG →
128の半分の64を足して192でOK → 64の半分の32を引いて160でOK →
32の半分の16を引いて144……というように振れ幅を少なくしながら最適な値を探します


USBの給電量

 リアルトーンケーブルを接続するポートによって問題が起きる場合があります。リアルトーンケーブルは100mAを必要とするので、USBハブ等に接続すると電力不足に陥る可能性があります。各USBポートの電力情報はデバイスマネージャから確認出来ます。


プロセッサのスケジュール

 この設定はマルチコアのCPUを使っている方なら、パフォーマンスを向上させる設定として比較的有名かもしれません。ロックスミスでも音声遅延を低減する効果があります。
 スタートメニューの「プログラムとファイルの検索」に「sysdm.cpl」と打ち込んでエンターを押し、「システムのプロパティ」というウィンドウを開きます。「詳細設定」のタブに移動し、「パフォーマンス」内にある「設定」をクリックし、「パフォーマンス オプション」のウィンドウを開きます。「詳細設定」のタブに移動し、「プロセッサのスケジュール」にあるオプションから「バックグラウンド サービス」を選び「適用」及び「OK」を押します。


おまけ

画像の遅延も少なくしたい

 Windows7などでは常時3フレーム(30fps時で90msほど)の遅延が発生しています。これはAeroとやらの機能が原因なのですが、指定したソフトだけでこのAeroを無効にし、3フレームを取り戻す事が出来ます。
 Rocksmith.exeを右クリックし、「Rocksmith.exeのプロパティ」を開きます。「互換性」タブにある「設定」内の、「デスクトップ コンポジションを無効にする」にチェックを入れます。これでロックスミスを起動すると画面が一度ちらつき、タスクバーなどが不透明になったりしますが、それで成功です。ロックスミスを終了すると、タスクバーなどは透明の状態に戻ります。

ムービースキップで起動を少しでも早くする

 以下のファイルをRocksmith\Base\GFxAssets\LoadingScreen_04.usmと入れ替えます。LoadingScreen_03.usmと入れ替えても見た目、動作ともに変わりないのでどちらでも構いません。
  • Rocksmith\Base\GFxAssets\movie.usm - Ubisoftのロゴムービー
  • Rocksmith\Video\GFxAssets\videos\intro\IntroSequence.usm - ギター版OPムービー
  • Rocksmith\Video\GFxAssets\videos\intro\IntroSequenceBass.usm - ベース版OPムービー
 入れ替えの際に元のファイルを消してしまい、元に戻したい場合は、SteamでRocksmithを右クリックしてそこからプロパティを開き、「ローカルファイル」のタブから、「ゲームキャッシュの整合性を確認」を選んで下さい。壊れているファイル(入れ替えたファイル)だけを自動的にダウンロードし修復してくれます。