Luna: Windows XP noch bunter

28.02.2001 von Mike Hartmann
Luna, so heißt die neue grafische Benutzeroberfläche von Windows XP. Sie ist nicht nur bunter, sondern soll auch neue Features bieten. Doch wie viel Performance kostet das und was müssen Programmierer leisten?

Kurz nach der Build 2416 von Windows XP erschien unter der Nummer 2428 eine neue Betaversion. Konzeptionell und funktionell bietet sie nicht viel Neues.

Lediglich die unter der Bezeichnung Luna geführte GUI ist nun komplett integriert. Mit Luna will Microsoft vermutlich der neuen Aqua-Oberfläche von MacOS X Konkurrenz machen. Bunte Schaltflächen und Icons mit Echtfarbdarstellung und Alpha-Kanal-Unterstützung sorgen für ein komplett neues Feeling. Stellenweise sogar für echte Erleichterung: Beispielsweise sind die Schaltflächen zum Schließen eines Fensters jetzt in Rot gehalten, damit man nicht versehentlich daraufklickt.

Allerdings wird Luna nicht die einzige Oberfläche für Windows XP sein, denn auch das neue Windows bietet die so genannten Themen an und Luna ist nur eines davon. Derzeit ist es jedoch das einzig verfügbare neben dem Classic-Interface, das die GUI von Windows 2000 abbildet.

Themen und Elemente

Bereits seit Windows 95 mit seinem Pluspack sind Themenpacks bekannt. Doch dort beschränkten sich die Einstellungsmöglichkeiten auf Hintergrund-Bitmaps, Icons, Schriftarten, Farben und Klänge. Die Dialogboxen in Einheitsfarbe - meist grau - und 3D-Effekte durch versetzte hellere Elemente dagegen sind seitdem gleich geblieben.

Programmierer, die eine komplett andere Benutzeroberfläche für Ihre Software erschaffen wollten, mussten sich um alles selbst kümmern. Gerade unter Visual Basic führten die so genannten Ownerdrawn-Controls regelmäßig zu Herzrhytmusstörungen beim Debuggen. Und dann passt die Oberfläche der Anwendung nicht zur Optik des Betriebssystems, da der Programmierer keine Möglichkeit hat, das Thema per API abzufragen.

Dennoch haben sich inzwischen eine ganze Reihe von Programmieren dazu entschlossen, ihre Anwendung über so genannte Skins aufzupeppen. Mittels dieser Skins lässt sich die Optik eines Programms beinahe beliebig verändern.

Das Themenmodell von Windows XP geht ein paar Schritte weiter. Über eine spezielle Programmierschnittstelle kann sich ein Thema in das Betriebssystem einklinken und beispielsweise Roll-over-Effekte wie bei Schaltflächen oder Tabulatoren erzeugen.

Programmiermodell

Bei bisherigen Windows-Versionen waren zwei verschiedene Komponenten für die Darstellung von Fenstern und Benutzerkontrollen zuständig. Die DLL namens User32 erzeugt die standardmäßigen Bestandteile wie Titelleiste, Ränder oder Menüs. Diese DLL ist tief ins Betriebssystem eingebettet und ist daher abhängig von der Version des Betriebssystems.

Komponenten wie Schaltflächen, Dialogboxen oder Tab-Controls fallen in den bereich der Common Controls (ComCtl32.dll). Diese werden häufig zusammen mit Applikationen ausgeliefert, weil viele Applikation eine spezielle Version der ComCtl32 benötigen. Die Folge ist, dass mit der Installation einer neuen Anwendung manche ältere Anwendungen nicht funktionieren, da die alten Common Controls nicht mehr vorhanden sind. Windows 2000 und Windows Me verwenden beispielsweise die Version 5 der ComCtl32.

Um das neue Themenmodell zu implementieren, bringt Windows XP die Version 6 der Common Controls mit. Sie kommuniziert über uxtheme.dll mit dem Themenmanager. Allerdings will Microsoft kein Developerkit zur Programmierung eigener Themen auf den Markt bringen. Die Begründung, dass man Probleme verhindern will, wird jedoch Systemprogrammierer nicht davon abhalten, dennoch eigene Themen zu erstellen.

Kompatibilität

Mit der neuen Version der Common Controls haben Programmierer zunächst ein schwer wiegendes Problem zu lösen: Die Version 6 der Common Controls ist nicht kompatibel zu Version 5. Und Version 6 wird laut Microsoft nur auf Windows XP laufen und nicht als Update für Windows Me/2000 bereitstehen. Damit alte Applikationen auch weiterhin unter Windows XP laufen, ist zusätzlich die Version 5 der ComCtl32.dll in Windows XP enthalten. Dementsprechend haben Programmierer die Wahl:

Dass diese Entscheidung nicht immer ganz einfach ist, zeigt der Release Candidate von Office XP. Die Programmierer haben scheinbar auf die Implementation von Themen verzichtet. Zumindest lässt sich kein optischer Unterschied zwischen Office XP auf einem Windows 2000 und einem Windows XP feststellen. Abgesehen von der Titelleiste.

Auflösungen und Farbtiefen

