InkCanvas
在我的应用程序中,对象顶部有一个透明的Viewport3D
。显示Viewport3D
了一个大型 3D 网格。用户将在 上绘制草图InkCanvas
,以便选择Viewport3D
正在渲染的 3D 模型的一部分。允许用户在InkCanvas
.
当用户绘制草图时,我会遍历所有落在绘制圆内的点,并使用该VisualTreeHelper.HitTest
函数执行光线投射并确定Viewport3D
网格的哪些顶点与草图重合。
问题是VisualTreeHelper.HitTest
速度非常慢。如果我使用 aParallel.For
我仍然无法在 Viewport3D 上并行执行多个光线投射(由于Viewport3D
对象的拥有线程是 UI 线程,我必须使用Viewport3D
'Dispatcher.Invoke
函数这将击败一开始的目的Parallel.For
。)
有没有办法使用多个线程来加快速度?更好的是,是否有替代解决方案?