Best Input Buffer Explained - Rocket Science
Summary
TLDRこの動画では、新しい入力バッファ設定について解説しています。パッチ1.58で物理学は変わらず、わずかな変更がVulcanの当たり判定に適用されました。また、パッチにより全員のピングが下がった理由として、サーバー間のデータ移動時間を測定するだけで他のレイテンシ要因は除外するよう変更されたと説明されています。入力バッファは、安定しないインターネット接続を考慮してサーバーが複数の入力をバッファに保持する機能です。レガシーモードではサーバーがバッファを管理し、新しいモードではゲーム自体がバッファサイズを維持します。STSは通常のゲーム速度で動作し、バッファが空の場合にはわずかにゲーム速度を上げることがあります。CSTSは、安定した接続では通常速度を保ちながら、不安定な接続ではゲーム速度を細かく調整しますが、安定した接続では余計な速度変化が生じる可能性があると結論づけています。
Takeaways
- 🔍 パッチ1.58で物理学は変わらず、Vulcanの当たり判定が微調整された。
- 📶 パッチ後の通信改善で、プレイヤーのピングが下がった理由は、測定対象が変更されたため。
- 🎮 オンラインでのゲームプレイでは、入力バッファが安定したゲーム状態を保証するために使用される。
- 🛠️ レガシーモードでは、サーバーが入力バッファの維持を行い、遅延が発生する可能性がある。
- 🔄 新しいモードでは、ゲーム自体が入力バッファのサイズを維持し、ゲーム速度を微調整して安定性を確保する。
- 🔉 STSモードは、通常のゲーム速度で動作し、バッファが空の場合にはわずかにゲーム速度を上げる。
- 🚦 CSTSモードは、入力バッファのサイズを厳密に維持し、安定した接続でゲーム速度を常に調整する。
- 📊 ネットワークパフォーマンスステータスを開くと、現在の入力バッファサイズやターゲットサイズ、入力バッファミスカウンター、ゲーム速度が分かる。
- 💻 安定した接続では、レガシーモードとSTSモードがほぼ同じバッファサイズで動作し、CSTSはより低いターゲットを設定する。
- 🛡️ 不安定な接続では、CSTSが最もバッファミスを減らし、最適なネットワークパフォーマンスを提供する。
- ⚖️ 接続状況によって最適なモードが変わるが、安定した接続ではSTSが適していると思われる。レガシーモードはSTSに劣る可能性がある。
Q & A
パッチ1.58で物理学はどのように変化しましたか?
-パッチ1.58では物理学は全く変化していませんが、Vulcanのヒットボックスが少し変わりました。
パッチで誰のpingが下がった理由は何ですか?
-Psyonixがping測定に含まれるものを変えたためです。これにより、サーバーとデータを往復する時間のみが表示され、レイテンシーをもたらす他の要素は除外されます。
入力バッファ設定とは何ですか?
-オンラインでRLをプレイする際、ゲームはサーバーに入力を送信し、サーバーはそれに基づいてゲーム状態を計算して結果を送り返します。インターネット接続が安定していないため、サーバーは入力が正確な時間に到着するとは考えられません。そのため、サーバーは複数の入力のバッファを維持します。
レガシーモードでのバッファの維持方法とは何ですか?
-レガシーモードでは、サーバーがバッファの維持を行います。前の入力を複製したり、2つの入力を結合したりしてバッファのサイズを調整します。
新しい方法でバッファサイズはどのように維持されますか?
-新しい方法では、サーバーから送られる現在のバッファサイズに基づいて自分のゲームでバッファサイズを維持します。ゲームの進行速度を微妙に増加または減少させて、バッファサイズを調整します。
STSモードとCSTSモードの違いは何ですか?
-STSモードは通常のゲーム速度でほとんど時間を過ごし、バッファが常に空のときや入力が失われたときにのみ、ゲーム速度をわずかに増加します。一方、CSTSモードは、入力バッファのサイズを常に同じに保つよう努め、サーバーからの絶えずフィードバックを利用してゲーム速度を調整します。
安定した接続でどのモードが最適ですか?
-安定した接続では、CSTSが無駄な速度変化を引き起こす可能性があるため、STSの方が少し優れています。
不安定な接続でどのモードが最適ですか?
-不安定な接続では、CSTSが最も優れていますが、ゲーム速度の絶えず微調整が必要になるため、プレイヤーによってはわずかな影響を受ける可能性があります。
レガシーモードの欠点は何ですか?
-レガシーモードは、STSと同じ状況でゲーム速度を増加させるだけで、入力を複製する必要がありますが、入力を複製することはゲーム速度の1%の変化よりも明らかに悪くなります。
自分の接続状況を知るために使用できる統計情報は何ですか?
-ネットワークパフォーマンス統計を開くと、現在の入力バッファサイズ、接続がどのように機能してきたかに基づいてターゲットとするバッファサイズ、サーバーで入力が複製されたり結合されたりした回数をカウントする入力バッファミスカウンター、そして現在のゲーム速度(デフォルトは120)を見ることができます。
パケットロスをシミュレートした場合、最初に何が起こりますか?
-パケットロスをシミュレートすると、最初に入力バッファミスが発生します。ゲームが接続が良くないことに気付くと、ターゲットのバッファサイズを増やして不一致を吸収しようとします。
動画が役に立った場合どうすればよいですか?
-動画が役に立った場合は、周囲で共有してください。また、支援者の方々には、必要なソフトウェアを購入できるようにしてくださったことを感謝しています。もし手伝ってくれるなら、サイトで少しだけ利益を得られます。
Outlines
🚀 パッチ1.58の物理学とネットワークの変更点
HalfwayDeadが新しい入力バッファ設定について説明。パッチ1.58では物理学が変わらず、Vulcanのヒットボックスが微調整された。また、ネットワークの変更として、すべての人のpingが下がった理由が説明されており、それは測定対象が変更されたからである。入力バッファとは、オンラインでゲームをプレイする際に、サーバーがあなたの入力を保持し、ゲームの状態を計算し、結果を返して正しい情報を確認する仕組みである。インターネット接続が安定していないため、サーバーは入力が正確な時間に到着することを仮定できない。入力バッファは、入力が遅延や失われないように、複数の入力をバッファとして保持する。レガシーモードではサーバーがバッファの維持を行い、新しい方法では自分のゲームがバッファサイズを維持し、ゲーム速度を微調整してバッファを管理する。STSとCSTSは、ゲーム速度を変化させずにバッファを維持する手法であり、CSTSは安定した接続で最も効果的であるが、ゲーム速度の微調整が多く行われることがある。
📊 不安定な接続での入力バッファのパフォーマンス
HalfwayDeadは、安定した接続と不安定な接続での入力バッファのパフォーマンスを比較。通常の接続では、レガシーモードとSTSのターゲットバッファサイズは7で、CSTSは4であったが、実際のバッファサイズは常にターゲットより低かった。不安定な接続シミュレーションでは、入力バッファミスが増加し、ゲームはターゲットバッファサイズを増加させて不一致を補正する。レガシーモードでは120回、STSでは15回、CSTSでは8回の入力バッファミスが確認された。CSTSは不安定な接続での最適な選択肢であり、ゲーム速度の微調整が行われることが多く、安定した接続ではSTSの方が適していると結論づけた。また、サポート者への感謝の言葉と、今後の動画への期待を述べている。
Mindmap
Keywords
💡入力バッファ設定
💡パッチ1.58
💡Ping
💡ラグ
💡サーバー
💡パケットロス
💡レガシーモード
💡STSモード
💡CSTSモード
💡ネットワークパフォーマンスタスク
💡ゲームスピード
Highlights
HalfwayDead 确认在 Patch 1.58 中物理效果保持不变,只有 Vulcan 的对齐方式发生了微小变化。
更新后,所有玩家的 ping 值下降,这是由于 ping 测量方式的改变,仅显示数据往返服务器的时间。
Psyonix 调整了 ping 测量,以排除引起延迟的其他因素,使 Rocket League 的 ping 值更符合大多数游戏的测量方式。
输入缓冲区设置允许游戏在不稳定的网络连接下,通过服务器维护多个输入的缓冲来确保游戏状态的正确计算。
在 Legacy 模式下,服务器负责维护输入缓冲区的大小,可能会复制或合并输入以调整缓冲区大小。
新的输入缓冲区方法通过玩家自己的游戏来维持缓冲区大小,通过调整游戏运行速度来适应缓冲区的需求。
STS 模式在大多数时间里以正常游戏速度运行,仅在缓冲区频繁为空或错过输入时,才会略微提高游戏速度。
CSTS 模式尝试保持输入缓冲区大小完全一致,通过服务器的持续反馈调整游戏速度。
在稳定连接下,CSTS 模式下的游戏速度大多数时间保持正常,调整通常在 0.3-0.6% 之间。
CSTS 模式是一种预防性方法,避免缓冲区大小变化,但意味着玩家会经历更多的速度变化。
HalfwayDead 通过不同设置在不同条件下进行了测试,以提供有根据的建议。
网络性能统计可以提供当前输入缓冲区大小、目标大小、输入缓冲区丢失计数器和当前游戏速度等额外信息。
在稳定的私服连接下,所有方法感觉都不错,Legacy 和 STS 的目标缓冲区大小为 7,而 CSTS 为 4。
在模拟 25% 数据包丢失的不良连接下,CSTS 模式的输入缓冲区丢失明显少于 STS 和 Legacy 模式。
CSTS 在网络不佳时表现最佳,但需要不断调整游戏速度,一些调整幅度高达 2.5%。
对于稳定连接,CSTS 可能会进行不必要的速度调整,STS 可能是更好的选择。
Legacy 模式似乎没有太多存在的必要,因为 STS 在相同情况下仅增加游戏速度,而复制输入则更糟糕。
如果视频对你有帮助,请分享它,并关注 HalfwayDead 在 Twitter 或 Discord 上的更新。
Transcripts
Hey guys, HalfwayDead here with a video about the new input buffer settings.
Before I go on with that, however, I wanna make a quick mention, that I have run my testing
tool and confirmed that the physics stayed exactly the same in Patch 1.58.
There has only been a small change to the Vulcan, which lines up slightly differently
with the hitbox now.
Let's get to the networking.
One interesting thing you might've noticed with the patch is that everyones ping went
down.
This isn't black magic.
I asked Psyonix Cone about it and he confirmed to me that they just changed what is included
in the ping measurement.
Now it only shows the time that it takes for your data to travel to the server and back,
excluding other things that introduce latency.
This was done, because most games do their measurements that way and there were complaints
about ping being higher in Rocket League.
Judging by what I saw on Twitter, many players were already convinced that it made their
connection better.
With that out of the way, what are the input buffer settings?
When you play RL online the game will send your inputs to the server, which will then
calculate the game state based on the actions, then send the result back to you, so you can
confirm that you have the correct information of the online game.
Because internet connections are never 100% stable, the game can't assume that every input
arrives at the correct time.
Packets can take longer or shorter, or not arrive at all.
If your game stutters and drops frames, that can also cause inputs to arrive late to the
server.
In order to overcome this problem, the server will maintain a buffer of multiple inputs.
That way, it always has some backup to work with.
Always, is not true either of course, because if you have some major packet loss or your
ping varies a lot, then that entire buffer can run dry and you have a problem again.
The difference between the settings lies in how the buffer is maintained.
In the Legacy mode, this the task of the server.
It has the option to either duplicate a previous input to increase the buffer size, or combine
2 inputs to reduce the size.
Whenever this happens, there will be a difference between what happens on your screen, and what
happens on the server.
So we would rather have this happen as little as possible.
Generally, it doesn't happen much if you have a stable connection, but with a spotty one
it could be different.
So, this is where the new methods come in.
They maintain the buffer size through your own game.
The server will send you the current buffer size and then your game will increase the
speed or decrease the speed at which it runs slightly.
That will change the buffer size over time, as more or less inputs get generated compared
to the default.
So, unless the buffer runs completely dry, there shouldn't be a difference between the
inputs that you use and the ones that the server uses.
This does, however, come at the cost of varied game speed, which is why Psyonix didn't just
remove legacy.
The difference between the new modes is in how much they enforce the rule.
STS will run at normal game speed the vast majority of the time.
Only when the buffer is regularly empty or it missed an input, does it seem to increase
the game speed by just under 1%, to fill the buffer up.
This is similar to how legacy seems to treat the buffer, so the only difference there,
seems to be how it fills the buffer.
CSTS is significantly different.
This method attempts, to the best of its ability, to keep the input buffer at exactly the same
size.
It uses constant feedback from the server to adjust the game speed.
On a stable connection, you'll still have the game running at normal speed the majority
of the time, and most adjustments are only a 0.3-0.6% differences in speed, but you rarely
stay at standard speed for multiple seconds.
In a sense, CSTS is a preventative method that will avoid buffer size changes, but that
means you get more speed changes.
If you want more info on how exactly these methods work, I've linked 2 videos in the
description.
That leaves us with the conclusion.
Which one is better, which should you use?
If the answer was that simple, then Psyonix wouldn't have given us any options.
Still, I spent some time playing around with all of these settings in different conditions
to give you an educated recommendation.
You can get some extra information on your own connection by opening the network performance
stats.
In there, you will find a few numbers.
Your current input buffer size.
The size that the input buffer is trying to target, based on how well your connection
has been performing.
An input buffer miss counter, that will show you when inputs on the server get duplicated
or combined.
And lastly, the current game speed, 120 being the default.
With my usual solid connection to a private server, all methods felt fine.
Legacy and STS have a target buffer size of 7.
CSTS targeted a buffer size of 4.
Regardless of that, the buffer with Legacy and STS was always significantly below the
target, so there didn't really seem to be a noticeable difference in the real average
buffer size.
I played a 5 min solo private match with each method and I only had a single input buffer
miss during the entire run, which was likely just random.
But what happens with a bad connection.
When I simulate 25% packet loss, the first thing that happens are input buffer misses.
Quite a few.
Once the game notices your connection isn't good, which it does really fast btw, it will
increase the targeted buffer size to even out the inconsistencies.
With this unstable connection, even after the adjusted buffer sizes, there are more
input buffer misses, than with the stable connection.
Now, there is a noticeable difference in the amount of buffer misses between the methods.
I let each method stabilize for 10 seconds and then counted input buffer misses for the
rest of the game.
8 with CSTS, 15 with STS, and around 120 with Legacy.
CSTS is the king of bad connections.
It did have to make continuous adjustments to gamespeed to achieve that though, some
being as large as 2.5%.
Overall it can be concluded that CSTS is the best from the networking standpoint.
The constant tiny adjustments to game speed, however, have the potential to throw you off
by a tiny amount.
If they don't bother you, then you've got what you want.
For stable connections, CSTS will probably make unnecessary changes to speed and you'd
be slightly better off with STS.
I don't really see the point of legacy anymore since STS seems to only increase game speed
in the same situations where legacy duplicates inputs.
And duplicating inputs is most definitely worse than a 1% change in game speed.
If this video helped you, please share it around.
Shoutout to my patrons who support me financially, which allowed me to buy the necessary software
without a second thought.
If you would like to help out too, you'll also get some small benefits in return, info
on the site.
To stay up to date, follow me on Twitter or join my Discord and I'll see you soon for
the next video.
تصفح المزيد من مقاطع الفيديو ذات الصلة
5.0 / 5 (0 votes)