ELSA Support KnowledgeBase - Support Information
Document No. 000.000.064.218   

Why are the OpenGL screen savers so slow?

The reason for the slow OpenGL screen savers is the way they are programmed.
All screen savers which have an object bouncing around on the screen work like this:
First a big empty fullscreen window is opened as background. In there a smaller window containing the OpenGL drawing is MOVED each frame to get the bouncing effect while the OpenGL rendering is done in the area of this smaller window.
This is optimally designed for the Microsoft GDI Generic Software OpenGL implementation because the drawing is done in a memory bitmap on the host and the amount of data in memory to screen blit executed during the SwapBuffers() call is minimized.
The ELSA GLoria graphics boards work differently: The color, Z, stencil, fastclear, and GID buffers (all together 48 bits per pixel) are in the RAM on the board and not on the host.
Moving an OpenGL window means, all those additional data per pixel must be copied to another location in the DRAM each frame, whereas in the software implementation they keep lying on the same addresses all the time, because the window is never sized. So there is considerably more work to do for the graphics chip, just because of the completely different OpenGL implementation on our boards. Please check some screen savers, which animate in fullscreen and you will see the difference. (Check pipes and search for "sproingies" on the web for example ;-) )
However, all screen savers are using timer messages, so they are no tool to bench OpenGL performance.

(BTW, the sources of those screen savers can be found in the MSVC++ 5.0 samples, but as seen the programming method is not recommended from a hardware accelerated OpenGL point of view :-) )

    Document Categories

ProductsELSA ERAZOR II-AGP, ELSA ERAZOR II-PCI, ELSA GLoria-4, ELSA GLoria-8, ELSA GLoria-L, ELSA GLoria-L/MX, ELSA GLoria-M, ELSA GLoria-S, ELSA GLoria-XL, ELSA GLoria-XXL, ELSA GLoria Synergy-AGP, ELSA GLoria Synergy-PCI, ELSA VICTORY Erazor-AGP, ELSA VICTORY Erazor-PCI, ELSA VICTORY Erazor LT
Operating SystemsWindows NT 4.0
Software