You don't mention what resolution your image is. Are you trying to capture a 1024x768 image and compress it to JPEG in "real time" (not likely to work on current hardware). Perhaps writing to another (non-compressed) format would be able to sustain a faster rate and/or reduce the size of your image. And of course run it on the fastest system you can. I'd be curious if anyone has tried this on a scene that normally is capable of maintaining 50+ FPS to see if simple video capture is actually feasible at all?
- John Wright Starfire Research
Yu Wang wrote:
Hi All,
Currently I am working on video saving from Java 3D. My Solution is add a behavior to the view transform group and schedule it to process every 50 ms, for example. Every time the behavior wakes up, it calls the canvas' off-screen render method to render the current scene into a image object. Once the save process ends, I use the sample program in JMF to make all the Jpeg images into a movie clip.
But my question is that it can never gain the desired frame rates in the movie. It usually takes more than 0.2sec to render a single frame off-screen. If I add more canvas to the scene, the memory becomes a key issue. What is worse, the Behavior class cannot be scheduled properly. Another interesting thing is that if I turn off the on-screen renderer while recording, it seems that the off-screen renderer get the same images, which means the transforms could not be changed by the interpolators anymore. So is there anybody who has the similar experience? I will be really appreciated if you can give any comments.
Could I get the images directly from the on-screen Canvas3D or should I use a Timer or Interpolator instead of Behavior?
Thanks again.
Paul
=========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA3D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".
