Skip to main content

Erratic graphics rendering on Vista

28 replies [Last post]
alexlamsl
Offline
Joined: 2004-09-02
Points: 0

java version "1.6.0_05-ea"
Java(TM) SE Runtime Environment (build 1.6.0_05-ea-b05)
Java HotSpot(TM) Client VM (build 1.6.0_05-ea-b05, mixed mode, sharing)

Product Version: NetBeans IDE Dev (Build 200710270000)
Java: 1.6.0_05-ea; Java HotSpot(TM) Client VM 1.6.0_05-ea-b05
System: Windows Vista version 6.0 running on x86; Cp1252; en_GB (nb)

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
alexlamsl
Offline
Joined: 2004-09-02
Points: 0

I think I've found one way to reliably reproduce this problem: UAC!

with or without Aero / bufferPerWindow, have NetBeans / JConosle (but not SwingSet2!) opened in the background:

1) Start --> "firewall" --> Enter
2) Click "Change Settings"
3) Click "Continue"

attached the console output from SwingSet2 since it was running while I'm trying to reproduce the issue.

trembovetski
Offline
Joined: 2003-12-31
Points: 0

I see. I think the UAC thing may be a manifestation of this bug:
6596702: D3D: intermittent repainting issues in SwingSet after restoring from fs mode

Although the application doesn't use FS mode, the UAC itself enters FS
mode when displaying the security dialog which causes similar condition.

I just want to clarify something though.

I thought that you didn't need to do anything special in order to
reproduce the original issue. Meaning, you'd just start an application
(say, netbeans), and it will not repaint correctly.

Now it seems that you need to do something to cause the problem to
appear (like the UAC thing) - is this a correct understanding?

Or do you see both problems?

Thanks,
Dmitri

alexlamsl
Offline
Joined: 2004-09-02
Points: 0

I do see Java applications like NetBeans exhibits repaint problems without special events like UAC or logout.

So if UAC is a known issue, I should continue to reproduce the problem in my old way :-(

trembovetski
Offline
Joined: 2003-12-31
Points: 0

> I do see Java applications like NetBeans exhibits repaint problems without special events like UAC or logout.

Can you try netbeans with -Dswing.bufferPerWindow=false? I think you can pass it to the
netbeans.exe with '-J' prefix: "netbeans.exe -J-Dswing.bufferPerWindow=false"

Dmitri

alexlamsl
Offline
Joined: 2004-09-02
Points: 0

I've put that into netbeans.conf since (appended with -J) and been testing (read: working) with it. So far so good :)

Alex.

trembovetski
Offline
Joined: 2003-12-31
Points: 0

Thanks, Alex. Keep us updated.

I might have a tentative fix for you to test later (a class file you can prepend to the boot classpath).

Thanks,
Dmitri

alexlamsl
Offline
Joined: 2004-09-02
Points: 0

Been using b08 with Forceware 169.09 for a few days. No issues (apart from UAC switches) so far :-)

trembovetski
Offline
Joined: 2003-12-31
Points: 0

That's with the bufferPerWindow=false, right?

Too good to be true for the issue to just disappear with the new build =)

Dmitri

alexlamsl
Offline
Joined: 2004-09-02
Points: 0

Indeed - I know :-)

Although I'm seeing more transient black rectangles / borders recently for some reason - but that could have something to do with system load (my laptop isn't the fastest out there) so I shouldn't complain.

trembovetski
Offline
Joined: 2003-12-31
Points: 0

I've been looking at another bug:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6630702

There issues may be caused by the same problem..

Dmitri

alexlamsl
Offline
Joined: 2004-09-02
Points: 0

Do you want me to try the parameter with Aero enabled, disabled, or both?

By the way, one thing I observe: it is more difficult to reproduce the problem on smaller applications (like swing demos or my raytracer), but takes much shorter times to reproduce on big apps like NetBeans.

trembovetski
Offline
Joined: 2003-12-31
Points: 0

Also, do you see the exact same issues as with the old driver, or are they different?

Dmitri

alexlamsl
Offline
Joined: 2004-09-02
Points: 0

The issues seem identical - part of the Java app does not redraw properly, leaving a grey / black region until triggered by further events (mouse over / window overlap) to repaint.

Note that the very first issue reported in this thread has not been observed since, which is a good sign :-)

alexlamsl
Offline
Joined: 2004-09-02
Points: 0

Adding to the description - the grey / black area will stay around for as long as I can test (>30 minutes), so it doesn't look like computational delays.

The attached screenshot should hopefully explain "only redraws when triggered by futher mouse events"

alexlamsl
Offline
Joined: 2004-09-02
Points: 0

Apologies for the delay in response - attached J2D_TRACE_LEVEL log.

Will have a look on the site you have suggested and see if there are any goodies :-)

P.S. Those "Plain" sliders (esp the vertical one!) in SwingSet2 under Vista L&F really scared me. I need to be a cursor-sniper in order to use one of those!

