Thanks for fixing my mistake about frame rate. Anyway, iin the thread priority topic i think, i could not make myself clear about how i used Java3D. In my application Java3D is not a main part, it is only one of 4 main parts, so i dont want it to get all the process power selfishly, and enable other parts to do their jobs. So implementing things in behaviour classes is not an option.(Ofcourse i am doing Java3D related tasks in behaviour classes).
I used canvas3d.getView().setMinimumFrameCycleTime(cycleTime:). and VirtualUniverse.setJ3DThreadPriority(4) to make its thread not important and to let it render as performance lets it.
In that case, not only Java3d thread priority is set, but also Awt Thread is made slow too much. I gues Java3d is somehow related to Awt Event Thread.
And after i looked at the source code of Java3D, i realized that it also changes the priority of the current thread that is calling it. The current thread is Awt Event Queue Thread.
So to fix this, after setting the priority of the Java3D thread, i called this line.
Thread.currentThread().setPriority(Thread.NORMAL);
Is this approach the right approach?
Second, sometimes application gets an exception (from Awt Event Queue Thread), and Java3D crashes. Canvas3D does not render anything after this point. Is this a bug of Java3D. Becouse exception and Java3D are not related to each other.
Although I am not very sure if it is beacouse of Java3D but , i started to believe that Java3D threads are not working well with the other threads in the application.
Thanks,