As has been mentioned, VIdeointerrupt results are the most reliable for 60hz content (without variable refresh).
Let's look at Marvel vs Capcom 2 for an example. The results for video interrupt are
So it takes 57.71ms. What this means is that on average, from button press until the screen where the animation occurs starts to draw takes 57ms, or approximately 3.5 frames. What does this look like? Let's look at an example that roughly correlates with the average result.
The green line corresponds to where the input has occurred. Given that it is halfway down the screen, and the screen draw takes 16.66ms (one frame at 60fps) it will be a further ~8ms to the bottom.
Nothing happens on this frames. A further 16.66ms.
Nothing happens on this frames. A further 16.66ms.
Nothing happens on this frames. A further 16.66ms.
Command history and animation update on this frame. Given it has taken 8ms + 16.66 + 16.66 + 16.66, the final result is 58ms or ~3.5F. I always take the result at the top of the screen, as it doesn't seem right to penalise games if I use the bottom command icon or the top command icon. I do the same thing when testing off the screen. Results for video interrupt method will always be for the top of the screen where the animation occurs.
This is a good opportunity to remind people that you can skip forwards and backwards on youtube videos using the , and . keys. This is particularly useful for the video interrupt method.
Now, clearly the command won't always come right in the middle of the input window. The Arduino is set to cascade the results, so that it progressively gets earlier or later in the window until it misses the input window and reverts back to the next frame. This means we have a sample across the entire input window. By doing this smoothly instead of randomly, it should make it easier to detect other causes of fluctuation in input lag (e.g. the infamous SF5 input lag scenario).
Results are presented in the above format. I upload this to youtube, aiming to show the results in full, as well as the whole raw file, so that anyone can go back and interpret them for themselves.