A look at Street Fighter V‘s latency woes — online and off.
Since the release of Street Fighter V: Arcade Edition, many users have experienced a noticeable worsening of online connection quality. To discover the source of this sudden lag spike, reddit user SunTzu-81 put on his scientist’s gear and got to work experimenting with SFV’s notoriously poor netcode. His findings revealed an interesting development in the game’s netplay: when lag was introduced on one setup, the other created input delay to keep up with the lagging system.
However, his weren’t the only findings to uncover some of SFV’s secrets: French fighting game wizard WydD also broke down the offline input lag of multiple fighting games, discovering that SFV itself had input latency close to that of Dragon Ball FighterZ and the original Guilty Gear Xrd -REVELATOR-.
“All warfare is based on deception.”
SunTzu-81, known by his YouTube handle as DigitalHalftones, uploaded a video on July 1st that broke down SFV’s long-bemoaned netcode. To do this, he set up two systems in his home across the same network, one on PC and the other on PlayStation 4. By manipulating the game’s latency and framerate, he was able to discover the source of latency through SFV’s one-sided rollback. (To clarify, “rollback” netcode is a technique that doesn’t rely on input from another user before a game begins a subsequent frame; rather, rollback netcode predicts a player’s inputs, simulating the next frame without delaying the user’s experience. This type of netcode is common in modern fighting games, and good examples of it can be found in Skullgirls 2nd Encore and the PS3 version of Ultra Street Fighter IV.)
Before introducing artificial latency on one side, SunTzu compared the movement of the characters (here, the much-dreaded Cammy) across the network. Each side appeared to be moving smoothly, with no latency between the two platforms. However, after forcing the PC side to drop below sixty frames, the PC Cammy began to show delay on the PS4, displaying some of the signature “jitters” of latency. After moving around a bit, the PS4 likewise experienced a bit of skipping on its end, proving that there is a perceivable effect for the other player when one experiences a drop in framerate.
In the second round, SunTzu adjusted the latency so that the PC side received packets 150ms late from the PS4. Thus, the PC experienced rollback, causing the opposing character to delay and stutter across the screen. However, once the round ended and the next began (with the forced latency still initiated), the PS4 began to lag locally. Since turning on the artificial lag, the PC had dropped seven frames slower, and was lagging less harshly than its PS4 counterpart.
Based on his findings, SunTzu surmised that SFV takes the recorded latency at the end of a round and creates input delay based on that data, likely to sync players together in order to avoid total one-sided rollback. His PC was delayed seven frames in order to compensate for the PS4’s lag over the network, which caused the PS4 to skip frames in turn. “They must be adding some sort of artificial lag or input delay on the PS4 side in order to be doing this,” he stated over the video. “Whatever the connection is at the end of the round will determine how laggy it is for both players.”
SunTzu likewise noted that, since the lag was artificial, the PS4 continued to receive the PC player’s movements in real time. “I’m assuming that this still gives the PS4 or laggy player the advantage while visually ruining both games,” he wrote. “My guess is that they tried to compensate for the rift in in between rounds after seeing the GPO panel, and I bet they made this change with the AE release, hence the increased lag problems reported.”
While SunTzu’s findings took place over cross-platform netplay, he assures viewers that the platform didn’t make a difference. “This is video is not showing that PS4 is worse or better than PC, or that cross-play matters,” he explains in the video’s description. “It’s showing that frame drops on one side do not affect the other’s game at all. Only the latency does. In the remaining part of the video, I applied 150ms of lag to the PC from the PS4, and the result was [that] the game artificially delayed the PC game by 7 frames at the start of the next round. This artificial delay is applied by the netcode itself, and is determined by your connection to your opponent only at the start of the round.”
Investigating offline input delay.
SunTzu wasn’t the only FGC scientist to discover some of SFV’s hidden innards. While unrelated to netplay, French fighting game player and computer scientist WydD decided to take matters into his own hands to truly break down the game’s input latency, utilizing a unique input lag setup to record his observations. “The idea behind this was to replicate results I’ve seen on Twitter, coming from Noodalls,” he explained over the r/StreetFighter podcast. “He had trouble measuring SFV. He said basically, when he tries to make a measure, everything is blocked, and he doesn’t know why. I said, ‘I can’t do the measure with his method, but I have some spare parts — let me try to figure out how we can measure input lag.’”
WydD used an original capturing channel to produce his results. At its beginning, he used a PS3360+ PCB, to which he bound Cammy’s st.LK and st.MP (jeez, we can’t get away from that girl, can we?) in synchronization to a FC4 d-pad. This setup was connected to his PC via USB, which directly connected to the motherboard. An HDMI fed the information from the setup into a video component converter, which converted the HDMI inputs into a component — here as three separate plugs. These plugs operated three channels, labeled Y, Pr, and Pb. The Pr and Pb channels corrected a black and white signal, fed into the Y channel, to display colors. In essence, he bound a small circuit to the st.MP button that aimed to cut the signal to the Pr and Pb channels when pressed.
The plugs then went into a capture card, which was plugged into another PC on which SFV was being played. “If you cut the signal, you will have no colors on the screen,” WydD explained. “Because it’s analog, the image will turn gray right when you press the button.” While no discoloration occured as he pressed st.LK, stark discoloration occurred during st.MP., and would continue if he kept pressing the st.MP input. After recording his results, WydD would play back the footage frame by frame, using a ruler (reading each millisecond of a frame) attached to the side of the monitor to measure just when the latency occured by seeing where the color still remained on the screen.
The meaning behind the measurements.
By measuring exactly when he pressed an input between the amount of frames it took for the input to show on the screen, WydD was able to determine just how great the game’s input latency was based off Cammy’s st.MP. “Depending on when you press the button, you will have different results,” he explained. “And that is what I have recorded here.” Through recording the average latency of his button presses, he discerned that SFV has around 3.42 frames, or 57.1ms, of native (local) input lag. This is on par with Dragon Ball FighterZ’s latency, which measured at an average of 3.43 frames, or 57.1ms. Guilty Gear Xrd -REVELATOR- weighed in at 3.14 frames/52.3ms, while Tekken 7 had an average of 4.73 frames, or 78.9ms of lag.
While the PC’s latency wasn’t overt, the PS4’s lag for SFV sat on his “C” tier and was dubbed unstable. SFV weighed in at an average of 6 frames of latency, with an estimated 43% stability through his findings.
This data comes in the wake of an r/StreetFighter poll, asking the community which of SFV’s issues they feel should be fixed. According to the subreddit’s moderator Joe Munday, SFV’s netcode has been the number one choice since July of 2016. With SunTzu’s findings concerning the game’s artificial latency in online play, fans are certainly hoping for an adjustment in answer to AE’s “quick fix”. And as another DLC character will no doubt be revealed in the next two weeks, we can remain hopeful that Street Fighter V’s netcode may also receive some much-needed repair in the future.
Read more about Street Fighter V‘s netcode and input latency as our discussion continues in this follow-up article: