Skip to main content

OpenGL Pipeline crashes video driver on Vista

30 replies [Last post]
artscoop
Offline
Joined: 2007-11-13
Points: 0

Hello,

I am running with 1u6, and as some people, I experience problems with the OpenGL pipeline on Vista.
When I launch an application with the -Dsun.java2d.opengl=true switch, the window opens, (empty window on Aero, frozen window using VistaBasic).
On Aero, the video driver crashes and is recovered (nidia driver nvlddmkm), and of course, the application does not work then.
On the XP manager (VistaBasic), the video driver crashes sometimes, but the application window is always frozen (even if the first frame is drawn).

Has someone has this exact problem ?
Thanks,
artScoop

nvlddmkm

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
artscoop
Offline
Joined: 2007-11-13
Points: 0

Hi,

Thanks for the information,
Steve

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

Yes, happens with the system lafs as well.

The fact that it's reproducible on different video boards and
different look and feels gives me hope that we can somehow
work around it (so it's not a particular driver problem).

I'll report it to Microsoft, too. It's a definite Aero compatibility issue.

Dmitri

artscoop
Offline
Joined: 2007-11-13
Points: 0

Maybe it will strenghten your hopes :
On Windows XP (GeForce 7600GT), everything is top-notch, and looks a bit more responsive visually than on Vista :)
So yes, this is rather a Vista issue.

Steve

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

It is some consolation, thanks =)

OK, I've filed this bug to track this issue:
6630702: D3D: Rendering artifacts when scrolling/dragging on Vista with Aero/DWM [multiple boards]

Will appear on bugs.sun.com in a few hours.

Dmitri

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

FYI: I had done some further investigation on this and updated the bug report:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6630702

Thanks,
Dmitri

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

BTW, I also verified that the bug doesn't occur with the latest Swingx library (I tried .9.1).

Dmitri

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

There is no benefit in enabling the pipeline on lower/mid-end Intel chips. They're
just too slow - they implement most of the stuff in software, and
are even slower than our own software loops. Not to mention extreme
rendering artifacts.

Only their latest chip (the x3100 family) has HW transforms and lightning
and pixel shader support. But it has a long and sad history of
extremely poor drivers (google around) - they have only recently even enabled HW TnL.

The drivers are so bad that they restart the system (XP) or the driver (Vista),
and they're still WAY slower than any Nvidia or ATI board, even from a few
years back. So you are not really losing much by not having the
d3d pipeline enabled on these chips.

Having said that, we're working with Intel folks on addressing at least the crashes
if no the performance issues - the latter are always harder to fix.

Dmitri

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

The integrated Intel chips' drivers suck, unfortunately, and known to have
issues (which is why d3d pipeline is disabled on Intel chips starting with b07).

But this may be something different though.

Dmitri

kirillcool
Offline
Joined: 2004-11-17
Points: 0

Let's put it this way - what is the target for the Direct3D pipeline? The high-end gamer machines or commodity laptops that are bought in bulk for most corporate environments? I do understand the technical limitations, i'm just wondering about disabling the pipeline on most under-1500$ laptops that are now on sale.

artscoop
Offline
Joined: 2007-11-13
Points: 0

You're right, the accelerated pipeline is almost pointless on low-end laptops.
As I'm not really aware of these compatibility/known bug/OS problems, I don't know what would be best. Anyway, anybody who bundles an app can do so providing launchers with the pipeline switches, right ?

artscoop
Offline
Joined: 2007-11-13
Points: 0

Yes,
That's it, the whole window.
Thanks a lot for the info.

As the 'bug' can be reproduced with native windowed D3D apps, indeed some D3D initialization code can be responsible for this in Vista. Alas.

I am installing 6u10 build 7 on my XP machine, I am going to test a bit 'expensive' 2D operations, and Nimbus. I'll let you informed.

One more question (off-topic),
maybe it's been dropped, but in his blog, Chris Campbell told he was playing with some accelerated java2D blending modes (equivalents for photoshop blend modes such as Screen, Multiply, Color Dodge, etc.). Do you have any information about this, progress, etc. ?

