Exceed 3D
Exceed 3D

OpenGL: Treibereinstellungen

OpentGL-Tests und -Analyse mit Exceed 3D


"Vulcan Gunner"Exceed 3D installiert auf Wunsch eine Reihe kleiner X-Clients, die verschiedene OpenGL-Features nutzen bzw. demonstrieren.
Abgesehen von der Frage, ob OpenGL überhaupt über Exceed 3D zur Verfügung steht, können mit diesen Progrämmchen die korrkete Darstellung einiger OpenGL-Features (Beleuchtung/Schattierung, Animation etc.) testen.

Die Abb. links zeigt als Beispiel den Vulcan Gunner. Er erscheint zunächst als Drahtmodell ("Wireframe"). Drücken einer Maustaste öffnet das Steuerungsmenü, wo mit "Toggle Wireframe" der Shaded Mode eingeschaltet (und wieder abgeschaltet) wird.
Mit den Cursor-Tasten wird die Ansicht in beleibige Richtung verschoben; weitere Aktionen findet man unter "How do I ...".
Um zu sehen, ob die OpenGL-Performance brauchbar ist, maximiere man das Vulcan Gunner-Fenster und klicke "Start Walk" - nur im Shaded Mode sinnvoll, da sonst rasend schnell.

Ein angenehmeres Bild liefert das Beispielprogramm Atlantis, das gerade als maximiertes wie ein froßes Aquarium erscheint und so ebenfalls gewisse Ansprüche an die OpenGL-Performance stellt.
Exceed 3D - Zoomdino
Das rechts abgebildete Zoomdino zeigt schnell, ob das seltene Feature OpenGL-Overlay zur Verfügung steht. Ein Drücken der rechten Maustaste bringt das Steuerungsmenü zum Vorschein, wo die beiden Lichtquellen, die das Dinomodellchen ausleutchen einzeln ein- und ausgeschaltet werden können.
Erscheint hierunter eine "Help"-Zeile, so funktioniert auch OpenGL-Overlay und der Dinosaurier lässt sich zoomen.

Objektive Werte zur OpenGL-Performance liefert das Tool glxgears, das auf den meiseten Linux- und UNIX-Varianten mit OpenGL-Unterstützung vorhanden ist:

glxgears  glxgears

Vgl. auch die Seite zu  OpenGL im 1. Teil dieser Einführung.
OpenGL-Features
Es empfiehlt sich, in einem Xterm glxgears -info aufzurufen. Bevor das Fenster aufgeht, spuckt glxgears Informationen über zur Verfügung stehende GLX-Features aus, z.B.
GL_MAX_VIEWPORT_DIMS=4096/4096
GL_RENDERER   = MOBILITY RADEON X300 x86/SSE2
GL_VERSION    = 1.4 (1.5.4650 WinXP Release)
GL_VENDOR     = ATI Technologies Inc.
GL_EXTENSIONS = GL_ARB_depth_texture GL_ARB_multitexture
GL_ARB_point_parameters GL_ARB_shadow GL_ARB_shadow_ambient
GL_ARB_texture_border_clamp GL_ARB_texture_compression
GL_ARB_texture_cube_map GL_ARB_texture_env_add
GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar
GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat
GL_ARB_transpose_matrix GL_ARB_window_pos GL_EXT_abgr
GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_subtract
GL_EXT_draw_range_elements GL_EXT_multi_draw_arrays
GL_EXT_packed_pixels GL_EXT_point_parameters GL_EXT_rescale_normal
GL_EXT_texture3D GL_EXT_texture_edge_clamp GL_EXT_texture_env_add
GL_EXT_texture_filter_anisotropic GL_EXT_texture_object
GL_EXT_vertex_array GL_IBM_texture_mirrored_repeat GL_SGI_color_matrix
GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp
GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SGIX_shadow_ambient
GL_SUN_multi_draw_arrays

OpenGL-Performance
Dies ist schon recht aufschlussreich. Man sieht, dass die OpenGL-Features der Grafikkarte (ATI Mobility Radeon X300) genutzt wird, die GLX-Version 1.4 bietet.
Daruafhin startet das Fenster mit den Zahnräder. Man sollte ein paar Minuten warten, um Performance-Werte zu erhalten:
32507 frames in 24.6 seconds = 1319.669 FPS
32507 frames in 24.2 seconds = 1342.048 FPS
32507 frames in 23.9 seconds = 1357.560 FPS
32507 frames in 24.4 seconds = 1330.184 FPS
Der Mittelwert FPS-Werte (= Frames per Second) ergibt ein Orientierungsmaß für die rudimentäre OpenGL-Performance.

XGLinfo

Detailliertere Auskunft über OpenGL-Features liefert auf Linux das Kommando glxinfo (noch detailierter glxinfo -v ), doch hier soll wieder von einem Exceed3D-Tool die Rede sein.
XGLinfo ist im Lieferumfang von Exceed3D enthalten und gibt Informationen über die zur Verfügung stehenden OpenGL-Features in die Lokale X-Konsole aus. Es empfiehlt sich, während dessen ein anderes Exceed3D-Beispielprogramm laufen zu lassen, da sich sonst Exceed - je nach Konfiguration - gleich nach der Ausführung von XGLinfo (also nach Sekundenbruchteilen) beendet, und damit auch die Lokale X-Konsole verschwindet. Das Ergebnis sieht z.B. folgendermaßen aus:
Exceed3d: XGLinfo

Nach einigen allgemeinen X11-Eigenschaften folgen GLX-spezifische Angaben. Oben sieht man die GLX-Version, die hier mit 1.4 auf dem neuesten Stand ist. Dann gibt XGLinfo für jeden Screen (normalerweise gibt es nur den Screen 0) zur Verfügung stehende GLX-Extensions und -Visuals aus. Der rot umrandete Bereich unten zeigt wiederum, dass die OpenGL-Features der ATI-Grafikkarte zur Geltung kommen.
Des weiteren listet XGLinfo eine meist größere Anzahl von GLX-Visuals aus. Das sind im wesentlichen Farbmodelle mit Pufferinformationen. OpenGl-Applikationen können aus dieser Liste das passende Visual auswählen.
Sowohl die Farbtiefe, mit der der X-Server läuft, als auch die Fähigkeiten der Grafikkarte beeinflussen die Anzahl und Qualität der GLX-Visuals.

Der gesamte Output von XGLinfo lässt sich mit der Lokalen X-Konsole in einen Textdatei abspreichern. Mit Tools wie diff / windiff lassen sich die Fähigkeiten verschiedener Grafikkarten anhand solcher Textdateien gut vergleichen. Dies ist gerade zu Support-Zwecken sehr nützlich.

Mit der entwprechenden Einstellung schreibt Exceed auch in die Datei exceed.log detaillierte OpenGL-Informationen; wie und wo steht im Kapitel Logging.
Exceed 3D
     ©2005, 2007 Andreas Gottwald
OpenGL: Treibereinstellungen