ELSA Support KnowledgeBase - Support Information
Dokument-Nr. 02.01.29.34   

Warum sind die OpenGL-Screensaver so langsam?

Die OpenGL-Screensaver sind aus folgendem Grund recht langsam:
Alle Screensaver mit einem umherspringenden animierten Objekt arbeiten wie folgt:

Zuerst wird ein leeres Fullscreen-Fenster als Hintergrund geoeffnet.
Darin wird in einem kleineren Fenster das OpenGL-Objekt bei jedem neuen Frame ueber den Schirm bewegt. Dadurch erhaelt man den Effekt des Springens, waehrend das OpenGL-Rendering nur in dem Bereich des kleinen Fensters errechnet wird.

Diese Methode ist optimal auf Microsofts Software OpenGL Implementation ausgerichtet, da die von OpenGL berechnete Zeichnung in einem Speicherbereich auf dem Host (CPU) erledigt wird, und die Menge der auf den Bildschirm zu uebertragenden Daten fuer den SwapBuffers-Aufruf minimiert wird.
Die ELSA GLoria-Grafikkarten arbeiten ganz anders: Alle Buffer (Farbe, Z, Stencil, Fastclear und GID; zusammen 48 bit pro Pixel) liegen im RAM der Grafikkarte und nicht im Hauptspeicher.
Wird nun hier ein OpenGL-Fenster bewegt, so muessen bei jedem Frame all diese zusaetzlichen Daten pro Pixel von einer Speicheradresse zur naechsten kopiert werden. In der Software-Implementation hingegen bleiben diese Daten immer an derselben Adresse liegen, da die Fenstergroesse nicht veraendert wird. Also muss der Grafikchip erheblich mehr Arbeit leisten, allein wegen der total anderen Implementation von OpenGL.
Bitte ueberpruefen Sie verschiedene Screensaver, die im Vollbild arbeiten, z.B. Pipes und "Sproingies" aus dem Web, der Unterschied wird deutlich sein!
Allerdings nutzen alle Screensaver "Timer messages", sie sind also keine Tools, um die OpenGL-Leistung zu messen.
Die Sourcen dieser Screensaver stehen in den Beispielen bei MSVC++5.0. Aber, wie Sie sehen, ist die Art der Programmierung unter Hardware-Beschleunigungs-Blickrichtung nicht zu empfehlen.

    Dokument-Kategorien

ProdukteELSA 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, ELSA WINNER 2000/Office-AGP, ELSA WINNER 2000/Office-PCI
BetriebssystemeWindows NT 4.0
Software