goodgames
07-03
最終更新:
goodgames
-
view
Frostbite大改善
不具合らしき激しい高負荷に見舞われたBattlefield4ベータテストですが、
負荷検証用に収集していたログの中で大発見。
負荷検証用に収集していたログの中で大発見。
それなりに情報収集をしていたつもりですがこれは全くの予想外でした。
■Frostbite3.0(Battlefield4)
(負荷検証作業中に収集したログより生成)
■Frostbite2.0(Battlefield3)
(ラグのお話で使った参考資料をそのまま再利用)
青い線はどちらのグラフでも30前後を指しており、BF3とBF4の間に違いは見受けられません。
しかし、赤系の色がついた線は...
しかし、赤系の色がついた線は...
下のグラフの最下部に「平均10.919」と表示されています。
これはFrostbite2.0(Battlefield3)では1秒間に10程度の頻度で、他のプレイヤーの位置情報が各クライアントに配信されていることを意味します。
これはFrostbite2.0(Battlefield3)では1秒間に10程度の頻度で、他のプレイヤーの位置情報が各クライアントに配信されていることを意味します。
変わって上のグラフには平均値などは記載しておりませんが、
たまに落ち込むことはあるものの概ね20程度で推移していることが読み取れます。
たまに落ち込むことはあるものの概ね20程度で推移していることが読み取れます。
つまり、Frostbite3.0(Battlefield4)では他のプレイヤーの位置情報が2倍の頻度で送られてくるようになりました。
先日、どこかのページに「弾がまともに当たる気がする」と記載いたしましたが、
敵の位置情報が倍の精度になりますのでこれは大きな差です。
敵の位置情報が倍の精度になりますのでこれは大きな差です。
みなさん自慢の120Hz液晶。1秒間に120回も敵の位置を表示してくれます。残念な私の60Hz液晶でも60回も(同左)
変ですね。
今までは1秒間に敵の位置情報が10回しか送られてこなかった。これからは2倍になるけど、それでも1秒間に20回でしかない。
今までは1秒間に敵の位置情報が10回しか送られてこなかった。これからは2倍になるけど、それでも1秒間に20回でしかない。
120Hzで表示される環境なのに10回しか位置情報が更新されない...
はい。
120-10=110回は予測で描画しています。
1回正確な位置で描画した後の11フレームは予測でしかありません。
予測ですので必ずしも当たるとは限りません。
120-10=110回は予測で描画しています。
1回正確な位置で描画した後の11フレームは予測でしかありません。
予測ですので必ずしも当たるとは限りません。
上では位置情報と記載しましたが、実際には方向や速度などの情報を伴うベクトルデータなので、
1/10秒後には敵がどこにいるかを大凡予測可能です。
(ベクトルデータになっていないと弾道計算が出来ない)
1/10秒後には敵がどこにいるかを大凡予測可能です。
(ベクトルデータになっていないと弾道計算が出来ない)
あくまでも大凡の予測なので、液晶パネルに表示されている位置に撃っても当たらないのは
予測が外れてその位置に敵が居ないからかもしれません。
予測が外れてその位置に敵が居ないからかもしれません。
位置情報が2倍の頻度になると言うことは120Hz液晶なら6フレームに1回は正確な位置で描画されます。
その後の5フレームは予測になりますが、11フレーム先まで予測が続くよりは誤差が抑えられるのは言うまでもありません。
その後の5フレームは予測になりますが、11フレーム先まで予測が続くよりは誤差が抑えられるのは言うまでもありません。
また、我々庶民の60Hz液晶では3フレームに1回は正確な位置に表示されます
とは言うものの、これにラグの問題がセットでついてくるので、
正確な位置に描画した瞬間にはもうそこに敵は居なかったりします。
奥が深いですね...
正確な位置に描画した瞬間にはもうそこに敵は居なかったりします。
奥が深いですね...
BF4はBF3よりも素直に弾が当たると感じているのは私だけではないと思いますが、
その通りであるならば本件の影響が大きいと考えて間違いないでしょう。
その通りであるならば本件の影響が大きいと考えて間違いないでしょう。
当たり判定がサーバ側で行われるよう大きな仕様変更が行われましたが、
本来はクライアント(射撃側)判定の方が違和感が無いはずです。
チート対策及び大きな遅延を伴うプレイヤー対策として、
サーバ側にて当たり判定を行うよ変更されましたが、
そのデメリットを補うために毎秒20回もの位置情報送信を行っていると考えられます。
本来はクライアント(射撃側)判定の方が違和感が無いはずです。
チート対策及び大きな遅延を伴うプレイヤー対策として、
サーバ側にて当たり判定を行うよ変更されましたが、
そのデメリットを補うために毎秒20回もの位置情報送信を行っていると考えられます。
余談ですがCounterStrikeはサーバ設定により位置情報の送信頻度を変更出来るそうですが、
LANを用いたプロゲーマー達が参加する大会でも毎秒15~16回程度に設定されるそうです。
LANを用いたプロゲーマー達が参加する大会でも毎秒15~16回程度に設定されるそうです。
オーパスペックか。(苦笑)
( - )