[comp.windows.ms.programmer] 256-color drivers are NOT always slower than 16-color drivers

strobl@gmdzi.gmd.de (Wolfgang Strobl) (11/01/90)

As far as I know, the cheap SVGA cards run the 16 color
modes with 8 bit wide video ram access, even if they are
16 bit cards and sit in a 16 bit slot. For the 256 color modes,
this changes, these modes allow real 16 bit access.

Because of this, I don't see why there should be much speed
difference between 16 color and 256 color drivers of identical
resolution. I did a little bit of research to check this out.

First I compared the raw speed of the two modes 640*480*16
and 640*480*256 using John Bridges VIDSPEED utility. This confirmed
that the memory access in the 256 color mode is twice as fast than
in the 16 color mode (on my card, of course).

Then I used Charles Petzold's DispInfo benchmark (ver 1.2, 1986)
to compare the speed of two 640*480 drivers, one 16 color, the
other with 256 colors. The results are quite interesting and
confirm Bert Tyler's observation.

For simple operations, the 256 color driver seems to be a little
bit faster than the 16 color driver! I have no theory why there
is such a big difference in the speed of the "rectangles" and
"fill" operation. Both are different from the three other
operations in that in the actual benchmark they paint a big
part of the window ("reactangles") or the whole window ("fill"),
while "BitBlt" and "scroll" move or paint small rectangles of
fixed size, and the "lines" touch few pixels, in comparison with
the other operations.

Wolfgang Strobl
#include <std.disclaimer.hpp>

PS: does anybody know whether there is a newer version of Petzolds
benchmark - the version I have is a bit old.

----------------------------------------------------------------
The results.

Environment

   Noname 386/25 cache, 8MB

   Optima 1024A Plus (Tseng ET3000 based 16 bit card)

----------------------------------------------------------------
Result of checking the raw output speed in both the 16 color and
the 256 color mode.

                char/sec ratio

  16 colors       652     1.0
 256 colors      1248     1.9

----------------------------------------------------------------
Result of Petzolds benchmark, test window enlarged to fullscreen,
Windows running in enhanced mode:

1. standard Windows 3.0 640*480*16  vga driver
2. Orchid Prodesigner   640*480*256 from win30prod.zip (cica)


                lines  BitBlt  scroll  rectangles   fill

 16 colors       3.2     8.0    8.6    14.8         68.0
 256 colors      3.5     5.9    9.6    34.0        229.0


(all times in ms per operation)


lines:  drawing random lines of random length into the window
BitBlt: painting a small rectangle of fixed size (50 pixel?)
        to random locations on the screen
scroll: moving the same small rectangle one pixel down or to
        the right
rectangles:
        painting rectangles of random sizes and random colors
fill:
        filling the whole window with one color.
----------------------------------------------------------------

rommel@lan.informatik.tu-muenchen.dbp.de (Kai-Uwe Rommel) (11/07/90)

In article <3537@gmdzi.gmd.de> strobl@gmdzi.gmd.de (Wolfgang Strobl) writes:
>As far as I know, the cheap SVGA cards run the 16 color
>modes with 8 bit wide video ram access, even if they are
>16 bit cards and sit in a 16 bit slot. For the 256 color modes,
>this changes, these modes allow real 16 bit access.
>
>Because of this, I don't see why there should be much speed
>difference between 16 color and 256 color drivers of identical
>resolution. I did a little bit of research to check this out.
>
>
>Environment
>
>   Noname 386/25 cache, 8MB
>
>   Optima 1024A Plus (Tseng ET3000 based 16 bit card)

It may be that on the Optima VGA, 256 color mode is not much slower than
the 16 color mode because the 16 color modes of this card are *REALLY*
slow. A friend of mine had such an Optima VGA plugged into the same
board as I am using with a Paradise VGA-1024. The Optima card was that
slow that he returned the card to the dealer and got his money back.
For example, the Optima VGA was in 800x600x16 mode MUCH slower than my
Paradise VGA in 1024x768x16 mode. In same modes, it was a factor of
about 3 in speed. Therefore, when I assume that the 256 color modes are
not that different, you don't see so much difference. On my Paradise
card, the 256 color mode is indeed so slow in Windows (compared to the
800x600x16 mode) that I use it only for WinGIF.

Kai Uwe Rommel

--
/* Kai Uwe Rommel
 * Munich
 * rommel@lan.informatik.tu-muenchen.dbp.de
 */