A little more context - our use case is not really about multi-threaded rendering; it’s just that we use two separate render threads (one for the 2D screen, one for a VR environment) from within the same application. This has “historically” (well, over the last few years) grown that way. Certain aspects about the viewing state, such as selections, camera parameters, etc., is exchanged between those two rendering threads; that’s why it wouldn’t be easy to separate the two threads into separate applications - it would require a complete redesign, with using some kind of inter-process communication or message passing between the applications instead of the current sharing of data within the application.