>Some OpenGL software I have written for Windows NT renders faster in some cases on software only
>than with an OpenGL accelerator. For objects with a large number of polygons the accelerator is
>much faster, but for simple objects of fewer than 20 polygons, using software only renders these
>faster. The acceleration is so much slower that a 33 MHz 486 is just as fast. The machines I
>tested on were 200 MHz Pentium Pro's with either Intergraph or a Glint accelerator. I am trying to
>animate some simple objects by repeatedly rendering them. The rendering uses double buffering and I
>call SwapBuffer. I don't call glFinish, glFlush, or any delays. Each time I render I call
>glRasterPos3f, recompute the near and far clip, and call gluPerspective.
>--
>Software Consultant www.vianova.com/~vianova
>Via Nova OpenGL, Open Inventor products for Windows 95/NT
>Dallas, Texas
Zachary -
There are a lot of trade-offs with hardware acceleration that can cause hw to be slower than sw in some
cases, but the example you give doesn't fit any of the ones I'm aware of.
In general, we find that hardware that requires the CPU to do triangle setup will not run faster than
software if the triangles are only a few pixels in size. This cases, for example, SPEC viewperf benchmarks
to run w/o much speed up -- and in some cases actual slow-down -- with cards like the Millenium. Hardware
of this kind is much more effective with larger polygons, when the high fill-rate of the hardware dominates
the drawing time; for example, VRML viewing.
The Intergraph machines, however (as well as GLints with the Delta chip) do handle triangle setup on the
board, and I would expect them to outperform software in virtually all contexts. One thought: there may be
some setup time associated with using the hardware and/or it's associated driver, which is not being
amortized effectively over a display of only 20 polygons. Which OS and version are you using?
Steve Wright
OpenGL Program Manager
Microsoft Corporation