Locked spatials within moving node

I've tried to add spatials to a node and lock the spatial. What I would expect by doing this, is that the child would be unmodifiable withing the parent node, and move with the node whenever it moves. The result of doing a transformation on the node does not result in this, but the spatial is locked in its current position in the world. The reason I want to do this, is because of performance issues. As a test example, TestScenegraph.java can be modified by adding the following line at the end of the simpleInitGame() method:



box6.lock();


Lock does exactly do performance optimization by assuming nothing will change - even translation and rotation. If you want to lock textures and geometry only, do just that (there are more lock methods with longer names - you can most likely lock everything but transformations).

Sorry for the diversion, but wouldn't a "dirty" flag be able to take the place of locking, thus giving a performance increase like it is locked when it has not changed?

No, as lock can mean compiling into a display list, it may be costly. And you know a dirty flag is not possible in jME 1…