Move debug flags to config, various perf improvements

This commit is contained in:
2021-09-24 13:25:24 +01:00
parent 899cf6ef81
commit 7da1a8bc45
17 changed files with 112 additions and 265 deletions
+12 -10
View File
@@ -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