This was my attempt to create a a SNES to Bluetooth adapter. It works but the average latency was 18.35ms, which I think is too much to be considered a good controller.
This was my attempt to create a a SNES to Bluetooth adapter. It works but the average latency was 18.35ms, which I think is too much to be considered a good controller.
There probably could be some optimization in the translation, such as passing the controller object as a reference when checking the state of the buttons, rather than doing two loops to read the state and act on it. But I doubt that is the source of the largest latency since this is compiled to run at 240mhz (I did some additional testing at 80 as well, about the same results). I’m using a d1 mini off alliexpress so not the highest quality but I wouldn’t expect a huge performance hit.
Where do you think the (the majority of the) latency is being introduced?
Without more testing it’s hard to say. I don’t want say it’s the hardware without proof, but would require a much deeper dive into esp32 and c++ than I want to do right now.