Sometimes the simplest questions can be the most fascinating. I wondered to myself if the wireless part of a standard Nintendo GameCube WaveBird controller is introduces any extra latency compared to a wired controller.
Spoiler alert: In this test environment the result was ~5ms of extra latency. That is around 1/3 of a frame.
I suspected that any additional latency would be quite small, so counting frames with a high speed camera wouldn’t work. To accurately isolate and measure only the controllers latency I used the “MiSTer FPGA Input Latency Tester”. This is an Arduino based homebrew project championed by PorkChop Express and Lemonici. You can find the project’s GitHub here and I previous made a whole deep dive video on how it works. This is the device which is provided the results for the MiSTer Controller Latency database.
The project requires a USB controller, so I had to incorporate a GameCube to USB adapter. I started by measuring the latency of a standard GameCube wired controller and then I repeated the process with a WaveBird.
The wired controller was ~4ms and the WaveBird was ~9ms, which leads me to the result that the WaveBird added ~5ms.
This test was supposed to be a “first look” and not a deep dive into the many factors which can lead to latency even on original hardware. The MiSTer is polling the USB device ~1ms, whereas original hardware (I believe) is only polling once per frame at 16.6ms.
The standard deviation of the wireless results was also higher, although not by much. This is expected as any wireless connection will show a greater variation of response times compared to a wired controller. More testing and statistics around the curve of the standard deviation would be useful here.
After I had finished the video I continued to test the setup more and more. I started to notice some large outlying response times with the wireless occasionally, maybe once every 1000 button presses or so. Again this is down to wireless issues, maybe something around me is interfering with the 2.4Ghz spectrum. The average was still the same but a 1 in 5000 result was more than 25ms.
Does a WaveBird add lag? Yes, 1/3 of a frame can be significant at the highest levels of play. In theory this could push your input into the next frame, if you are playing in an environment where you need frame perfect inputs. Also keep in mind this was measured on a MiSTer and not original GameCube hardware. Maybe there are other factors which come into play which I do not know about.
In practice the reason that Melee players at the highest level do not use a WaveBird may be more mundane: With the channel selector being a simple rotating wheel, anyone can connect to the same channel and interrupt your inputs. Still it’s fun to have more info on a device most of us are familiar with.