Priority: P1: Critical
Affects Version/s: 5.10.1
Fix Version/s: None
Environment:Dell Latitude E5570
i5-6300U @ 2.4GHz, 8 GB RAM
Intel HD Graphics 520
I have multiple problems with Qt3D Scene2D within a NodeInstantiator. My goal is to display a 3D model and a Quick UI for each element in a model. While loading the model often the application just freezes (a higher number of Scene2D makes it more likely to happen) (see Freeze Load.png for the stack of the main thread). Sometimes the same also happens while shutting down the application (See FreezeUnload.png for the stack).
When I disable the model during runtime and then enable again always the texture of the Scene2D is either corrupted or just black.
I build some minimal example to reproduce the problem based on the existing qt3d\scene2d example. Basically the only thing I changed is to add a NodeInstantiator around the entity containing the Scene2D and the cube it is shown on (see scene2d.zip for the modified project) and add an ObjectPicker to the Qt logo to add more Scene2Ds during runtime. With instantiating 10 times it works, but with 20 times it always freezes (see FreezeActivate-Stacktrace.txt for the stacks of all threads). When I set the initial number in the NodeInstantiator instead of 20 to 1 and the click on the Qt logo (to increase the number) I soon get corrupted textures (usually with 3 or 4 instances) (see Scene2D-corruption.png) and when increasing the number more soon it also freezes (see FreezeActivate-Stacktrace-4-Scene2D.txt) for a run where it froze with 4 instances.
I can also get corrupted textures if commenting line 113 instead of 111 in main.qml (toggling NodeInstantiator.active instead of changing the model)