Advertisement
Delfigamer

Delta-time running average

Dec 28th, 2015
366
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.81 KB | None | 0 0
  1. Results: http://imgur.com/a/m9Tv7
  2. [ 15][ .\scripts\index-cmd\init.lua: @ 266] entered interactive mode
  3. [ 15]Interactive input. Call "exit()" to continue
  4. [ 16]
  5. [ 16]>> function gauss()
  6. [ 7993] function >> local x = 0
  7. [ 8742] function >> for i = 1, 16 do
  8. [ 9532] function | do >> x = x + math.random()
  9. [ 10712] function | do >> end
  10. [ 10712] function >> return (x - 8) / 4
  11. [ 10712] function >> end
  12. [ 10712] >> function lerp(a, b, wa, wb)
  13. [ 24429] function >> return (a * wa + b * wb) / (wa + wb)
  14. [ 41682] function >> end
  15. [ 44535]>> function frametime()
  16. [ 62414] function >> if math.random() < 0.1 then
  17. [ 75593] function | if >> return gauss() * 10 + 100
  18. [ 109930] function | if >> else
  19. [ 111429] function | if >> return gauss() * 2 + 20
  20. [ 118363] function | if >> end
  21. [ 122392] function >> end
  22. [ 123550]>> time_acc = 0
  23. [ 152000]>> function update(ft)
  24. [ 162633] function >> time_acc = ft
  25. [ 168302] function >> end
  26. [ 169181]>> require('img', _ENV)
  27. [ 201024]table: 0x005241c8
  28. [ 395579]>> function runtest(accfunc, filename)
  29. [ 398319] function >> local fm = fmat:spawn(200, 1000, 3)
  30. [ 398870] function >> for y = 999, 0, -1 do
  31. [ 401272] function | do >> local ft = frametime()
  32. [ 405077] function | do >> local aval = accfunc(ft)
  33. [ 417648] function | do >> local x = math.floor(aval)
  34. [ 431332] function | do >> for i = 0, x < 200 and x or 199 do
  35. [ 472999] function | do | do >> fm.data[y][i][0] = 1
  36. [ 523713] function | do | do >> fm.data[y][i][1] = 0
  37. [ 564106] function | do | do >> fm.data[y][i][2] = 0
  38. [ 566360] function | do | do >> end
  39. [ 567958] function | do >> for i = x >= 0 and x+1 or 0, 199 do
  40. [ 591111] function | do | do >> fm.data[y][i][0] = 1
  41. [ 595119] function | do | do >> fm.data[y][i][1] = 1
  42. [ 597522] function | do | do >> fm.data[y][i][2] = 1
  43. [ 600528] function | do | do >> end
  44. [ 602065] function | do >> if ft >= 0 and ft < 200 then
  45. [ 621790] function | do | if >> local x = math.floor(ft)
  46. [ 636714] function | do | if >> fm.data[y][x][0] = 0
  47. [ 647258] function | do | if >> fm.data[y][x][1] = 0
  48. [ 652011] function | do | if >> fm.data[y][x][2] = 0
  49. [ 653983] function | do | if >> end
  50. [ 656006] function | do >> end
  51. [ 668996] function >> export{filename, fm}
  52. [ 707303] function >> end
  53. [ 709714]>> function acc_immediate(ft)
  54. [ 732712] function >> return ft
  55. [ 736639] function >> end
  56. [ 737472]>> runtest(acc_immediate, 'acc_immediate.png')
  57. [ 760409]
  58. [ 760409]>> function acc_lerp(ft)
  59. [ 810445] function >> time_acc = lerp(time_acc, ft, 1, 1)
  60. [ 830930] function >> end
  61. [ 833288]>> runtest(acc_lerp, 'acc_lerp.png')
  62. [ 843593][string "function runtest(accfunc, filename)..."]:6: bad argument #1 to 'floor' (number expected, got nil)
  63. [ 843594]stack traceback:
  64. [ 843594] [C]: in function 'floor'
  65. [ 843594] [string "function runtest(accfunc, filename)..."]:6: in function 'runtest'
  66. [ 843594] [string "print(runtest(acc_lerp, 'acc_lerp.png'))"]:1: in main chunk
  67. [ 843594] [C]: in function 'pcall'
  68. [ 843594] .\scripts\index-cmd\init.lua:281: in function <.\scripts\index-cmd\init.lua:265>
  69. [ 843595] [C]: in function 'pcall'
  70. [ 843595] .\scripts\system\boot.lua:43: in main chunk
  71. [ 843595]>> function acc_lerp(ft)
  72. [ 853364] function >> time_acc = lerp(time_acc, ft, 1, 1)
  73. [ 854704] function >> return time_acc
  74. [ 859971] function >> end
  75. [ 860683]>> runtest(acc_lerp, 'acc_lerp.png')
  76. [ 863464]
  77. [ 863464]>> function acc_lerp(ft)
  78. [ 967367] function >> time_acc = lerp(time_acc, ft, 50, 1)
  79. [ 977870] function >> return time_acc
  80. [ 981987] function >> end
  81. [ 982857]>> runtest(acc_lerp, 'acc_lerp50.png')
  82. [ 986987]
  83. [ 986988]>> function acc_square(ft)
  84. [ 1047712] function >> local a = 0.5*ft
  85. [ 1061325] function >> time_acc = lerp(time_acc, ft, 1-a, a)
  86. [ 1081268] function >> end
  87. [ 1083695]>> runtest(acc_square, 'acc_square_0.5.png')
  88. [ 1101627][string "function runtest(accfunc, filename)..."]:6: bad argument #1 to 'floor' (number expected, got nil)
  89. [ 1101627]stack traceback:
  90. [ 1101627] [C]: in function 'floor'
  91. [ 1101627] [string "function runtest(accfunc, filename)..."]:6: in function 'runtest'
  92. [ 1101628] [string "print(runtest(acc_square, 'acc_square_0.5.png'))"]:1: in main chunk
  93. [ 1101629] [C]: in function 'pcall'
  94. [ 1101629] .\scripts\index-cmd\init.lua:281: in function <.\scripts\index-cmd\init.lua:265>
  95. [ 1101630] [C]: in function 'pcall'
  96. [ 1101630] .\scripts\system\boot.lua:43: in main chunk
  97. [ 1101631]>> function acc_square(ft)
  98. [ 1106668] function >> local a = 0.5*ft
  99. [ 1107259] function >> time_acc = lerp(time_acc, ft, 1-a, a)
  100. [ 1108145] function >> return time_acc
  101. [ 1111700] function >> end
  102. [ 1112608]>> runtest(acc_square, 'acc_square_0.5.png')
  103. [ 1116459]
  104. [ 1116460]>> function acc_square(ft)
  105. [ 1156238] function >> local a = 0.01*ft
  106. [ 1162289] function >> time_acc = lerp(time_acc, ft, 1-a, a)
  107. [ 1165269] function >> return time_acc
  108. [ 1166379] function >> end
  109. [ 1167207]>> runtest(acc_square, 'acc_square_0.01.png')
  110. [ 1171427]
  111. [ 1171428]>> function acc_square(ft)
  112. [ 1224123] function >> local a = 0.001*ft
  113. [ 1237238] function >> time_acc = lerp(time_acc, ft, 1-a, a)
  114. [ 1239605] function >> return time_acc
  115. [ 1240798] function >> end
  116. [ 1241562]>> runtest(acc_square, 'acc_square_0.001.png')
  117. [ 1244498]
  118. [ 1244498]>> function acc_exp(ft)
  119. [ 1283627] function >> time_acc = ft + (time_acc - ft)*math.exp(-0.1*ft)
  120. [ 1327042] function >> return time_acc
  121. [ 1330723] function >> end
  122. [ 1331768]>> runtest(acc_exp, 'acc_exp_0.1.png')
  123. [ 1350443]
  124. [ 1350443]>> time_acc = 0
  125. [ 1367843]>> runtest(acc_square, 'acc_square_0.001.png')
  126. [ 1372082]
  127. [ 1372082]>> time_acc = 0
  128. [ 1403843]>> runtest(acc_exp, 'acc_exp_0.1.png')
  129. [ 1406081]
  130. [ 1406082]>> function acc_exp(ft)
  131. [ 1446955] function >> time_acc = time_acc + (ft - time_acc)*math.exp(-0.1*ft)
  132. [ 1461688] function >> return time_acc
  133. [ 1465879] function >> end
  134. [ 1466440]>> time_acc = 0
  135. [ 1468291]>>
  136. [ 1468403]
  137. [ 1468404]>> runtest(acc_exp, 'acc_exp_0.1.png')
  138. [ 1471156]
  139. [ 1471156]>> function acc_exp(ft)
  140. [ 1516448] function >> time_acc = time_acc + (ft - time_acc)*math.exp(-0.01*ft)
  141. [ 1526901] function >> return time_acc
  142. [ 1530501] function >> end
  143. [ 1531019]>> time_acc = 0
  144. [ 1531579]>> runtest(acc_exp, 'acc_exp_0.01.png')
  145. [ 1535224]
  146. [ 1535224]>> function acc_exp(ft)
  147. [ 1558146] function >> time_acc = ft + (time_acc - ft)*math.exp(-0.01*ft)
  148. [ 1561575] function >> return time_acc
  149. [ 1567102] function >> end
  150. [ 1567912]>> time_acc = 0
  151. [ 1569031]>> runtest(acc_exp, 'acc_expi_0.01.png')
  152. [ 1576103]
  153. [ 1576104]>> function acc_expd(ft)
  154. [ 1610898] function >> d = time_acc - ft
  155. [ 1636562] function >> time_acc = ft + d*math.exp(-0.1*d)
  156. [ 1653326] function >> return time_acc
  157. [ 1656381] function >> end
  158. [ 1656997]>> time_acc = 0
  159. [ 1662689]>> runtest(acc_expd, 'acc_expd_0.1.png')
  160. [ 1669296]
  161. [ 1669296]>> function acc_expd(ft)
  162. [ 1691308] function >> local d = time_acc - ft
  163. [ 1703818] function >> time_acc = ft + d*math.exp(-0.1*math.abs(d))
  164. [ 1716577] function >> return time_acc
  165. [ 1719890] function >> end
  166. [ 1720769]>> time_acc = 0
  167. [ 1725360]>> runtest(acc_expd, 'acc_expd_0.1.png')
  168. [ 1728982]
  169. [ 1728983]>> function acc_expd(ft)
  170. [ 1770496] function >> d = time_acc - ft
  171. [ 1772085] function >> time_acc = ft + d*math.exp(-1*d)
  172. [ 1775850] function >> return time_acc
  173. [ 1779841] function >> end
  174. [ 1780394]>> time_acc = 0
  175. [ 1780903]>> runtest(acc_expd, 'acc_expd_1.png')
  176. [ 1783831]
  177. [ 1783832]>> function acc_expd(ft)
  178. [ 1801881] function >> d = time_acc - ft
  179. [ 1802734] function >> time_acc = ft + d*math.exp(-1*math.abs(d))
  180. [ 1807868] function >> return time_acc
  181. [ 1812253] function >> end
  182. [ 1812884]>> time_acc = 0
  183. [ 1813726]>> runtest(acc_expd, 'acc_expd_1.png')
  184. [ 1815251]
  185. [ 1815251]>> function acc_expd(ft)
  186. [ 1876129] function >> d = time_acc - ft
  187. [ 1876963] function >> time_acc = ft + d*math.exp(-10*math.abs(d))
  188. [ 1886973] function >> return time_acc
  189. [ 1889907] function >> end
  190. [ 1890157]>> time_acc = 0
  191. [ 1890479]>> runtest(acc_expd, 'acc_expd_10.png')
  192. [ 1893348]
  193. [ 1893349]>> function acc_expd(ft)
  194. [ 1911882] function >> d = time_acc - ft
  195. [ 1913507] function >> time_acc = ft + d*math.exp(-0.01*math.abs(d))
  196. [ 1923628] function >> return time_acc
  197. [ 1926782] function >> end
  198. [ 1927346]>> time_acc = 0
  199. [ 1928173]>> runtest(acc_expd, 'acc_expd_0.01.png')
  200. [ 1932206]
  201. [ 1932206]>> exit()
  202. [ 2099953]
  203. [ 2099953][ .\scripts\index-cmd\init.lua: @ 297] exited from interactive mode
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement