on simplify-attr help sign in
vty/test/BenchNoDiffOpt.hs
38 lines 1.0 kB history raw
1{-# LANGUAGE BangPatterns #-}
2module BenchNoDiffOpt where
4{-# LANGUAGE BangPatterns #-}
5import Graphics.Vty
6import Verify
8import Control.Concurrent( threadDelay )
9import Control.Monad( liftM2 )
11import qualified Data.ByteString.Char8 as B
12import Data.List
14import System.Environment( getArgs )
15import System.IO
16import System.Random
18bench0 = do
19 let fixedGen = mkStdGen 0
20 setStdGen fixedGen
21 vty <- mkVty defaultConfig
22 (w,h) <- displayBounds $ outputIface vty
23 let images = return $ (image0, image1)
24 image0 = charFill defAttr 'X' w h
25 image1 = charFill defAttr '0' w h
26 bench d = do
27 flipOut vty 300 image0 image1
28 shutdown vty
29 return $ Bench images bench
31flipOut vty n image0 image1 =
32 let !pLeft = picForImage image0
33 !pRight = picForImage image1
34 wLeft 0 = return ()
35 wLeft n = update vty pLeft >> wRight (n-1)
36 wRight 0 = return ()
37 wRight n = update vty pRight >> wLeft (n-1)
38 in wLeft n