简体   繁体   中英

How to improve performance of rendering 3D scene using HelixViewport

I work on 3D project in C# and WPF I use Helix-Toolkit to show different 3D objects. I use Spheres a lot and I have also 3D text in the scene. The problem is performance, for instance I on each mousemove I calculate the positions of each text in the scene but as the number of text increase the performance decrease. I also have a Slider control to change spheres radius for each slider value as the user moves slider, this is also a problem of performance. I do not know what to do is there any way to render the scene when all visual objects are changed their values because I think now the problem is that for each changed text position the 3D scene renders automatically its content.

First, Helixtoolkit.Wpf is using WPF internal 3D engine, all billboards/points/lines are drawn using CPU. If you have many billboards, you will experience performance hit very quickly. Try to use Helixtoolkit.Wpf.SharpDX if possible.

Mouse move has 100Hz frequency in WPF, you can try to only calculate the position every 2 move event or 3 move event to decrease the update rate.

I am not sure how you update your sphere size, usually you need to only update the transform to scale your sphere instead of creating a new sphere mesh each time.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM