I have an application that can render static geometry at about 60 fps using only about 40% of the CPU. As soon as I start dragging a shape (process mouse events) the fps drops to about 4 and the cpu load jumps to almost 100%. I a lot of system time on the activity monitor. My measurements of draw time (using System.currentTimeInMillis) reflects this, but the Apple OpenGL profiler shows a steady 20% in OGL. So either my code is consuming a lot more time or JOGL is doing something to consume time. Since I am measuring wall clock time it is quite possible another thread is preempting my measurements of draw time. I have not been able to locate a good way to isoate where the CPU is going. Even the 100% overhead on steady state seems high, but the sudden change in overhead is what is really bothering me. I am using an Animator derivitive that limits fps to about 60. All calls to my GLEventListener are occuring on the AWT event thread, rather than the Animator thread which is set as the render thread.
Any pointers would help. A good per-thread CPU meter would also help locate the time.
Michael