Debugging jME applications with Java 1.6

Has anyone else than me experienced terrible performance when trying to debug their jME applications with Java 1.6? I have tried this on two different Windows systems and a Linux system (Ubuntu) with the exact same problem across the board. Debugging with Java 1.5 works very well and allows me to run the application nearly as fast as in run-mode, but debugging in 1.6 slows the application down to a crawl. Has anyone else experienced this or even better, found a solution (other than running both 1.6 and 1.5 in parallell). I run Netbeans 5.5 btw.

i use eclipse and have run in debug mode over 1000 times with no problem, in fact the server is in debug mode at the moment.



Haven't used netbeans btw.


Ok… Thanks! Then it sounds as if the problem might actually be Netbeans, which sounds very odd to me.

Does it probably use sockets instead of shared memory for the debug connection?

I've only seen reasonable drops in fps when running via Eclipse's debug mode.



Scene: player object is an env. mapped box + semi-transparent sphere. 5 large static textured boxes on a random gen. terrain from the JME tutorials. Outline pass, and a bloom pass with a scale of 4



without debug: Max FPS: ~500, Avg FPS ~300

with debug: Max FPS: ~400, Avg FPS ~270

25-35k tris, 17k-21k verts



Resolution: 1024x768x32 windowed

System: AMD 4000+, 2 gigs ram, Nvidia 7900 GTO, Eclipse 3.2.1, Sun JDK 1.6.0

irrisor said:

Does it probably use sockets instead of shared memory for the debug connection?


i thought eclipse does that.
sfera said:

irrisor said:

Does it probably use sockets instead of shared memory for the debug connection?


i thought eclipse does that.


AFAIK Eclipse spawns a new VM process and then connects via sockets for debugging. This gives it the ability to run different VM implementations or versions than what Eclipse is running on, not to mention getting rid of all of the issues with class loaders and global VM settings, etc.
From what I've seen, many slowdowns come from firewalls gunking up the works. Do you have Windows Firewall, ZoneAlarm, or anything else like that running?

Ok thanks for the feedback!



It sounds as if Eclipse and Netbeans both handle debugging the same way (connecting via a socket), but since no one who runs Eclipse seems to have a problem it still sounds as if Netbeans is what is causing the slowdown however weird it seems. I use the Windows Firewall on the Windows systems, but since I have the same problem in Ubuntu, it does not seem as if the firewall is causing the problem. Is anyone else than me running Netbeans?

Hello marqx



I'm using netbeans with jdk 1.6 on ubuntu and it's running and debugging fine so far altough i haven't debugged much on 1.6 yet.



what are You debugging btw. only Your classes or the whole jme ?

winkman said:

...only Your classes or the whole jme ?

when you're in debug mode you're just in debug mode. that means you debug all classes.

Depends on what You have buildt with debug info :wink:



After a glance at the ant build.xml it seems to me there is no debug clause specified in the javac target for compile

which according to the ant docs means -g:none is passed to javac as default which in turn means the libs are buildt

without all debug info (according to the javac 1.6 docs) so i think the jme classes can't be debugged with the default build or nightly build (in netbeans).



Please correct me if i'm wrong.

Yes, jME does not build with debug info as standard, which makes sense when it is used as a library. On a sidenote, why is compression on the JAR-files turned off?



Thanks for all responses! I still can not get it to work properly here (still the exact same problem on several platforms) though. I guess I will just have to switch between 1.5 and 1.6 until I find the problem.