on 4877aaa help sign in
vty/test/BenchNoDiffOpt.hs
39 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.Default (def)
13import Data.List
15import System.Environment( getArgs )
16import System.IO
17import System.Random
19bench0 = do
20 let fixedGen = mkStdGen 0
21 setStdGen fixedGen
22 vty <- mkVty def
23 (w,h) <- displayBounds $ outputIface vty
24 let images = return $ (image0, image1)
25 image0 = charFill defAttr 'X' w h
26 image1 = charFill defAttr '0' w h
27 bench d = do
28 flipOut vty 300 image0 image1
29 shutdown vty
30 return $ Bench images bench
32flipOut vty n image0 image1 =
33 let !pLeft = picForImage image0
34 !pRight = picForImage image1
35 wLeft 0 = return ()
36 wLeft n = update vty pLeft >> wRight (n-1)
37 wRight 0 = return ()
38 wRight n = update vty pRight >> wLeft (n-1)
39 in wLeft n