Some of the JOGL demos run very slow on NVIDIA card (?!)

Hi there,

this post may sound a bit odd, but I’ve got problems getting the jogl demos running smoothly on PCs with NVIDIA cards. The demos that turn out to be extra slow are:

  • Water (Procedural Texture Physics) demo and
  • Vertex Buffer Object
  • Vertex Array Range

I tried out two different desktop PCs with NVIDIA GeForce cards and both had similar speed issues. Here are the specs:

WinXP Pro / Java 1.5.0_06
Pentium 4 3Ghz
2Gb RAM
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: GeForce 6500/PCI/SSE2
GL_VERSION: 2.0.1

WinXP / Java 1.5.0_06
Pentium D 3.2Ghz
1Gb RAM
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: GeForce 7300/PCI/SSE2
GL_VERSION: 2.0.3

The odd thing is that I have managed to run the same demos very smoothly on two laptops, one PC with an ATI Mobility Radeon X300, the other one a Alu Powerbook also with an ATI card. The Java setup on the Laptop is the same as on the other machines. This is really weird, because having read quite a few threads in this forum, I discovered rather the opposite, that there have been lots of problems with ATI cards.

Any suggestions what the problem might be?

…and yes, I have installed the latest drivers …

Are you running these from the command line or Java Web Start? If from the command line, did you remember to specify -Dsun.java2d.opengl=true ?

I haven’t seen any severe performance issues with the Water demo on NVidia cards though I have seen somewhat low performance on lower-end cards which don’t seem to have as high a fill rate. I haven’t tried these demos on the recent consumer-level NVidia cards, only the higher-end ones, so don’t know what their expected performance is. If you find a system with a similar graphics card but different OS configuration (like Linux or Solaris/x86) make your machines dual-boot, or try an earlier driver release and find the performance issue goes away, you should register for a developer account on developer.nvidia.com and report the performance problem.

The VertexArrayRange and VertexBufferObject demos seem to have problems with recent NVidia drivers (flickering, black polygons, etc.) which I haven’t had time to investigate yet.

I tried both Web Start and running it from command line and I have the same speed issues.
Specifying -Dsun.java2d.opengl=true didn’t seem to help either. On my laptop with the ATI card, things are actually running very smoothly, without having to specify this variable. Anyway, I also tried using JRE1.6 but no speed improvement either.

The Water demo runs so slow, something like 1fps, that I suspected it was running without hardware acceleration, but that’s probably not possible, because doesn’t this stuff make heavy use of shaders?

So I ran demos.printext to check whether any extensions might be missing but it seemed like all necessary extensions are available. I assume, I would get some exceptions with the Water demo anyway if this wasn’t the case.

I didn’t get around to check out any older NVIDIA drivers but will hopefully get around that soon. If you can point me in any other directions, that would be much appreciated. Also could you tell me which NVIDA card or cards of other brands you’ve been using successfully? Thanks.

I’ve run these demos on my laptop with an NVidia Quadro FX Go700 mobile chip and on desktop cards like the GeForce FX 5800 Ultra and GeForce 7800 with no problems. I’ve also run them on some ATI cards with no problems though I personally prefer NVidia cards because their driver quality is generally better in my experience.