Как улучшить производительность рендеринга 3D сцены с помощью HelixViewport - PullRequest
0 голосов
/ 30 января 2019

Я работаю над 3D-проектом в C # и WPF. Я использую Helix-Toolkit для показа различных 3D-объектов.Я часто использую сферы, и у меня есть 3D-текст на сцене.Проблема заключается в производительности, например, я при каждом перемещении мыши вычисляю позиции каждого текста в сцене, но с увеличением количества текста производительность снижается.У меня также есть элемент управления Slider для изменения радиуса сферы для каждого значения ползунка, когда пользователь перемещает ползунок, это также является проблемой производительности.Я не знаю, что делать, есть ли способ визуализации сцены, когда все визуальные объекты меняют свои значения, потому что теперь я думаю, что проблема в том, что для каждой измененной позиции текста 3D-сцена автоматически отображает свой контент.

1 Ответ

0 голосов
/ 01 февраля 2019

Во-первых, Helixtoolkit.Wpf использует внутренний 3D-движок WPF, все рекламные щиты / точки / линии нарисованы с использованием CPU.Если у вас много рекламных щитов, вы очень быстро столкнетесь с производительностью.Попробуйте использовать Helixtoolkit.Wpf.SharpDX, если это возможно.

Движение мыши имеет частоту 100 Гц в WPF, вы можете пытаться вычислять положение только для каждого события 2 перемещения или события 3 перемещения, чтобы уменьшить частоту обновления.

Я не уверен, как вы обновляете размер вашей сферы, обычно вам нужно только обновить преобразование для масштабирования вашей сферы вместо того, чтобы каждый раз создавать новую сферную сетку.

...