07-07-2021, 02:49 PM
I've tried to collect a bit more information about the thread exception:
2021-07-07 14:03:38.374 DXEngine Fatal: Unhandled exception in RenderScene: Still waiting for previous thread to finish rendering
Still waiting for previous thread to finish rendering
Exception
at Ab3d.DirectX.CompleteRenderingStep.OnRun(RenderingContext renderingContext)
at Ab3d.DirectX.RenderingStepBase.Run(RenderingContext renderingContext)
at Ab3d.DirectX.DXScene.al(RenderingContext a)
at Ab3d.DirectX.DXScene.ak(RenderingContext a, Boolean b, Boolean c, DXScene d)
at Ab3d.DirectX.DXScene.RenderScene(DXScene childDXScene, Boolean forceRender, Boolean forceUpdate)
at Ab3d.DirectX.Controls.DXView.RenderScene(Boolean forceRender, Boolean forceUpdate)
at Ab3d.DirectX.Controls.DXView.RenderScene(Boolean forceRender, Boolean forceUpdate)
at Ab3d.DirectX.Controls.DXView.j(Object a, EventArgs b)
It happens, when I change selection (outline), animate the object (transformation). Both happen in a locked access from DXViewportView.SceneUpdating. There I run my own update of my data and also update (if needed) of SceneNodes (selection, animation, visibility, rendering queues). The SceneNodes are modified and Notify* is called.
2021-07-07 14:03:38.374 DXEngine Fatal: Unhandled exception in RenderScene: Still waiting for previous thread to finish rendering
Still waiting for previous thread to finish rendering
Exception
at Ab3d.DirectX.CompleteRenderingStep.OnRun(RenderingContext renderingContext)
at Ab3d.DirectX.RenderingStepBase.Run(RenderingContext renderingContext)
at Ab3d.DirectX.DXScene.al(RenderingContext a)
at Ab3d.DirectX.DXScene.ak(RenderingContext a, Boolean b, Boolean c, DXScene d)
at Ab3d.DirectX.DXScene.RenderScene(DXScene childDXScene, Boolean forceRender, Boolean forceUpdate)
at Ab3d.DirectX.Controls.DXView.RenderScene(Boolean forceRender, Boolean forceUpdate)
at Ab3d.DirectX.Controls.DXView.RenderScene(Boolean forceRender, Boolean forceUpdate)
at Ab3d.DirectX.Controls.DXView.j(Object a, EventArgs b)
It happens, when I change selection (outline), animate the object (transformation). Both happen in a locked access from DXViewportView.SceneUpdating. There I run my own update of my data and also update (if needed) of SceneNodes (selection, animation, visibility, rendering queues). The SceneNodes are modified and Notify* is called.

