SLIにしたのにブレソやってみると全然980Tiの時と変わってません。
まず確認したのはSLIになってるかどうかですが、これはNVIDIAコントロールパネルにわかりやすい形で表示されているので動作は問題なさそうです。SLI状態でWindowsのプラグアンドプレイにより認識されSLIにしますかと聞いてきます。「はい」と答えるとSLIになりデフォルトでおそらくAFR2が選択されるので、それだけでSLI状態になります。
次に考えたのは、SLIの効き具合を見れないかなという点で、いろいろ探してるとNVIDIAコントロールパネルのメニューにSLIビジュアルインジケーターっていうのを表示する項目があることを知りました。
上のメニューから「SLIビジュアルインジケーターを表示する」選択でこれを表示できます。
画面の左にSLIという文字とともに緑のバーが縦に現れます。
この意味について、画面左に緑の領域の広さでSLIが効いている度合いを表示するとNVIDIA様の説明にあっただけで、それ以上の具体的な意味はどこにも書かれてませんでしたが、ブレソ起動するとやはりこれがすごく小さかったです。これが大きくなればいいのかなと思いいろいろ検索してみると、同様の疑問を持つ人はいっぱいいるけど結果として解決してないようでした。
その「度合」を大きくすることがオプションによりできるのではとブレソ設定いじってると、ブレソのグラフィック設定の「暗い影の効果」オプションをOFFにするとこれが大きくなることを発見しました。
デフォルトでは最高設定5にすると「暗い影の効果」はONになりますが、
その状態だとこのような感じで緑領域小さいです。
最高設定のまま「暗い影の効果」をOFFにするだけで、
突然こんなに伸びちゃいますビューン!!
視野を拡大すると自キャラ以外の背景ボケますが、このときも緑の領域が小さくなります。
ただし、最も重要なのは、緑領域が大きくても小さくてもFPSに関係ないことでした。
関係ないなら特に気にしなくていいのかなと他を当たることに。。
次にGPU使用率が低い点も気になって、大体50%前後しかいきません。DSRを使って4Kにしても55%未満とかです。
これも疑問感じる人多くてそれ自体は海外のフォーラムによくのってるけど、これまた解決してないんですよね。
2つだけ気になる情報見つけました。それは、
・60HzモニタだとGPU稼働率どうやっても低いけど、144HzモニタでGSYNC OFFにしたら上がった
・DSRを2倍にしたら上がった
でもこれ、どちらも描画回数か領域が増えるから、GPU使用率上がるの当然のような気がして、解決策というわけでもなく、
通常どの程度が正常なのかなと思うんだけど、こういう「通常の状態」ってネットで調べるのすごい大変で、CORSAIRの水冷キットH115iが正常動作してる時の温度も探したときすごい苦労して、異常あると書き込まれるけど、正常値をわざわざネットに書いてくれる人っていないわけですよね。
海外のフォーラムで見つけました。それはここ1,2年くらいの情報で、いろいろゲームしてるけどSLIではどのゲームもGPU使用率50~70%だよって書き込みでした。
というわけでブレソのGPU使用率50%程度なのは異常ではないと思います。
また、これらはブレソのグラフィックエンジン?のUnrealEngine3の制限なのではとか思って、このエンジン使ってる他のゲーム調べようと思い見てると、いろいろ採用されてるけどメジャーなのはAVAっていう、FPSゲームかなと思って関連調べてると、
AVAをSLIでやっている情報で、ブレソとまったく同じようなことが書かれてます。SLIにしたけど利きが弱いと。
なのでUE3としてはこの辺が限界なのかなって感じです。
よくCPUが2コアしか使われてないからこのゲームはマルチコア有効に使ってないとか書かれてるの見ますが、
CPU LOAD率が間違って50%くらいになったとき、水冷なのに温度は70℃くらいになってました。これは空冷だと85℃くらいいくレベルで普通の状態じゃないけど、私の場合原因はCorsairLINK4の最新版がバグってて、それがCPU稼働率15%くらい使ってたからで、古いのにしたら解決しました。
電源も使用率50%が理想っていうし、グラボも同じなのかなって。
車運転するとき1速でレッドゾーン入れてずっと走らないのといっしょみたいな気するよね。
私の環境でもFireStrike中はGPU使用率100%近く行ってるし、ごらんのとおりSLIインジケータもここまで伸びてます。
SLIの文字の右に四角があるときは全画面モード中の全画面モードを指してます。
ここまで使用されると満足感ありますが、先日書いた通りGPU温度85℃です。そんなんじゃゲームできないもんね。
ブレソはDirectX9だし、これもこの辺かなと思いました。
このGPU使用率自体の計算式に関する情報が全くなくて、一つはGPUクロックかもだけど、電力消費量が44%程度で頭打ちになってて、そこに何か壁があるように見えますが、これを上げる方法も不明でした。GPUクロックを2GHz以上にしてもそれほど変わりません。
MSIのAFTERBURNERはいっぱい情報表示してくれるけど、それらを画面にオーバーレイで常時表示できる機能があって、これを使ってブレソしながら見てたんだけど、一つ気になる項目見つけて、それはSLI SYNC LIMITって項目です。
これ1か0しかなくて1のときLIMITになったってことらしく、具体的になんの制限に触れたかどこにも説明無いんだよね。。。たぶんNVIDIAの開発環境かなにかで出してると思うけどここまで情報ないってことはもとから情報無いんでしょうか。
海外のフォーラム見てると、GPU同士でやり取りしてるBANDWIDTHを超えたときが1って書いてあって、オフィシャルな情報じゃないけど納得できるとこありました。FPSが高い時にしかこれ1にならなかったから納得なんだけど、これって要はSLI ブリッジでやり取りしてるとこを指してる?でもHBブリッジになって帯域上がったって書いてあったのにだめなんでしょうか。。。
あちこちいじってて偶然SLI LIMITを出なくする方法を一応見つけました。
ブレソ中にグラフィック設定変更するアプリ立ち上げてると、バックグラウンドのブレソの画面が固まるじゃないですか。
その状態でブレソをフォアグランドにすると、それだけでなぜかSLI SYNC LIMITと出ないことに気付きました。
これがsYNC LIMIT状態。
こっちががちゃがちゃやってSLI SYNC LIIMITを出さないようにした状態。同じシーンじゃないからわかりにくいけど。
ところがこれまたFPSは全く変わらずだったので、この項目あんまり意味ない気がします。
ブレソはFPS120までしか扱えませんが、これを上げられれば稼働率あがるんじゃないの?と思って、NVIDIA INSPECTORのFRAME RATE LIMITTERとV-SYNCをいじってみたところ、まあ前もしたことあるんだけど見事に無視されて120のままです(;´・ω・)
なんでもできるINSPECTORがなぜ効かないのか、ですが、どうもFPS制限って古いゲームだとFPSどこまでも上がって画面が壊れたりとか、時間が2倍速くなるとかあるらしく、その場合に下に抑えるためには有効に使えてるそうで、逆に上にあげるといった用法は一切ありませんでした。
FPS制限はゲームのプログラム内で固定ってことなんでしょうか。でもディスプレイの垂直同期が144とか200とかなったらそこまで拡大されてしかるべきと思うので、中で固定ってちょっと不思議です。
そもそもブレソって144Hzとかに対応してるんでしょうか。よくできたゲームはディスプレイがそうなればその選択肢が出るらしいけど、私は現状普通のモニタなのでこの辺はわかりません。
いろいろあったけどこれかなという設定をNVIDIA INSPECTORでなんとなくしてみて、まあ最初とそんなかわらないですw
それが異常じゃないってことがわかっただけでもまあよかったけど、よくGPU1個にしないと解決しないみたいな投げやりなことも書いてあって、実際試さないといけないなと思い、NVIDIAコントロールパネルからSLI未使用にしてみたところ、
なんとFPSが上がりました( ノД`)
あくまでも最高設定5の話ですけどSLIにするとFPSが10くらい落ちちゃいます。そしてこれ、よく書かれてるんだよねフルHDの場合。そういう意味で異常じゃないみたいだけどこ、これは。。。
しかもGPU稼働率24%とかで、すごい重いシーンだと76%とか、めまぐるしく変わっていい仕事してます(;゚Д゚)
SLIより稼働率がおおむね低く、温度も低いです。。
なにかメリットないのかとSLIにしたままいろんなID行ってましたが、今まであった、かくっとなる瞬間、
敵に攻撃した瞬間とか、じゃ術コウシン切れたときとか、鬼門館の屋根のぼりとか、いつもかくっとなる場所とか、びゅーんってワープする自動モード中とか、
ここ新しいPCにしたとき若干やわらいだって前書いたけど、ほんとに若干で、
だけどSLIにしてるとそれがほぼなくなります。まったくラグらないくらいです。
超小さい変化ですが。。
SLI状態でID日々行ってみると、
急速に激しいモーションを出すと、それがSLIの場合ちゃんと描画されていることに気付きました。今まではなんとなくスキップというか間引かれてたようです。例えば拳闘士の横移動、超スムーズに描画されてますが、遅いPCだと適当に表示されて最後の位置だけ保証してる感じでした。
こういう過程の描画がSLIの場合充実しているようですが、FPS自体は若干低いのでだれも気にしてくれない点なのかな。
こういうスキップ処理のおかげですごいPCじゃなくてもやれるんだと思います。すごくよくできてるってことだよね。
NVIDIAコントロールパネルの3D設定に「レンダリング前最大フレーム数」という項目ありますが、SLI時に大きな意味を持つみたいな言葉だけ発見して、以前は変えても全く変わらなかったけど、2にしてみたところ、すごい変わったような気がしました。
ところが同じ設定で次の日また重くなったからあれっと思っていろいろしてると、負荷が高い時かCPUを4.8GHzにOCしたときに調子よくて、もともとそんなことなかったから設定変えたらそうなるっていう、なんていうんですか、いいところポイントがずれてるだけで、本当に何かが変わったわけではなさそうでした。
特に意味が分かっててやったわけじゃないからこれなんだろうと調査してみると、CPUキューとか、CONTEXTスタックとか書いてあって、要はGPUにレンダリング指示する情報自体はCPUが作ってるんだけど、フレームごとのその情報の複数枚数分をあらかじめCPUが用意してあげてると、そこに並んでるからGPUはスムーズに処理可能、つまりFPSが上がるんだそうです。
その代わり、あらかじめ複数フレーム分用意してるから今のユーザー入力(マウスとか)より前の段階でいっぱい用意してるから、表示してる内容とラグがあるとプレイヤーは感じるそうです。いろいろなことをまとめるとこんな感じみたい。
私にとっては入力ラグを低減することが最大の目的で、そのためFPSを上げたかったんですけど、FPS上がっても入力遅延増えたら意味ないので、ここは1でいいみたい。そしてSLIとシングルで何も差はなく、具体的情報もありませんでした。
よくWindows7以降は3フレーム遅延あるから3とか、6とか書かれてるけど、
似たの3つあって、
1.Maximum pre-rendered frames
2.Virtual reality pre-rendered frames
3.Maximum frames allowed
デフォルト3フレームっていってるのはどうも3.みたいです。これはInspectorで最初から3になってて、そしてNVIDIAコントロールパネルには表示されてないのでそこではいじれません。
1がよくいじられて特に効果ないとこw
2は全く不明です。
いろいろ組み合わせてみたけど何もしない時が一番良かったです。
SLIにすると奇数フレームと偶数フレームでGPUごとにレンダリングし、同時実行も可能なようなので単純に考えたら2倍速くなりそうだけど、理想値で1.6倍程度らしく、そして実際には変わらないどころか遅くなりました。
普通に考えたらそんなわけないけど、実際目の前で見てるからほんとなんだろうなーって感じで、
なぜこうなるのか。
PC側で高速にレンダリングしてもモニターに表示しないと人の目には映らないわけで、そのときに同期っていうのがよくでますよね。リフレッシュレート60Hzは1秒に60フレームしか表示できないという例のもの。
コンピューターって二つの間で情報受け渡しするときに必ず同期っていうもの出てきます。モニターとグラボは全く違うものなので、この間を同期しないとうまく表示できないように、GPUも複数あると同期しないといけないんだそうです。
その同期ってどこでしてるのと思うとSLIブリッジしかないよね。たぶん。
参考リンク:[GDC 2015]NVIDIAが伝授するマルチGPU構成時のカク付き対策。これまで語られなかった「AFR」の秘密も明らかに
http://www.4gamer.net/games/022/G002210/20150306111/
上の説明にある通り、最悪なのは2つのGPUの各フレームレンダリング速度に差があるときとあって、確かに先にGPU1が開始したけど次のGPU2のフレームの方が軽くて先に終わっちゃったらどうするの?ってことだよね。
NVIDIAさんの説明にある通り、遅い方に合わせるそうで、つまり速い方は待たされる=同期待ちになるのかなって気がするけど、コンピューターの世界でちょっと待つってできないから、もしループとかで回ってたりすると、FPS低いのにGPU使用率高くて温度も高いの理解できそうですけど、ここは個人的な想像です。
一番小さくて負荷が軽いはずのFullHD画面の時が顕著にSLIの方が遅くなってます。FullHD限定の話かどうかは情報みてないから不明ですけど、これはレンダリングが画面小さくてすぐ終わるから同期待ちになる確率高いからじゃないでしょうか。
と、いろんな情報見ていじってきたら納得できる状態なんだなって感じになってしまいました。
結果としてほぼ初期の状態から変わることなく、SLIにすると途中過程のレンダリングクオリティは上がるけど、最大FPSは落ちますよということで終了です。
144Hz以上モニタについてはGSYNC ONにすると遅くなるとか、ブレソ対応してるかどうか不明とかあってやってみようという気にはなれませんし、FPS上げて入力遅延減らしたいのに4Kにしたら今より遅くなるので本末転倒だし、これといって先も見えない感じなのでした。
というわけでSLIについてはここでいったん終了、結果のご報告でした。