Версия: 1.7

Производительность

Deneb ещё в начале пути

Мы только начинаем развивать Deneb. Большая часть проделанной работы была связана с решением технических задач, необходимых для реализации его возможностей внутри пользовательского визуала.

В большинстве случаев Deneb должен работать достаточно быстро. Однако если вы создаёте огромный визуал с большим количеством данных, подумайте о результате и о нагрузке, которую он может создавать на компьютере клиента — как во время разработки, так и при просмотре конечными пользователями.

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

На этой странице приведены рекомендации, которые помогут поддерживать оптимальную производительность.

Выбор средства отрисовки

Выбрать средство отрисовки можно на панели Settings редактора визуала.

По умолчанию используется SVG, который отрисовывает спецификацию в виде векторной графики. Также можно выбрать Canvas, использующий растровую графику.

  • SVG обычно применяется для большинства простых визуализаций данных. Как правило, он даёт более чёткое изображение, которое хорошо масштабируется при изменении размера.
  • Однако, как добавление множества визуалов на страницу отчёта Power BI может влиять на производительность, так и использование SVG с большим количеством данных может её снижать.
  • Рекомендуется по возможности использовать Canvas, особенно при разработке прототипа, когда вы ещё не знаете, с каким количеством элементов или точек данных будете работать.
  • Если вы хотите использовать SVG при большом количестве данных, подумайте, можно ли объединить несколько точек данных в один экранный элемент: например, использовать line вместо point. Это помогает уменьшить количество отдельных элементов.

Подробнее о сравнении Canvas и SVG рассказывает статья CSS-Tricks «When to Use SVG vs. When to Use Canvas». В ней собрана полезная информация и перечислены преимущества и недостатки обоих подходов.

Применение изменений во время ввода или вручную

Редактор визуала может применять изменения к результату по мере ввода. Это удобно, но может существенно замедлять работу, если вы за короткое время вносите много изменений в особенно сложную спецификацию: каждое изменение требует повторного разбора и отрисовки в Vega или Vega-Lite.

Если эта возможность включена, мы уже используем приёмы для сокращения лишних обновлений, например задержку обработки ввода до паузы в наборе текста (debouncing). Тем не менее при редактировании сложной спецификации или работе с большим объёмом данных рекомендуется применять изменения вручную, когда они готовы.

Добавляйте только необходимые столбцы и меры

Любые данные, добавляемые в визуал, влияют на производительность, в частности:

  • На запрос DAX, с помощью которого Power BI создаёт набор данных для Deneb.
  • На количество ресурсов, необходимых Deneb для обработки набора данных, а Vega или Vega-Lite — для отрисовки результата согласно спецификации.
  • На создание контекста строк с более подробной детализацией, чем вам требуется, что может усложнить получение нужного результата.

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