Advertisement
SeedBorn

Zelda 64 Input Delay Testing

Apr 16th, 2019
893
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.51 KB | None | 0 0
  1. tl;dr My data are consistent with the hypothesis that VC adds roughly a frame of input delay in OoT. It does not appear to add significant input delay in MM.
  2.  
  3. I wanted to test for myself the statement that VC adds input delay over N64. ZFG did some testing and came up with these results: https://docs.google.com/spreadsheets/d/1FhGhrJH3TO5iIBhYY_bXnErk3goWC2sWqYVvxgibvLA/edit#gid=0 which seem to indicate a clear conclusion, but I wanted to cross-check them with different methods. His testing involved reacting to a cue in game and was done entirely with captured footage. I opted instead to use a camera to record myself pressing a button and the subsequent reaction of the game on my monitor. This removes the human reaction time element, although there are still a few potential sources of error which I'll discuss below.
  4.  
  5. I used my phone's camera, which has a 240fps slow motion mode. The idea is to see the video frame on which I press a button and then see how many video frames pass before the frame corresponding to that button press is drawn on my tv. Both my Wii and N64 were hooked up to the same CRT monitor, and both were running the vanilla version of the game. I used the native controllers for both versions (no adapters). I recorded clips on both versions in Temple of Time. The raw videos are available here:
  6.  
  7. https://youtu.be/TcpT7EDCNoI
  8. https://youtu.be/pwlbURmEA4E
  9.  
  10. Some pitfalls in getting exact measurements include:
  11. -- It's not easy to see the exact frame when the button is pressed. I tried to accommodate for this with decent lighting and pressing the button quickly, but this is likely to introduce ~1 video frame of uncertainty.
  12. -- It's a bit of a judgment call as to exactly on which video frame one would say Link's animation has updated, since the camera is fast enough to record the CRT drawing the various portions of each frame, and also the recording rate of my camera is slightly desynced from the refresh rate of my television. I tried to set a consistent criterion for when to count a frame as updated, but this also introduces some error.
  13. -- There's a potential systematic difference between N64 and VC due to using a different controller for both, so I may have consistently misidentified when the button was pressed on one controller vs. another.
  14.  
  15. These all contribute uncertainties on the order of 1 frame at 240fps (some of them should be washed out with increasing sample size, as well) so I'm not too concerned about them affecting a speculated difference of 12 frames at 240fps.
  16.  
  17. From a total of 23 button presses on N64 and 20 on VC, I have the mean (uncertainty from sample std. dev.) number of frames it takes an input to register as:
  18. N64 3.37 p/m 0.28
  19. VC 4.04 p/m 0.31
  20.  
  21. A variation of around a third of a frame is expected, since for each visual frame in game there are 3 input frames, and our input should be equally likely to register on any of them. I would need a larger sample size to be definitive, but given the existing results I feel okay concluding that VC adds input delay over N64.
  22.  
  23. As a bonus, here are my results for GCN:
  24. 3.53 p/m 0.28
  25. https://youtu.be/IPXoqpvnaNM
  26. which is in between VC and N64, again in agreement with zfg's data.
  27.  
  28. Here are results for the same type of test in MM:
  29. N64 2.92 p/m 0.24
  30. VC 2.98 p/m 0.26
  31.  
  32. MM N64 https://youtu.be/o5HfdfUFIz8
  33. MM VC https://youtu.be/v7jBAOqJkfw
  34.  
  35. This suggests that MM VC doesn't actually add input delay.
  36.  
  37. Raw # of frames @ 240fps for an input to register:
  38.  
  39. OoT N64
  40. 46
  41. 38
  42. 42
  43. 44
  44. 42
  45. 45
  46. 37
  47. 35
  48. 41
  49. 43
  50. 41
  51. 40
  52. 43
  53. 37
  54. 37
  55. 45
  56. 38
  57. 40
  58. 36
  59. 35
  60. 38
  61. 44
  62. 42
  63.  
  64. OoT VC
  65. 44
  66. 48
  67. 44
  68. 46
  69. 47
  70. 46
  71. 52
  72. 44
  73. 51
  74. 53
  75. 49
  76. 52
  77. 48
  78. 57
  79. 49
  80. 43
  81. 50
  82. 51
  83. 44
  84. 52
  85.  
  86. OoT GCN
  87. 44
  88. 44
  89. 42
  90. 43
  91. 47
  92. 42
  93. 43
  94. 37
  95. 41
  96. 39
  97. 39
  98. 47
  99. 44
  100. 51
  101. 42
  102. 43
  103. 40
  104. 38
  105. 39
  106. 43
  107.  
  108. MM N64
  109. 31
  110. 37
  111. 36
  112. 37
  113. 36
  114. 33
  115. 34
  116. 40
  117. 39
  118. 39
  119. 39
  120. 34
  121. 31
  122. 35
  123. 35
  124. 31
  125. 32
  126. 36
  127. 34
  128. 32
  129.  
  130. MM VC
  131. 37
  132. 35
  133. 32
  134. 34
  135. 34
  136. 31
  137. 36
  138. 38
  139. 39
  140. 41
  141. 33
  142. 38
  143. 37
  144. 40
  145. 40
  146. 31
  147. 35
  148. 32
  149. 34
  150. 37
  151.  
  152.  
  153. Edit 8/26/19
  154. Adding in WiiU data. This was taken on a WiiU set to composite output to a CRT, and inputs were performed on the gamepad. My video shows both the gamepad screen and my CRT, and I consistently found that the gamepad displayed an input 5 frames (@240fps) later than the CRT. So the gamepad adds about 21 ms or ~.4 frames of input delay.
  155.  
  156. OoT 5.04 p/m 0.36
  157. https://youtu.be/c7kNvUkQ-mo
  158. Raw data:
  159. 67
  160. 55
  161. 60
  162. 63
  163. 61
  164. 68
  165. 59
  166. 55
  167. 57
  168. 54
  169. 58
  170. 59
  171. 60
  172. 61
  173. 58
  174. 64
  175. 57
  176. 67
  177. 67
  178.  
  179. MM 4.38 p/m 0.31
  180. https://youtu.be/r9wi8cWInvQ
  181. Raw data:
  182. 55
  183. 55
  184. 54
  185. 51
  186. 50
  187. 58
  188. 57
  189. 55
  190. 52
  191. 59
  192. 51
  193. 49
  194. 48
  195. 58
  196. 50
  197. 48
  198. 47
  199. 51
  200. 48
  201. 55
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement