testaccel(6) Svgalib User Manual testaccel(6)NAMEtestaccel - test the old style blitter functions and vga_ext_set()SYNOPSIStestaccel [ -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 pro‐
gram 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 rectangles 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 supported 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_bit‐
blt(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/ subdirec‐
tory 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 distribution 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 mirrored by a site close to you.
SEE ALSOsvgalib(7), vgagl(7), libvga.config(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), testlin‐
ear(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 documentation.
Svgalib (>= 1.2.11) 29 July 1997 testaccel(6)