Wenn Java das Glas weg nimmt
Windows Vista hat eine äußerst elegante Oberfläche (sagt Microsoft) mit transparenten Fensterrahmen, durch die dahinterliegende Inhalte weichgezeichnet durchschimmern. Dieser "Look" heißt Aero Glass und ist angeblich ein wesentliches Kaufargument für Vista. Bei beiden Release Candidates (RC1 und RC2) kam es jedoch vor, dass plötzlich und unvermutet der Bildschirm schwarz wird, bevor die Fenster nach und nach in reinstem himmeleinblau wiederkommen. Dann erscheint im Infobereich der Taskleiste diese hilfreiche Meldung: "Das Farbschema wurde in Windows Vista-Basis geändert."

Wer ist schuld daran? Beispielsweise Opera mit aktivierten Plug-ins, sobald in die aktuelle Webseite ein Flash-Applet integriert ist. Oder eine Java-Anwendung. Vista aktiviert Aero erst dann wieder, wenn das böse Programm wieder zu ist.
Ein Blog-Eintrag des Sun-Entwicklers
Chet Haase
erklärt im Detail, wie es dazu kommt. Kurz gesagt: Vista schaltet Aero Glass ab, wenn ein Programm die DirectDraw-Schnittstelle exklusiv für sich beansprucht -- egal wie kurz. Und damit Vista halt nicht mehrfach hin- und zurückschaltet, wartet das Betriebssystem ungeduldig darauf, dass die blöde Anwendung endlich wieder aus dem Speicher raus ist.
Aus Programmierersicht gibt es gute Gründe, einen Screen-Lock zu machen. Aber es führt halt zu etwas, was Haase "punt the Desktop Windows Manager" nennt (dafür gibt es kein deutsches Wort; es bedeutet, jemanden den Ball aus der Hand zu schlagen):
Locking is also a good way to just sanity-check that things are functional with DirectX before we start depending on it. But locking is also, unfortunately, the quickest way to make the DWM punt on Vista; because of the new composited-desktop approach, applications in DWM no longer have direct access to the screen itself. If an application demands access (such as through this older DirectDraw interface), Vista will oblige the request, but only by first disabling DWM, and thus disabling Aero Glass.
weblogs.java.net/blog/chet/archive/2006/10/java_on_vista_y.html
Die aktuellen
Java-6-Betas machen das wohl schon wieder richtig und die Entwickler planen, die Korrekturen auch auf JS2E 1.4.2 zurückzuportieren. Mal sehen, wann die Opera-Entwickler gleichziehen. Übrigens gibt es bei Firefox keine Nebenwirkungen, wenn der Browser das Flash-Plug-in aktiviert.
- Heise Online: Zweite Beta von Java 6
- Sun Developer Network:
Java SE Early Downloads - Chet Haase's Blog:
Java on Vista: Yes, it Works - Greg Schechter's Blog:
Redirecting GDI, DirectX and WPF applications
Zuletzt geändert am 11.10.2006 um 19:14
Zurück zur Hauptseite
