Updating DirectX drivers or your video driver may help: Java graphics display (in AWT and Swing) is now based on Java2D, which since Java 1.4 makes a lot of use of DirectX on windows (more exactly: DirectDraw, and offscreen 2D buffers); in Java 1.3, most displays were performed through the (slower) GDI interface.
If your display driver does not support blitter operations for offscreen operations, and does not support vertical synchronization (VSync), you may have similar blinking problems in lots of Windows applications that are based on DirectX, notably in games, or simply in Windows Media player or Real Player or WinAmp (if you enable their grahics vizualizations when playing music), or in your DVD player (when playing movies).
Note that the earliest versions of Java 1.4 had some problems when recognizing some DirectX drivers capabilities. Most of these hardware capabilities are now more accurately detected in Java 1.4.2 and supported by fallback software emulation.
So my final suggestions are, in that order:
- update your display driver
- update DirectX from Windows update
- update to latest Java release (or to the current beta2 of Java 1.5)
Blinking problems may still happen with some old display boards, that are no longer supported by their manufacturer:
Notably those with S3 display hardware, such as the Voodoo series (with its specific gateway to its VRAM, despite of its excellent processor; elder S3 boards are not affected by this problem): finding a working driver for Windows XP will be difficult (because of the various issues caused by the new design of Direct X 8), as the only working drivers are made by third parties, and not supported by Microsoft; on Windows XP, without these drivers, Microsoft only supports the basic VGA resolution in 256 colors, and no hardware acceleration at all; but with the latest drivers made initially by S3 for Windows 2000, you may get problems on XP as they were not tested on Direct X 8 or above. If you have a S3 Voodoo-based video, some problems may find their solution only if you change it for another model (Radeon 9000-series boards seem a good replacement choice today, at a lower price than G-Force boards).
Some blinking issues may also occur on some 3-to-5 years old HP notebooks, also because of the on-board display driver. There's nothing you can do to solve the problem completely, except upgrading to the latest version of Java to better detect the effective limited hardware capabilities reported by its driver.
Hope this helps.
Last edited by verdyp; September 27th, 2004 at 06:30 PM.
|