From Manuel Gollnitz (sniperisa), 9th Dec. 2005, 16th Jan. 2006
At the Java 3D forum
at javadesktop.org and personal e-mail.
Summarised by Andrew Davison
I tried the technique in this chapter to play a movie that's larger than 128x128 pixels. At 512x512 pixels, I only get 1 frame/sec or slower. My PC is an Athlon 64 3000+ with a Geforce 6600 GT.
I switched off vertical sync via the Geforce control panel, and the frame/rate increased to 5-10.
My movie is playing as a background image, so I've decided to move to using preRender() in a subclass of Canvas3D instead of a Background node. It's much more efficient, since the background is being painted as an ordinary image; I don't need to render via a Background node texture.
I also replaced the JMF player by a video player using native code: dsjplayer and JARvideo from jARToolKit 2.0, a Java binding to the ARToolKit. ARToolKit is a software library for building Augmented Reality (AR) applications which overlay virtual imagery onto the real world.
The new player can handle DivX (a digital video compression format based on MPEG-4), and generates less jitters in the video stream.
My response (13th January 2006):
I've just completed Chapter 26.5, which explains how to use preRender() (and postRender()) in a subclass of Canvas3D.