External Publication
Visit Post

jME 3.10.0-beta1

jMonkeyEngine Hub June 11, 2026
Source

yaRnMcDonuts:

and also has a noticeably longer freeze/pause when attaching models to the rootNode for the first time

This is a topic on its own.

If you load a large mesh and then attach it to the scene graph, the engine will try to render it on the next frame. This can cause the render to stall until the mesh is available, meaning fully uploaded to the gpu.

How noticeable this is depends on the combination of hardware, driver, mesh size, command order, and the order in which the driver executes the commands. So my guess is that you did not notice this because, in your case, the combination is better when using OpenGL from the driver.

But JME already provides a proper way to handle this through the preload() apis. If you call preload() and wait for it to complete before attaching the mesh to the scene graph, the mesh can be uploaded asynchronously.

However, this is something the developer has to do manually. What we would need here is a way to mark meshes for “async load”, so that the engine knows not to render them until they are fully available on the gpu.

Discussion in the ATmosphere

Loading comments...