Sounds good. Please do raise the JOAL-related crash with Apple; at first glance it looks like a bug in their OpenAL implementation.
Yes, I pretty much got confirmation of that.
One of the way they told me to help get it more attention was to go ahead and use the crash report feature in OS X (go figure). The more apps and different user/machines that fiel a report on that will bump it’s priority, so after the many I have report here on the different conference machines anyone else that crash should send the report.
Right now the live web link does load up sounds so it doesn’t fail, but I have one on my machine that does and I’ll put the link back up online ASAP for JGO users to try, crash and report
so profiling info from Shark on Mac OS X…
com.sun.opengl.Impl -> GLImp:pushAttrib is the number one time spent.
I actually got a screenshot, I know this is kinda shot in the dark, but i thought it might be of some use until I can do a bit more testing over here :-).
I know the amount of pushAttrib is going to be driven by the graph but our graphs TRY to use the least Appearances as possible, and they are certainly less than the number of Shape3D. Matt Drance says “Hello” and that they added a bunch of stuff you wanted in Java 6 BUT in 6.0 webstart won’t launch the app because of a security error I was getting on launch Wndows mustang 88, but was fixed in mustang 92. The current Mac 6.0 is 88 so we can’t know jsut yet it seems.
Does that make sense?
Ok we did get to run it command-line for Java 6.0 and it didn’t SEEM like any different, but we couldn’t profile it because there profiler “shark” threw exceptions trying to connect to Java 6.0 HAHA, Matt has to go file a bug report on that one
I have even more people to see tomorrow so… the saga continues…
The previous post was refering to a performance issue we are seeing on Mac OS but not Windows, same Intel hardware on WWDC machines.
I will be leaving this discussion now and gathering all the test and information (and more over the remaining two days) and will handle this in email until we have something publicly useful to say.
Shawn: thanks very much for the information. Based on this I’ve tracked the slowdown to a bug in Java 3D (on all platforms) where in some of the texturing routines we were calling glPushAttrib(GL_MATRIX_MODE) which is an illegal argument and was probably causing OpenGL errors to be raised. The correct argument is glPushAttrib(GL_TRANSFORM_BIT). I’ve fixed this in the JoglPipeline and placed a build of the resulting j3dcore.jar at http://download.java.net/media/jogl/builds/tmp/j3dcore.jar . As far as I can tell this fixes the slowdown of Cosmic Birdie on Mac OS X. Please give it a try and let me know whether it works. I’ll file a bug against Java 3D’s NativePipeline so this gets fixed there as well. Again thanks for your and the Apple team’s help in getting the profiling output and sorry for the trouble.
WOW, that is great!
I tried it (downloaded and put int extension on Mac) but keep getting a launch error j
java.lang.reflect.InvocationTargetException - this happened when J3D 1.4 loaded and my app called a 1.5 method…here it’s from caused by: java.lang.NoClassDefFoundError: javax/media/opengl/GLException so it’s not hooking up/finding into the JOGL lib correclty it seems…
I may not have it configured just right yet but I have all the j3d jars and the JOGL jars and libs in the extensions folder now, and still get that error…ok even with the original j3dcore.jar I get that error, so possibly this related to the “rend” jogl proprety in the .jnlp? I say that because it’s running the smae .jnlp but the jars are already in the extension folder, but it doesn’t seem to be executing them correctly.
[mod] at this point I have tried many different .jnlp/install extension combinations and keep getting that error unless I just remove them all and run the original .jnlp, and thus not the j3dcore fix.
[mod[ OK I got ti working in the extensions folder. sweet
But Still…
In testing across several machines here, the best way is using Web Start, because we only have to yank the default J3D 1.4 jars, and web start works after that.
To test with the jar we have to put it on each machine.
Is there any way you can set up a tmp-dev web start .jnlp like the current 1.5.0 is?
Whether or not please let me know ASAP so I know what actions I’ll need to take to streamline what I can do.
And thanks SO much for the amazing support!
I’ve asked Kevin Rushforth to re-push the Java Web Start binaries for Java 3D 1.5.0. Let’s see whether that can be done today.
Great. I managed to get to profile on one machine so far and the pushAttrib is no longer the top hit, it’s glDrawElements, as I would expect since my scene is all indexed.
The second hit is glPushAttrib at about have the time of glDrawElements. That still seems a bit high but it is definitely different than before. I will get to test on more machines as the day goes on.
One thing to note is that i am seeing no performance improvement on my MacBook. The test shouldn’t be fill bound, and I can see that frame resize isn’t affect the frame rate, as well as that on Windows on this hardware, it is running ~twice as fast for a complex scene. That is what i am trying to get Apple to see right now. Once I get some more feedback I’ll post again then.
Ok I at least got another window grab of the current profile for what it’s worth. One thing to note is that the Mac Mini is the Intel graphics, this MacBook is ATI and the new Mac Pro is nVidia…
Ok, i have yet another path of testing to head down, Java 6.0. I have the cb app set up to launch command-line for profiling so now I can try with Java 6.0 for OS X…
A new JNLP build is available that includes Ken’s fix. I put it in the same place, since it is an interrim, experimental build anyway. It should identify itself as Java 3D version 1.5.0-pre6-0608091256-experimental (at least on Mac and Windows).
Try the following to verify: http://download.java.net/media/java3d/webstart/test/QueryProperties-1.5.0-exp.jnlp
– Kevin
nm
I get a sweet crash on launching that:
Here’s the dump of the crashed thread:
Thread 25 Crashed:
0 libobjc.A.dylib 0x90a4e380 objc_msgSend + 16
1 libjogl.jnilib 0x026c1f0f createContext + 1103
2 libjogl.jnilib 0x026c333e Java_com_sun_opengl_impl_macosx_CGL_createContext1__JJIIIIIIIIIIIIIIIILjava_lang_Object_2I + 229
3 <<00000000>> 0x0457a1d1 0 + 72851921
4 <<00000000>> 0x04574994 0 + 72829332
5 <<00000000>> 0x04574994 0 + 72829332
6 <<00000000>> 0x04574a6b 0 + 72829547
7 <<00000000>> 0x04574a6b 0 + 72829547
8 <<00000000>> 0x045749bf 0 + 72829375
9 <<00000000>> 0x045749bf 0 + 72829375
10 <<00000000>> 0x045749bf 0 + 72829375
11 <<00000000>> 0x04574913 0 + 72829203
12 <<00000000>> 0x045749ea 0 + 72829418
13 <<00000000>> 0x04574913 0 + 72829203
14 <<00000000>> 0x0457215d 0 + 72819037
15 libclient.dylib 0x9bdf2e4e jio_snprintf + 397272
16 libclient.dylib 0x9bdff2ef JVM_StartThread + 2323
17 libclient.dylib 0x9bdff201 JVM_StartThread + 2085
18 libclient.dylib 0x9bdff151 JVM_StartThread + 1909
19 libclient.dylib 0x9bdff07d JVM_StartThread + 1697
20 libclient.dylib 0x9bd8a0a9 JNI_CreateJavaVM_Impl + 52779
21 libSystem.B.dylib 0x90024b07 _pthread_body + 84
Ok this testing environment is getting fun, this could be because i had to put all my jars in the extension folder, let me yank that and try again…yep, I still get the smae crash.
If you want the entire crash report I can email it but it;s too big to paste in these forums.
I can reproduce this crash and will look into it. I think it’s unrelated to the fix contained in that build.
I agree, however, I checked that .jnlp and the one it referenced, and it didn’t link to a different (by URL) j3dcore.jar
When I run my web start launch it still find the old (1.5.0 exp 5 aug 4th) build.
Maybe the older (Fri 4-Aug) version is cached and the new one (Wed 9-Aug) didn’t get downloaded for some reason? What I did was to upload the new version and then swap in (rename) the new “early-access” directory for the old.
– Kevin
Ok thanks for the confirmation, I’ll figure out what’s going on here.
I have gutting my install in many places but it’s still finding the downloaded one some how!
I’m still a bit of a Mac newb I’m afraid… but learning quickly (I did start out on Irix systems so I have a prayer at least).
Ok it’s running from web start on another Mac, and I confirmed the version in the console.
Unfortunately, we are still seeing lower performance than we expect for a “full” scene. We’ll keep pressing on, I am trying to make sure this makes the rounds so the Apple people can/will determine if this is in Mac OpenGL or not :-).
I’m just curious but did you get any further with this?
Dan.
Also, (shawnkendall ) what is the profiling tool that you used? Is that a OSX tool only?
Also, (shawnkendall ) what is the profiling tool that you used? Is that a OSX tool only?
I used Mac tools, I believe it was called “shark”.
I’m just curious but did you get any further with this?
Dan.
The latest Java3D releases are working well on Mac OS X now.