Thanks,
Steve

Chris Campbell

It's still on the list for JDK 7. I don't have an estimate on when it
will be integrated, though.

Chris

java2d@JAVADESKTOP.ORG wrote:
> One more question (off-topic),
> maybe it's been dropped, but in his blog, Chris Campbell told he was playing with some accelerated java2D blending modes (equivalents for photoshop blend modes such as Screen, Multiply, Color Dodge, etc.). Do you have any information about this, progress, etc. ?

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".

artscoop
Offline
Joined: 2007-11-13
Points: 0

Hi,
Thank you very much for this info.

linuxhippy
Offline
Joined: 2004-01-07
Points: 0

> That's what I thought about OpenGL drivers on Vista
> (then the rumors were not a legend, OpenGL is not
> very well integrated into Vista)
> And yes, I've tested the Direct3D pipeline.

Probably the best thing you can do about this is to write a post in NVidia's user forums.
Crashing OpenGL drivers should not be possible by an application so its clearly their fault - and they have to fix it.

My hope is that many people will complain about such problems and that Java (with d3d, AND OPENGL will be in their test-suite before they release a driver.

lg Clemens

Dmitri Trembovetski

Chris has been in direct contact with Nvidia's opengl
driver team in a while, and that didn't seem to affect the
driver quality that much so I doubt that posting on
the forums will help..

Thanks,
Dmitri

java2d@JAVADESKTOP.ORG wrote:
>> That's what I thought about OpenGL drivers on Vista
>> (then the rumors were not a legend, OpenGL is not
>> very well integrated into Vista)
>> And yes, I've tested the Direct3D pipeline.
>
> Probably the best thing you can do about this is to write a post in NVidia's user forums.
> Crashing OpenGL drivers should not be possible by an application so its clearly their fault - and they have to fix it.
>
> My hope is that many people will complain about such problems and that Java (with d3d, AND OPENGL will be in their test-suite before they release a driver.
>
> lg Clemens
> [Message sent by forum member 'linuxhippy' (linuxhippy)]
>
> http://forums.java.net/jive/thread.jspa?messageID=246075
>
> ===========================================================================
> To unsubscribe, send email to listserv@java.sun.com and include in the body
> of the message "signoff JAVA2D-INTEREST". For general help, send email to
> listserv@java.sun.com and include in the body of the message "help".

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".

linuxhippy
Offline
Joined: 2004-01-07
Points: 0

> Chris has been in direct contact with Nvidia's
> opengl
> driver team in a while, and that didn't seem to
> affect the
> driver quality that much so I doubt that posting on
> the forums will help..

Yes I read his blog entries about that - it seems like by fixing one bug, they opened two new ;)
What I think could help is preassure - not from a developer but from the customers buying the stuff.

There were many angry people about the slow subpixel-aa support of NVidia's linux driver on PCIE-hardware (readback latency is much worse), and because so many people complained it was fixed.

I don't know wether the same thing can happen for their OpenGL support but my hope is that they listen to their customers more than to developers willing to help to make their software better ;). At least a post in their forums can't hurt ^^

lg Clemens

artscoop
Offline
Joined: 2007-11-13
Points: 0

Ok,
I've finally reproduced the glitch :
Here are the Screenshots (first is the ok one) :
http://img528.imageshack.us/img528/2285/normaltk6.jpg
http://img528.imageshack.us/img528/6942/glitchqo4.jpg

I also found why this could happen,
and it seems that it always happens on the JScrollPane when collapsing/expanding the JXTaskPane on the left.

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

I see. Any chance you can produce a test case?

Dmitri

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

Woow. Just reproduced it with Substance L&F demo. Just click the "List" tab on the left.
Scroll up and down - the scrolled area goes black. Or even scroll the pane on the left.

Only reproducible on Vista, and only with Aero enabled. Sigh.

So far unable to reproduce with other apps (like jdk demos).

Dmitri

kirillcool
Offline
Joined: 2004-11-17
Points: 0

Indeed. This is where i saw it the last time :) Does it happen under the core LAFs? You can switch to Windows / Metal in the Look & Feel menu. As other commenters said, this might have something to do with JXTaskPaneContainer being wrapped in a JScrollPane.

