on bb1b410 help sign in
vty/test/BenchNoDiffOpt.hs
39 lines 1.1 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
19bench_0 = do
20 let fixed_gen = mkStdGen 0
21 setStdGen fixed_gen
22 vty <- mkVty def
23 (w,h) <- display_bounds $ output_iface vty
24 let images = return $ (image_0, image_1)
25 image_0 = char_fill def_attr 'X' w h
26 image_1 = char_fill def_attr '0' w h
27 bench d = do
28 flip_out vty 300 image_0 image_1
29 shutdown vty
30 return $ Bench images bench
32flip_out vty n image_0 image_1 =
33 let !p_left = pic_for_image image_0
34 !p_right = pic_for_image image_1
35 w_left 0 = return ()
36 w_left n = update vty p_left >> w_right (n-1)
37 w_right 0 = return ()
38 w_right n = update vty p_right >> w_left (n-1)
39 in w_left n