Move debug flags to config, various perf improvements
This commit is contained in:
+12
-10
@@ -11,7 +11,6 @@ import Dodge.Config.KeyConfig
|
||||
import Dodge.Config.Load
|
||||
import Dodge.Config.Update
|
||||
import Dodge.SoundLogic.LoadSound
|
||||
import Dodge.Debug.Flag.Data
|
||||
import Picture
|
||||
import Render
|
||||
import Preload.Render
|
||||
@@ -33,11 +32,13 @@ import qualified SDL
|
||||
import qualified SDL.Mixer as Mix
|
||||
--import qualified Control.Monad.Parallel as MP
|
||||
import Control.Parallel
|
||||
import qualified Data.Map.Strict as M
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
(sizex,sizey) <- loadConfig
|
||||
setupLoop'
|
||||
setupLoop
|
||||
20
|
||||
(sizex,sizey)
|
||||
theCleanup
|
||||
(firstWorldLoad (sizex,sizey))
|
||||
@@ -68,21 +69,22 @@ updateRenderSplit w = do
|
||||
doSideEffects :: World -> IO World
|
||||
doSideEffects w = do
|
||||
let preData = _preloadData w
|
||||
newPlayingSounds <- playSoundAndUpdate (_soundData preData) (_playingSounds w) (_sounds w)
|
||||
newPlayingSounds <- playSoundAndUpdate (_soundData preData) (_playingSounds w) (_toPlaySounds w)
|
||||
w' <- _sideEffects w w
|
||||
|
||||
endTicks <- SDL.ticks
|
||||
let lastFrameTicks = _frameTimer preData
|
||||
|
||||
when (_displaySecondsPerFrame $ _debugFlags w) $ void $ renderFoldable
|
||||
(_pictureShaders $ _renderData preData)
|
||||
(setDepth (-1)
|
||||
. translate (-0.5) (-0.8) . scale 0.0005 0.0005
|
||||
. text $ "ms/frame " ++ show (endTicks - lastFrameTicks)
|
||||
)
|
||||
when (_debug_seconds_frame $ _config w) $ void $ renderFoldable
|
||||
(_pictureShaders $ _renderData preData)
|
||||
(setDepth (-1)
|
||||
. translate (-0.5) (-0.8) . scale 0.0005 0.0005
|
||||
. text $ "ms/frame " ++ show (endTicks - lastFrameTicks)
|
||||
)
|
||||
return $ w' & preloadData . frameTimer .~ endTicks
|
||||
& playingSounds .~ newPlayingSounds
|
||||
& sideEffects .~ return
|
||||
& toPlaySounds .~ M.empty
|
||||
& sideEffects .~ return
|
||||
|
||||
doPreload :: IO PreloadData
|
||||
doPreload = do
|
||||
|
||||
Reference in New Issue
Block a user