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