Windows XP erlaubt - zumindest in der derzeitigen Betaversion - nur Auflösungen ab 800x600 Bildpunkten. Kein echter Verlust, denn mit einer 640er-Auflösung arbeitet heute ohnehin kein professioneller Anwender mehr. Doch auch bei der Farbtiefe bietet Windows XP weniger Auswahlmöglichkeiten: Entweder Hi-Color mit 16 Bit oder True-Color inklusive Alphakanal und 32 Bit Farbtiefe sind möglich.

Damit entfällt die Möglichkeit sich aus Performancegründen, beispielsweise für das Arbeiten via Remote Access, auf 256 Farben zu beschränken. Dafür kann Windows XP Echtfarb-Icons mit zusätzlichem Alpha-Kanal verarbeiten. Außerdem können Icons jetzt auch eine Größe von 48x48 Pixel haben. Damit nimmt die Detailtreue zu.

Das Problem dabei: Alte Icons im Format 32x32 und 16 Farben werden in der Darstellung auf die neue Größe und Farbtiefe hochgerechnet und leiden dementsprechend in ihrer Darstellung. Anwendungsprogrammierer sollten daher für ihre Software zusätzlich neue Icons bereitstellen. Die alten sind zudem weiterhin erforderlich, damit die Applikation auch unter Windows Me/2000 laufen.

Performancebremse Luna

So viele neue Features in der GUI, das hat auch seinen Preis. Das Betriebssystem muss bei der Darstellung von Objekten deutlich mehr Arbeit verrichten als bisher. Um einen ersten Eindruck vom Leistungsverlust zu erhalten, haben wir Windows XP in zwei verschiedenen Einstellungen mit dem Sysmark2000 gemessen. Zum einen unter der Classic-Oberfläche mit einem Minimum an zusätzlichen Optionen und zum anderen unter der Luna-Oberfläche, wobei wir alle Features aktiviert haben.

Leider wollten sich gerade die Microsoft Office-Applikationen des Sysmark2000 nicht benchmarken lassen. Daher konnten wir nur die Werte für Netscape, Corel Draw, Paradox und Elastic Reality ermitteln.

Luna gegen Classic

Anwendung

Classic

Luna

Angaben in Sysmark2000-Punkten

Netscape 4.6

83

50

Corel Draw 9

88

80

Paradox 9

59

50

Elastic Reality 3.1

92

90

Abgesehen vom rechenintensiven Elastic Reality sind bei allen Anwendungen deutliche Leistungseinbußen zu verzeichnen. Besonders hart trifft es den Netscape Navigator, der häufig auf die Common Controls zurückgreift. Möglicherweise mischt sich Luna auch in die Verarbeitung von HTML-Dokumenten ein, so dass Netscape hier zusätzlich ausgebremst wird.

Auch der mit Sicherheit noch in der Windows XP vorhandene Debugging Code kostet Performance. Da jedoch alles Tests unter der gleichen Windows-XP-Version und damit den identischen Systemaufrufen durchgeführt wurden, sind bis zur finalen Version ohne Debugging Code nur geringfügige Verbesserungen zu erwarten.

Fazit

Optisch hat die neue Oberfläche einiges dazugewonnen. Man mag hier argumentieren, dass Microsoft das alles nur abgekupfert hat, aber das Ergebnis zählt. Ob die Anwender allerdings bereit sind, für die neue Oberfläche auch einen neuen Prozessor zu installieren, bleibt fraglich. Auch die Programmierer - und damit letzlich wieder die Anwender - werden mit Luna nicht unbedingt glücklich. Zumindest solange nicht, bis Windows XP entsprechend weit verbreitet ist.

Mögliche Inkompatibilitäten und deutlich erhöhter Programmieraufwand machen die zusätzlichen Features nicht wett. Es wird also noch eine ganze Weile dauern, bis Anwendungen auf den Markt kommen, die die neuen Oberflächenfunktionen auch nutzen. (mha)

Testkonfiguration

Wir testen Windows XP auf einem Rechner mit Celeron 400 Prozessor, 192 MByte RAM, und einer 10-GByte-Festplatte. Als GUI kommen das Classic-Interface und die neue Luna-Oberfläche zum Einsatz. Mittels Sysmark2000 messen wir bei einer Auflösung von 1024x768 bei 32 Bit Farbtiefe jeweils die Performance von Paradox 9, Corel Draw 9, Elastic Reality 3.1 und dem Netscape Communicator 4.7.

Komponente

Daten

Mainboard

Microstar MS-6119

Firmware

2.4

Sonstiges

--

Prozessor

Intel Celeron 400MHz

Firmware

--

Sonstiges

--

RAM

256 MByte PC100

Firmware

--

Sonstiges

2 x 128 MByte Modul

Festplatte

WDC AC310200R

Firmware

--

Sonstiges

10 GByte

Grafikkarte

Diamond V770

Firmware

201C4A00

Sonstiges

TNT2, 32 MByte

Netzwerkkarte

3Com 3C905B-TX

Firmware

--

Sonstiges

--

DVD

Toshiba SD-M1202

Firmware

--

Sonstiges

--