artscoop
Offline
Joined: 2007-11-13
Points: 0

Yep, also with the system LaF (Win32 Vista).
I'm going to try on a different OS (different graphics board also), to see if it runs fine.

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

Could you try running with -Dsun.java2d.opengl.fbobject=false ?

Also, what's your video board?

Thanks,
Dmitri

artscoop
Offline
Joined: 2007-11-13
Points: 0

Hi, Thanks for your reply.

I've run the app switching the fbobject off, however the result is the same.
[b]My graphics board is a GeForce 8600[u]M[/u] GT[/b].

here is the log I get when I run the app :

[I] WGLGraphicsConfig_initWGL
[I] OGLFuncs_OpenLibrary
[I] OGLFuncs_InitPlatformFuncs
[I] OGLFuncs_InitBaseFuncs
[I] WGLGraphicsConfig_getWGLConfigInfo
[I] OGLFuncs_InitExtFuncs
[I] WGLGC_GetPixelFormatForDC
[V] candidate pixel formats:
[V] [b]pixfmt=7 db=1 alpha=0 depth=24 stencil=0 valid=true[/b]
[V] pixfmt=8 db=1 alpha=8 depth=24 stencil=0 valid=false (large depth)
[V] pixfmt=9 db=1 alpha=0 depth=24 stencil=8 valid=false (large depth)
[i][... Many modes ...][/i]
[V] pixfmt=49 db=1 alpha=0 depth=24 stencil=0 valid=false (large depth)
[V] pixfmt=50 db=1 alpha=8 depth=24 stencil=0 valid=false (large depth)
[V] pixfmt=51 db=1 alpha=0 depth=24 stencil=8 valid=false (large depth)
[V] pixfmt=52 db=1 alpha=8 depth=24 stencil=8 valid=false (large depth)
[V] pixfmt=1829811332 db=1 alpha=8 depth=24 stencil=8 valid=false (large depth)
[V] pixfmt=-1107225006 db=1 alpha=8 depth=24 stencil=8 valid=false (large depth)
[V] pixfmt=739578784 db=1 alpha=8 depth=24 stencil=8 valid=false (large depth)
[V] pixfmt=60363776 db=1 alpha=8 depth=24 stencil=8 valid=false (large depth)
[V] pixfmt=729043944 db=1 alpha=8 depth=24 stencil=8 valid=false (large depth)
[V] pixfmt=80739036 db=1 alpha=8 depth=24 stencil=8 valid=false (large depth)
[V] pixfmt=0 db=1 alpha=8 depth=24 stencil=8 valid=false (large depth)
[V] pixfmt=0 db=1 alpha=8 depth=24 stencil=8 valid=false (large depth)
[I] WGLGC_GetPixelFormatForDC: [b]chose 7 as the best pixel format[/b]
[I] OGLContext_IsExtensionAvailable: GL_ARB_fragment_shader=true
[I] OGLContext_IsExtensionAvailable: GL_ARB_multitexture=true
[I] OGLContext_IsExtensionAvailable: GL_ARB_texture_non_power_of_two=true
[I] OGLContext_IsExtensionAvailable: GL_ARB_texture_rectangle=true
[I] OGLContext_IsExtensionAvailable: GL_EXT_framebuffer_object=true
[I] OGLContext_IsFBObjectExtensionAvailable: fbobject supported
[I] OGLContext_IsLCDShaderSupportAvailable: LCD text shader supported
[I] OGLContext_IsBIOpShaderSupportAvailable: BufferedImageOp shader supported
[I] OGLContext_IsGradShaderSupportAvailable: Linear/RadialGradientPaint shader supported
[I] WGLGraphicsConfig_getWGLConfigInfo: OpenGL version=2.1.2
[I] OGLContext_IsExtensionAvailable: WGL_ARB_pbuffer=true
[I] OGLContext_IsExtensionAvailable: WGL_ARB_make_current_read=true
[I] OGLContext_IsExtensionAvailable: WGL_ARB_pixel_format=true

