Advertisement
lvs

FPS meter

lvs
Aug 30th, 2011
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.20 KB | None | 0 0
  1. local _M = {}
  2.  
  3. local mFloor = math.floor
  4. local sGetInfo = system.getInfo
  5. local sGetTimer = system.getTimer
  6.  
  7. local prevTime = 0
  8. _M.added = true
  9. local function createText()
  10.     local memory = display.newText('000.000 00.00 00',10,0, 'Helvetica', 10);
  11.     memory:setReferencePoint(display.CenterLeftReferencePoint)
  12.     memory.x, memory.y = 200,  200
  13.     function memory:tap ()
  14.         collectgarbage('collect')
  15.         if _M.added then
  16.             Runtime:removeEventListener('enterFrame', _M.labelUpdater)
  17.             _M.added = false
  18.         else
  19.             Runtime:addEventListener('enterFrame', _M.labelUpdater)
  20.             _M.added = true
  21.         end
  22.     end
  23.     memory:addEventListener('tap', memory)
  24.     return memory
  25. end
  26.  
  27. function _M.labelUpdater(event)
  28.     local curTime = sGetTimer()
  29.     _M.text.text = tostring(mFloor( 1000 / (curTime - prevTime))) .. ' ' ..
  30.             tostring(mFloor(sGetInfo('textureMemoryUsed') * 0.0001) * 0.01) .. ' ' ..
  31.             tostring(mFloor(collectgarbage('count')))
  32.     _M.text:toFront()
  33.     prevTime = curTime
  34. end
  35.  
  36. function _M:NewFPSMeter()
  37.     self.text = createText(self)
  38.     Runtime:addEventListener('enterFrame', _M.labelUpdater)
  39. end
  40.  
  41. return _M
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement