Why isn’t -DJOGL_SINGLE_THREADED_WORKAROUND=true the standard behavior?
IIRC, webstart in 1.4.2 won’t let you set parameters like that, so that workaround does very little good for webstart apps.
Why isn’t -DJOGL_SINGLE_THREADED_WORKAROUND=true the standard behavior?
IIRC, webstart in 1.4.2 won’t let you set parameters like that, so that workaround does very little good for webstart apps.
Can’t you just do the following in your JNLP file:
Anyhow, that’s the syntax the Gears demo uses with
Rob
JRefract is working fine for me (nvidia card).
Nice demo - very nice work Ken.
Rob
I am using ATI 9600 Pro. After clean up the cache, the
previous message doesn’t show up anymore, but this time
I got a new error message.
“Unable to set pixel format”
The same error message on both the latest driver from
ATI and the old 4.6 driver.
Thanks
I’m getting the same error on both my ATI Mobility Radeon 9000 and Nvidia GeForce FX 5200
nathan
Is this just with the new JRefract demo, or with all JOGL apps? Could you post a stack trace? Even better, could you run the app locally with the system property -Djogl.debug.GLContext specified and post all of the output? Thanks.
[quote]Is this just with the new JRefract demo, or with all JOGL apps? Could you post a stack trace? Even better, could you run the app locally with the system property -Djogl.debug.GLContext specified and post all of the output? Thanks.
[/quote]
I am using ATI 9600 Pro with 4.6 driver.
Other demos works properly. However, there is a rendering defect.
https://jogl-demos.dev.java.net/webstart/VertexBufferObject.jnlp
Here is the stack trace of the exception produced by JRefract:
net.java.games.jogl.GLException: Unable to set pixel format
at net.java.games.jogl.impl.windows.WindowsGLContext.choosePixelFormatAndCreateContext(WindowsGLContext.java:493)
at net.java.games.jogl.impl.windows.WindowsOffscreenGLContext.create(WindowsOffscreenGLContext.java:181)
at net.java.games.jogl.impl.windows.WindowsGLContext.makeCurrent(WindowsGLContext.java:135)
at net.java.games.jogl.impl.windows.WindowsOffscreenGLContext.makeCurrent(WindowsOffscreenGLContext.java:128)
at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:250)
at net.java.games.jogl.GLJPanel.reshape(GLJPanel.java:131)
at java.awt.Component.setBounds(Component.java:1847)
at java.awt.Component.resize(Component.java:1781)
at java.awt.Component.setSize(Component.java:1770)
at demos.jrefract.JRefract.run(JRefract.java:84)
at demos.jrefract.JRefract.main(JRefract.java:71)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Thread.java:595)
Ken,
The program at the link below is a JOGL test program that
have the following issues under the latest JOGL build.
https://java3d.dev.java.net/nonav/issues/showattachment.cgi/56/Gears.java
Note: The program is too long to be posted to this forum!
Under the latest ATI driver, an exception will be thrown
on the first iteration. Please run the program to get
a detailed stack trace.
" Unable to set pixel format 5 for device context".
The same program under older ATI driver (4.6), the
same program will crash JVM after first iteration.
Thanks!
[quote]Ken,
The program at the link below is a JOGL test program that
have the following issues under the latest JOGL build.
https://java3d.dev.java.net/nonav/issues/showattachment.cgi/56/Gears.java
Note: The program is too long to be posted to this forum!
Under the latest ATI driver, an exception will be thrown
on the first iteration. Please run the program to get
a detailed stack trace.
" Unable to set pixel format 5 for device context".
The same program under older ATI driver (4.6), the
same program will crash JVM after first iteration.
Thanks!
[/quote]
The test program also shows that the memory is leaking!
Slow but steady!
[quote]Here is the stack trace of the exception produced by JRefract:
net.java.games.jogl.GLException: Unable to set pixel format
[/quote]
You have an old copy of jogl.jar and probably jogl.dll somewhere on your machine. That exception has had its detail message changed in 1.1 b08.
[quote]Ken,
The program at the link below is a JOGL test program that
have the following issues under the latest JOGL build.
https://java3d.dev.java.net/nonav/issues/showattachment.cgi/56/Gears.java
[/quote]
The program runs on my ATI Radeon 9800 Pro with the 4.9 Catalyst drivers. I had problems a while back with 4.10 and haven’t tried upgrading since, though I’ll try to at some point. On this configuration I can reproduce the memory leak. It is ATI-specific; the program runs fine on my NVidia-based laptop. I’m not sure there is anything we can do in JOGL to work around this, but I’ve filed Issue 137 to track it. I would recommend you file a bug on ATI’s web site and point them at that test case.
[quote]Why isn’t -DJOGL_SINGLE_THREADED_WORKAROUND=true the standard behavior?
[/quote]
This is a good question. The conventional wisdom is that certain programmers want the ability to optimize their rendering loops to make the OpenGL context current once and leave it current forever. JOGL supports this optimization where possible via the setRenderingThread API, which is disabled when the single-threaded workaround is enabled. However in my recent tests I have found that the performance difference between the optimized context handling with setRenderingThread and the single-threaded workaround is very slight or even unmeasurable, even for performance-sensitive tests like the VertexArrayRange demo. I don’t think we’ll switch the default to using the single-threaded workaround, but in whatever documentation gets written up in the future we’ll probably recommend enabling the single-threaded workaround for best compatibility.
Thanks Ken!
There are many versions of JRE/JDK installed in my
development machine. After cleaning up these dlls
and jars, it works fine now.
Scott
Dear Ken!
Is the: JOGL_SINGLE_THREADED_WORKAROUND a new name for the old ATI_WORKAROUND, so that we who needed that now can switch to use the SINGLE_THREAD workaround instead?
And, are the provided java web start jogl libraries now updated to b08?
Rune Aasgaard
[quote]Is the: JOGL_SINGLE_THREADED_WORKAROUND a new name for the old ATI_WORKAROUND, so that we who needed that now can switch to use the SINGLE_THREAD workaround instead?
And, are the provided java web start jogl libraries now updated to b08?
[/quote]
Yes on both counts.
Thanks!
And, may some of the resent bug-fixes have done something with the problem I reported earlier, about some machines showing a blank jogl canvas?
Rune
[quote]And, may some of the resent bug-fixes have done something with the problem I reported earlier, about some machines showing a blank jogl canvas?
[/quote]
Possibly; I don’t remember this issue exactly. If you still see problems please file a bug.
I am not sure whether this is the right place for bug reports, but anyway, it seems that with this version texture loading/mipmap generation does no longer work for textures with sizes that are non power-of-two. (It did work with the previous version.)
You can use the switch “-Djogl.glu.nojava” to use the old working code. What pixel type are you using? There is a know bug when using packed pixels, the non-packed routines should work.
I ran my app on 1.1b08 and it STILL crashes…I was hoping this ATI fix would be stable by now, but it still crashes. Here’s the info:
Powerbook G4 Mac OS 10.3.8
ATI Radeon 9600 XT
Running the program found at:
http://www.chem.byu.edu/Plone/people/rbshirts/research/Boltzmann3DHome.html
will crash when the user clicks on the GLCanvas, but works fine on Macs with GeForce or Windows, or most Linux, but ATI is still crashing.