Everything looks ok in this log.
I thought the drivers I used could be responsible for the crash, so I looked for other drivers over the web. I used GeForce 8600 GT (not officially supported on my board for some reasons by nVidia) drivers, and the app stopped crashing my video driver.
However, the window still displays nothing. It keeps desperately empty, with or without the framebuffer switch.

Message was edited by: artscoop

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

OK, thanks for trying. To be clear, drivers _are_ responsible for this, but there's
not much we can do about it, opengl drivers suck especially badly on Vista.

Have you tried the new Direc3D pipeline? (in the latest 6uN builds, available from jdk6.dev.java.net)?

Dmitri

artscoop
Offline
Joined: 2007-11-13
Points: 0

Yep,
I have tested everything using the latest available 6uN builds (N=5, build 06 I believe)

That's what I thought about OpenGL drivers on Vista (then the rumors were not a legend, OpenGL is not very well integrated into Vista)
And yes, I've tested the Direct3D pipeline.

To leave some impressions about this one : really great, marvelous !
To test it, I made a JComponent, animating itself with the use of a timer.
I stretched it so it used the whole screen (1920x1200).
With the D3D switch off, the CPU goes mad (70% CPU) for about 2 or 4 frames per second.
Enabled, the D3D switch allows the app to use only 5% of the CPU and the framerate rockets to at least 50FPS.

Alas, I have flickering problems when resizing frames.
It's worse with some Look and feels than others, but none is ok with this problem.
I tried using a switch to prevent the window background from painting, with no success.
Moreover, (but it can be a totally useless hint) the color of the window when it flickers is black.

Maybe I should have some testing on Windows XP, these problems might be specific on Vista.

Thanks again,
Steve

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

Glad to hear that the new pipeline works for you. BTW, b07
which is the latest one out has some important fixes (especially helps
Netbeans' performance).

Re: flickering during resize issues

Is it flashing black, the whole window during resize?

If so then yes, we've seen this one. It is specific to Vista (only with
Aero enabled), but only on certain hardware - may be timing-specific.
I am pretty sure this is a bug in Vista's DWM.

We can reproduce this with some native D3D applications as well
(like the samples from the Microsoft's Direct3D SDK).

I will look into this issue more, we may come up with a work around
so that the flickering is reduced.

Thanks,
Dmitri

kirillcool
Offline
Joined: 2004-11-17
Points: 0

I've seen the black thingie on SwingX JXTaskPaneContainer during expand / collapse animations. The expanded panel was completely black and i had to move the mouse over the controls to "reveal" them. Vista + integrated Intel chip.

artscoop
Offline
Joined: 2007-11-13
Points: 0

Hi,

Now that you talk about it,
I'm thinking of a display problem specific to JScrollPanes.
I've put a custom component in a JScrollPane (this component's virtual size can be let's say 5000 pixels long). Sometimes, when scrolling, suddenly only a small part of the visible area updates itself, the rest goes black.

I'm going to try this and give you a link to what I mean.

Steve

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

Hi Steve,

if you can reproduce it and distill into a small test case please
let us know.

Dmitri

artscoop
Offline
Joined: 2007-11-13
Points: 0

Hi,
as I said earlier (but I didn't reply to the good post), the glitch appears if on a single JFrame:
- you run on Vista Aero, at least (and I'm about to tell for XP in a few minutes)
- You have a JXTaskPane which can be collapsed or expanded
- You have a JScrollPane with content larger than the view
- D3D pipeline on (any options related to this pipeline don't change anything)

To reproduce :
1. Collapse or expand the task pane
2. Scroll the JscrollPane

The scroll pane should have it's content erased and black, except 1 or 2 stripes at the borders.
To restore functionnality, you have to resize the window.

Steve

Message was edited by: artscoop