prepareLoop :: App -> IO (Double, Handle)
prepareLoop app = do
  --  appRender app
  screenRefresh (appSurface app)
  cTime <- getCPUTimeDouble
  handle <- updateHandle $ appHandle app
  return (cTime, handle)
prepareLoop :: App -> IO (Double, Handle)
prepareLoop app = do
  --  appRender app
  screenRefresh (appSurface app)
  cTime <- getCPUTimeDouble
  handle <- updateHandle $ appHandle app
  return (cTime, handle)
prepareLoop app = do
  --  appRender app
  screenRefresh (appSurface app)
  cTime <- getCPUTimeDouble
  handle <- updateHandle $ appHandle app
  return (cTime, handle)