Document: VideoDOS.txt
File Group: Classic Benchmarks
Creation Date: 19 December 1997
Revision Date: 22 January 1998
Title: DOS Video Function Timing Test
Keywords: BENCHMARK PERFORMANCE VIDEO GRAPHIC
Abstract: VIDEODOS measures performance of Watcom compiler
DOS graphics functions, results being in terms of
millions of pixels per second. A main purpose is
to provide a video test that can be used for burn-in
purposes in a DOS based test sequence, complementing
other programs in the Library.
Note: The program is still under test and should be treated
as beta test software. Please submit feedback directly
to Roy, or as a posting in Section 12 message board.
WARNING The program produces flashing repetitive patterns
which, theoretically, could cause ill effects,
probably dependent on the repetition frequency
produced by a particular video configuration. Do
not sit too close and stare at the screen.
The program is intended for use in a DOS only
environment. On running via Windows NT 4.0 it
locked out the video system, necessitating a re-
boot. However, limited tests show that it can run
via Windows 95 and in an OS/2 Warp 3 DOS window.
USE AT YOUR OWN RISK
Contributor: Roy_Longbottom@compuserve.com (101323,2241)
Changes Jan 1998 version 1.1 - extra parameter added to
enable running at 256 or 16 colours only.
DOS VIDEO FUNCTIONS TIMING TESTS
1. INTRODUCTION
VIDEODOS measures performance of various DOS graphics functions
provided in the Watcom 11 C/C++ compiler. It should normally be run
in a DOS only environment. In the default mode it carries out six 10
second tests at a screen resolution of 640 x 480 at 16 and 256
colours. Run time parameters are available for test duration, number
of passes of the whole program, resolutions of 800 x 600 and 1024
x 768 and 256 and/or 16 colours.
A main purpose is to provide a video test that can be used for burn-in
purposes in a DOS based test sequence, complementing other programs in
the Library. The program can be run without intervention with results
being saved in the default log file VIDEOLOG.TXT. Parameters are
available for a user defined log file and to pause for keyboard input at
the end of a test with a particular screen resolution.
The program has been tested on five PCs with different video cards via
DOS 6.2 boots with no additional video drivers or set up programs. All
cards had at least 1 MB RAM (768K required). All tests ran successfully.
However, one monitor had to be temporarily replaced as the pictures
broke up at 800 x 600 and 1024 x 768. This monitor is normally used at
800 x 600 via Windows 95 but will not work at 1024 x 768.
Parameters can be included in a command, executed from a DOS prompt or
via a BAT file. VIDEODOS requires DOS4GW.EXE the protected run-time
program.
2. PROGRAM DESCRIPTION
The program displays some introductory messages with a delay of 20
seconds then creates seven framed boxes on the screen for messages
and tests. Using run time parameter E 0, the starting delay and all
other pauses are disabled. The graphics function used and results in
millions of pixels per second (represented by m) are display under
the test box.
Box 1 - screen resolution and number of colours are displayed.
Box 2 - a multicoloured pattern produced with increasing sized
characters is moved from side to side using the putimage
function. The following code is used with the pattern
being captured to character string rect1 using getimage.
count[0] = 0;
timea = dtime();
do
{
for (j=0; j 500) m = 0;
}
}
}
timeit[3] = dtime()-timea;
count[3] = count[3] + param[3];
}
while (timeit[3] < (double)looptime);
Box 6 - This test draws horizontal and vertical lines of decreasing
length and different colours using the moveto and lineto
functions.
timea = dtime();
do
{
for (j=0; j 15) m = 1;
for (i=0; i < 9; i++)
{
_lineto(x4+x3, y4);
_lineto(x4+x3, y4+y3);
_lineto(x4, y4+y3);
_lineto(x4, y4+i2);
pixels[4] = pixels[4] + (double)(2 * x3)
+ (double)(2 * y3 - i2);
x3 = x3 - i1;
y3 = y3 - i1;
x4 = x4 + i2;
y4 = y4 + i2;
}
}
timeit[4] = dtime()-timea;
}
while (timeit[4] < (double)looptime);
Box 7 - This is used to display general messages and all colours
(well most) available. Finally, the pattern, or middle
section, is moved across the screen using getimage and
putimage.
count[5] = 0;
timea = dtime();
do
{
for (j=0; j