ziady
Offline
Joined: 2009-04-24
Points: 0

I also get the same problem with grayed boxes not having any text for any applet in a web page. I use Nvidia Quadro FX 1300 graphics card with Windows XP SP3. I observe this problem with JRE 1.6 update 10 and above.

trembovetski
Offline
Joined: 2003-12-31
Points: 0

Make sure you have the latest drivers for your video board. The quadro line is very susceptible to driver bugs.

alexlamsl
Offline
Joined: 2004-09-02
Points: 0

On b07 the graphics doesn't go haywire now - but they simply become grey boxes after being covered for a while. Applies (so far) to both NetBeans IDE and JConsole.

Something wrong with VolatileImage?

Product Version: NetBeans IDE Dev (Build 200711160000)
Java: 1.6.0_10-ea; Java HotSpot(TM) Client VM 1.6.0_10-ea-b07
System: Windows Vista version 6.0 running on x86; Cp1252; en_GB (nb)

alexlamsl
Offline
Joined: 2004-09-02
Points: 0

Attached screenshots

trembovetski
Offline
Joined: 2003-12-31
Points: 0

Looks like you will need to update your driver to the latest available version.

We had seen this on Windows XP with this particular board, see bug
6629891: D3D: Rendering artifacts with older driver [Nvidia Quadro NVS 110M]

Note that the Nvidia website doesn't have the drivers for this board,
so you will need to go to your Notebook manifacturer's site.

After (and before would be good, too) you upgrade the drivers, could
you please run any swing demo with J2D_TRACE_LEVEL=4 env. variable
set and post the output that will be printed to the console?

Thank you,
Dmitri
Java2D Team

alexlamsl
Offline
Joined: 2004-09-02
Points: 0

According to DELL:

http://support.euro.dell.com/support/downloads/driverslist.aspx?os=WLH&o...

I have the most up-to-date graphics driver as of this day.

Would you still like the stacktrace?

trembovetski
Offline
Joined: 2003-12-31
Points: 0

This is unfortunate. The Vista driver is 3 months older than the
XP driver. Looks like we'd have to disable the pipeline on Vista on this
chip until a new fixed driver is available.

Yes, could you please still post the output with J2D_TRACE_LEVEL=4 .

Thanks,
Dmitri

trembovetski
Offline
Joined: 2003-12-31
Points: 0

Not that I'm suggesting anything =), but there's this website that helps
those for whom nvidia doesn't post the drivers:
http://www.laptopvideo2go.com

In particular:
http://www.laptopvideo2go.com/drivers/vista
More info on modified .inf file:
http://www.laptopvideo2go.com/forum/index.php?showtopic=8128

Dmitri

alexlamsl
Offline
Joined: 2004-09-02
Points: 0

Through the link provided I have upgraded the graphics driver to 169.09

And guess what: the problem persists!

trembovetski
Offline
Joined: 2003-12-31
Points: 0

Thanks a lot for trying, too bad the new driver didn't help. Sigh.

Unfortunately I don't have this hardware here, so I'll need your
help with debugging this.

Could you please try with Aero disabled?
I don't have Vista handy to tell you exactly how to
change the theme, but it's somewhere in the
display preferences dialog. Right-click on the desktop,
select "preferences" or something, and then there's a
"theme" menu or something similar. There you can change
between Aero and non-aero themes.

Thanks,
Dmitri

alexlamsl
Offline
Joined: 2004-09-02
Points: 0

> Thanks a lot for trying, too bad the new driver
> didn't help. Sigh.
>
> Unfortunately I don't have this hardware here, so
> I'll need your
> help with debugging this.

Fine with me - that's why I'm here ;-)

> Could you please try with Aero disabled?
> I don't have Vista handy to tell you exactly how to
> change the theme, but it's somewhere in the
> display preferences dialog. Right-click on the
> desktop,
> select "preferences" or something, and then there's
> a
> "theme" menu or something similar. There you can
> change
> between Aero and non-aero themes.

Right Click on "Computer" --> "Properties" --> "Advanced System Settings" --> "Advanced" --> "Performance" --> "Settings" --> "Adjust for best performance"

Issue reproduced as shown in attachment.

trembovetski
Offline
Joined: 2003-12-31
Points: 0

Thanks a lot for the info.

Another quick test: could you please run any of the Swing demos
from the jdk with -Dswing.bufferPerWindow=false property?

> Right Click on "Computer" --> "Properties" --> "Advanced System Settings" --> "Advanced" --> "Performance" --> "Settings" --> "Adjust for best performance"

Actually what I meant was this:
Right click on desktop -> "Personalize" -> "Windows Color and appearance" ->
"Open Classic Appearance Properties" -> select "Windows Vista Basic" theme.

That way you still get Vista L&F but with Aero disabled.

But I'd guess that the end result will be the same.

Dmitri

alexlamsl
Offline
Joined: 2004-09-02
Points: 0

OT: the internal frames look pretty odd in Vista, esp with the padding around control buttons