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