Profiler

What profiler is useful for jME applications?

I tested some profilers but they are typically interactive with a nice gui which is not so useful for a jME application especially when it runs in fullscreen.



What profiler so you use for jME apps?


When profiling it's probably best either to run in windowed mode. :o



YourKit and JProbe are probably the two best, although I believe Eclipse 3.2 has some profiling features that can be added to it as well.



darkfrog

YourKit is very good. It has remote profiling abilities which helps a lot.

I am (and everyone at my work) completely sold on JProfiler! use it eeeevery day…



what i've been starting to do, as a fast hack to get a better cpu-profiling, without the gpu+drawing to interfere is this:


  • override initSystem and do exactly what they do in BaseSimpleGame, but after display.createWindow add this:


Really?  I'm surprised…I always found JProfiler sort of lacking in ability of displaying the results back.  However, it's been a while since I've used it, so perhaps it has gotten better.



darkfrog

darkfrog, there's a major difference in "lacking in ability of displaying the results" and "lacking in ability of understanding the results"  XD

touch

trying to get Jprofiler working, but the following error is always popping up when running anything jme based



20-Jun-2007 18:56:54 com.jme.app.BaseGame start

INFO: Application started.

20-Jun-2007 18:56:55 com.jme.system.PropertiesIO <init>

INFO: PropertiesIO created

20-Jun-2007 18:56:55 com.jme.system.PropertiesIO load

INFO: Read properties

java.lang.VerifyError: (class: org/lwjgl/opengl/WindowsDisplay, method: getHwnd signature: ()J) Stack size too large

at org.lwjgl.opengl.Display.createDisplayImplementation(Display.java:140)

at org.lwjgl.opengl.Display.<clinit>(Display.java:109)

at com.jme.system.lwjgl.LWJGLPropertiesDialog.<init>(LWJGLPropertiesDialog.java:148)

at com.jme.app.AbstractGame.getAttributes(AbstractGame.java:191)

at com.jme.app.BaseGame.start(BaseGame.java:49)

at org.llama.test.ViewJMEXTest.main(ViewJMEXTest.java:86)





?any idea

for some reason you have to run with the vm parameter -noverify

How Strange !!



Thanks Mr Coder

i use the embeded profier of netbeans and it is working great, it give lots of usefull informations like memory allocation for each class and garbage collection. you can also check timing and locking of threads. it is really nice…

i use the embeded profier of netbeans and it is working great


Yes, profiling is a strength of NetBeans.