testaccel(6)           Svgalib User Manual           testaccel(6)

NAME
       testaccel  -  test  the  old  style  blitter functions and
       vga_ext_set()

SYNOPSIS
       testaccel [ -nowait ] [ { all | videomodes... } ]

DESCRIPTION
       Program to test the old  blitter  functions  in  a  screen
       mode.  Checks  the  8-bit  wide  color  lookup  tables  on
       Mach32's with type 2 DACs as well.  [I  think  '6bpp'  and
       '8bpp'  are  silly names for the 8-bit LUT thing -- bpp is
       bits per pixel, in the framebuffer - HH :-)]

       After each test it waits  for  a  key  press  except  when
       -nowait is given.

       You can specify names of modes to test on the command line
       or specify all to loop over all svgalib modes.

       The program will run on any card,  however,  most  of  the
       tests can only be performed on a Mach32.

       The subtest are in turn:

       1 -    For  each  256 color mode the program sees if it is
              possible to enable a special mode with 8  bits  per
              color  in  the RGB lookup table. If so, for example
              256 different shades of blue  can  be  implemented.
              The  program displays as much blue shades as possi-
              ble in a shade from dark (left) to  bright  (right)
              and  some  text  in an opposite direction on top of
              it. In case 56 different shades are supported,  the
              screen is divided and shows a rough 64 shades scale
              (ordinary vga) on top and the smooth  shade  below.
              Right now 256 different shades are only possible on
              a Mach32 with RAMDAC of type 2.  For modes with few
              pixels  only,  the  program might fail to print the
              text properly and will 'wrap' it around the  screen
              edges.

       2 -    Draws  a  bouncing  'linux'  logo  stopping after a
              fixed amount of 1 pixel steps.  Uses  vga_bitblt(3)
              on  the  image  plus  a one pixel outline in border
              color to move the pixel  around  the  screen.   The
              Mach32 is very fast in this discipline.

       3 -    Draws  filled  rectangles using vga_fillblt(3).  At
              first a series of larger to smaller centered  rect-
              angles  is  drawn  to  fill the screen.  For 256 or
              less color modes these will use a sequence  of  256
              random  colors. For 32K or more color modes it will
              use colors 0 up too, however, you'll  usually  just
              see  a  repeating  series  of blues (limitations of
              monitor/human eye, the blue's differ not enough for
              the  eye  to  see). Then a bunch of random boxes in
              random places is drawn overwriting each other.  The
              Mach32 is very fast in this discipline.

       4 -    Draws  small  fish  bitmaps  and  then larger linux
              logos in random  positions  using  vga_imageblt(3).
              They  just overlap each other The Mach32 is poor in
              this discipline. If you have a linear frame  buffer
              enabled,  it  is used instead to perform this func-
              tion (even if the program does  not  use  a  linear
              frame  buffer otherwise).  Usually this is twice as
              fast for Mach32.

       5 -    Use vga_hlinelistblt(3) o do  some  simple  polygon
              fills:  squares, circles, diamonds of random sizes,
              positions and colors. Again,  the  Mach32  is  very
              fast in this discipline, but somehow slowed down by
              the imperfect prototype of  this  function.  Again,
              the polygons just overlap each other.

              The  resp.  tests will only be performed where sup-
              ported by the hardware. For Mach32 this means  only
              SVGA  256,  32K, 64K color modes.  The linear frame
              buffer emulated vga_imageblt(3) works for all  SVGA
              modes though.

       The program prints the number of pixels drawn and the time
       required plus the resulting rate of pixels per second. For
       Mach32  the  rate depends on the amount of screen accesses
       (2 per pixel move for vga_bitblt(3), 1 per pixel move  for
       vga_fillblt(3)  and  vga_hlinelistblt(3); also twice bytes
       are affected for 32K, 64K color modes). On a non VRAM card
       you'll also note the effect of the memory access caused by
       the generation of the video frames  (more  colors/rez/sync
       rates => less speed).  Also, higher modes draw more pixels
       per call, thus less call and setup overhead.

       Here are the rates for my card on an almost idle 486  EISA
       system  which  should  be  fairly  optimal  (2MB VRAM EISA
       Mach32) except maybe  the  linear  frame  buffer  emulated
       imageblt which might be faster on PCI card:

       Testing mode 1: G320x200x16...
       Dacwidth test not applicable.
       Testing mode 2: G640x200x16...
       Dacwidth test not applicable.
       Testing mode 3: G640x350x16...
       Dacwidth test not applicable.
       Testing mode 4: G640x480x16...
       Dacwidth test not applicable.
       Testing mode 5: G320x200x256...
       Warning: Resolution too small, displayed text is
       probably scrambled.

       Has support for CLUT width 8 bit
       Testing mode 6: G320x240x256...
       Dacwidth test not applicable.
       Testing mode 7: G320x400x256...
       Dacwidth test not applicable.
       Testing mode 8: G360x480x256...
       Dacwidth test not applicable.
       Testing mode 9: G640x480x2...
       Dacwidth test not applicable.
       Testing mode 10: G640x480x256...
       Has support for CLUT width 8 bit
       Has  BitBlt:  176610000  Pixels  in  6.49 seconds -> 27.21
       Megapels
       Has FillBlt: 217884171 Pixels in  4.55  seconds  ->  47.89
       Megapels
       Has  ImageBlt:  17085000  Pixels  in  3.07 seconds -> 5.57
       Megapels
       Has HlineLst: 20192124 Pixels in  0.57  seconds  ->  35.42
       Megapels
       Testing mode 11: G800x600x256...
       Has support for CLUT width 8 bit
       Has  BitBlt:  176610000  Pixels  in  6.65 seconds -> 26.56
       Megapels
       Has FillBlt: 343102613 Pixels in  6.23  seconds  ->  55.07
       Megapels
       Has  ImageBlt:  17085000  Pixels  in  3.06 seconds -> 5.58
       Megapels
       Has HlineLst: 33166399 Pixels in  0.78  seconds  ->  42.52
       Megapels
       Testing mode 12: G1024x768x256...
       Has support for CLUT width 8 bit
       Has  BitBlt:  176610000  Pixels  in  6.88 seconds -> 25.67
       Megapels
       Has FillBlt: 603141286 Pixels in  9.78  seconds  ->  61.67
       Megapels
       Has  ImageBlt:  17085000  Pixels  in  3.07 seconds -> 5.57
       Megapels
       Has HlineLst: 52958845 Pixels in  1.08  seconds  ->  49.04
       Megapels
       Testing mode 13: G1280x1024x256...
       Has support for CLUT width 8 bit
       Has  BitBlt:  176610000  Pixels  in  7.10 seconds -> 24.87
       Megapels
       Has FillBlt: 1063820849 Pixels in 16.16 seconds  ->  65.83
       Megapels
       Has  ImageBlt:  17085000  Pixels  in  3.07 seconds -> 5.57
       Megapels
       Has HlineLst: 95798478 Pixels in  1.75  seconds  ->  54.74
       Megapels
       Testing mode 14: G320x200x32K...
       Dacwidth test not applicable.
       Has  BitBlt:  176610000  Pixels  in 12.30 seconds -> 14.36
       Megapels
       Has FillBlt: 41317334 Pixels  in  3.61  seconds  ->  11.45
       Megapels
       Has  ImageBlt:  17085000  Pixels  in  5.93 seconds -> 2.88
       Megapels
       Has HlineLst: 3411068 Pixels  in  0.23  seconds  ->  14.83
       Megapels
       Testing mode 15: G320x200x64K...
       Dacwidth test not applicable.
       Has  BitBlt:  176610000  Pixels  in 12.29 seconds -> 14.37
       Megapels
       Has FillBlt: 42351016 Pixels  in  4.12  seconds  ->  10.28
       Megapels
       Has  ImageBlt:  17085000  Pixels  in  5.93 seconds -> 2.88
       Megapels
       Has HlineLst: 3561694 Pixels  in  0.23  seconds  ->  15.49
       Megapels
       Testing mode 16: G320x200x16M...
       Dacwidth test not applicable.
       Has  ImageBlt:  17085000  Pixels  in  8.83 seconds -> 1.93
       Megapels
       Testing mode 17: G640x480x32K...
       Dacwidth test not applicable.
       Has BitBlt: 176610000 Pixels in  13.38  seconds  ->  13.20
       Megapels
       Has  FillBlt:  217723964  Pixels  in 7.95 seconds -> 27.39
       Megapels
       Has ImageBlt: 17085000 Pixels  in  5.94  seconds  ->  2.88
       Megapels
       Has  HlineLst:  19579110  Pixels  in 0.74 seconds -> 26.46
       Megapels
       Testing mode 18: G640x480x64K...
       Dacwidth test not applicable.
       Has BitBlt: 176610000 Pixels in  13.37  seconds  ->  13.21
       Megapels
       Has  FillBlt:  221608034  Pixels  in 8.28 seconds -> 26.76
       Megapels
       Has ImageBlt: 17085000 Pixels  in  5.93  seconds  ->  2.88
       Megapels
       Has  HlineLst:  21048202  Pixels  in 0.79 seconds -> 26.64
       Megapels
       Testing mode 19: G640x480x16M...
       Dacwidth test not applicable.
       Has ImageBlt: 17085000 Pixels  in  8.82  seconds  ->  1.94
       Megapels
       Testing mode 20: G800x600x32K...
       Dacwidth test not applicable.
       Has  BitBlt:  176610000  Pixels  in 13.97 seconds -> 12.64
       Megapels
       Has FillBlt: 357205415 Pixels in 12.22  seconds  ->  29.23
       Megapels
       Has  ImageBlt:  17085000  Pixels  in  5.92 seconds -> 2.89
       Megapels
       Has HlineLst: 34391335 Pixels in  1.16  seconds  ->  29.65
       Megapels
       Testing mode 21: G800x600x64K...
       Dacwidth test not applicable.
       Has  BitBlt:  176610000  Pixels  in 13.97 seconds -> 12.64
       Megapels
       Has FillBlt: 348943970 Pixels in 11.87  seconds  ->  29.40
       Megapels
       Has  ImageBlt:  17085000  Pixels  in  5.93 seconds -> 2.88
       Megapels
       Has HlineLst: 34510200 Pixels in  1.17  seconds  ->  29.50
       Megapels
       Testing mode 22: G800x600x16M...
       Dacwidth test not applicable.
       Has  ImageBlt:  17085000  Pixels  in  8.83 seconds -> 1.93
       Megapels
       Testing mode 23: G1024x768x32K...
       Dacwidth test not applicable.
       Has BitBlt: 176610000 Pixels in  14.60  seconds  ->  12.10
       Megapels
       Has  FillBlt:  608000981  Pixels in 18.62 seconds -> 32.65
       Megapels
       Has ImageBlt: 17085000 Pixels  in  5.93  seconds  ->  2.88
       Megapels
       Has  HlineLst:  53767429  Pixels  in 1.72 seconds -> 31.26
       Megapels
       Testing mode 24: G1024x768x64K...
       Dacwidth test not applicable.
       Has BitBlt: 176610000 Pixels in  14.60  seconds  ->  12.10
       Megapels
       Has  FillBlt:  601666798  Pixels in 18.80 seconds -> 32.00
       Megapels
       Has ImageBlt: 17085000 Pixels  in  5.92  seconds  ->  2.89
       Megapels
       Has  HlineLst:  52037798  Pixels  in 1.67 seconds -> 31.16
       Megapels
       Testing mode 32: G720x348x2...
       Dacwidth test not applicable.
       Testing mode 33: G320x200x16M32...
       Dacwidth test not applicable.
       Has ImageBlt: 17085000 Pixels in  11.60  seconds  ->  1.47
       Megapels
       Testing mode 34: G640x480x16M32...
       Dacwidth test not applicable.
       Has  ImageBlt:  17085000  Pixels  in 11.62 seconds -> 1.47
       Megapels
       Testing mode 35: G800x600x16M32...
       Dacwidth test not applicable.
       Has ImageBlt: 17085000 Pixels in  11.62  seconds  ->  1.47
       Megapels

       This  demo  is  part  of  svgalib  and can be found in the
       demos/ subdirectory of the original svgalib  distribution.
       However,  it  is  not  installed in the system by default,
       s.t. it is unclear where you can find it if  your  svgalib
       was  installed by some linux distribution. Even then, when
       you have the demo on your system, you probably won't  have
       the sources s.t. it is only of limited use for you.

       In case of any such problem, simply get an svgalib distri-
       bution from the net. You even don't need  to  install  it.
       Just  make  in  the demos/ subdirecty. As of this writing,
       svgalib-1.2.12.tar.gz is the latest  version  and  can  be
       retrieved     by     ftp     from    sunsite.unc.edu    at
       /pub/Linux/libs/graphics     and     tsx-11.mit.edu     at
       /pub/linux/sources/libs  which  will most probably be mir-
       rored by a site close to you.

SEE ALSO
       svgalib(7),  vgagl(7),  libvga(5),  vga_ext_set(3),
       vga_bitblt(3),     vga_fillblt(3),    vga_hlinelistblt(3),
       vga_imageblt.3    threed(6),     accel(6),     bg_test(6),
       eventtest(6),     forktest(6),     fun(6),     keytest(6),
       mousetest(6),   scrolltest(6),   speedtest(6),    spin(6),
       testgl(6),     testlinear(6),     vgatest(6),    plane(6),
       wrapdemo(6)

AUTHOR
       This manual page was edited by Michael Weller <eowmob@exp-
       math.uni-essen.de>. He also wrote thise demo and it's doc-
       umentation.

Svgalib (>= 1.2.11)        29 July 1997                         1