XGRIDSДокументация
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Lixel CyberColor

    • Руководство пользователя LCC Studio

      • Начало работы
      • Версия и обновления
      • Загрузка и установка
      • Обзор интерфейса и навигация
      • Перед реконструкцией
      • Реконструкция модели
      • Реконструкция одиночной модели
      • Объединение карт
      • Воздушно-наземное объединение
      • Воздушная реконструкция
      • Мои модели
      • Другие функции
      • Настройки и учётная запись
      • Конвертер
      • Реконструкция по видео
      • Часто задаваемые вопросы
    • LCC Scene Editor

      • Версия и обновления
      • Учётная запись и вход
      • Обзор продукта и главная страница
      • Интерфейс редактора
      • Режимы навигации по сцене
      • Файл
      • Настройки
      • Операции редактирования
      • Окно
      • Глобальная панель инструментов
      • Ресурсы и свойства
      • Левая панель инструментов
      • Точки обзора
      • Портал
      • Skybox
      • Аннотации
      • Измерение
      • Flythrough
      • Отчёт по сцене
      • 3D Layout
      • Мини-карта
      • Preview Mode (Viewer)
      • Справка
      • Часто задаваемые вопросы
      • Точка появления
    • LCC Model Editor

      • Версия и обновления
      • Руководство пользователя
      • Обзор и интерфейс
      • Операции с файлами
      • Инструменты выбора
      • Редактирование моделей
      • Измерение
      • Цветокоррекция
      • Управление ресурсами
      • Настройки и справка
      • Часто задаваемые вопросы
  • Plugin & SDK

    • Unreal

      • Введение
      • Быстрый старт — Windows
      • Быстрый старт — Linux
      • Быстрый старт — Quest3
      • Редакции и лицензирование
      • Рендеринг
      • Растеризация Tiled (экспериментально)
      • Визуальные настройки
      • Нормали и освещение
      • Редактирование сцены
      • Параметры производительности
      • Руководство по оптимизации производительности
      • Интеграция со сторонними и движковыми плагинами
      • Прокси-меш
      • Анимация загрузки
      • Коллизии
      • Поддержка системы навигации
      • Поддержка однослойной воды
      • Локализация
      • Частые вопросы
      • Устранение неполадок
      • Журналы и диагностика
      • Свяжитесь с нами
      • Рекомендуемые практики

        • Переосвещение 3DGS с помощью меша LixelStudio
      • Справочник API

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • Actor SOG / SPZ / PLY
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ALCCLoadVolume
        • ULCCUtilLibrary
        • Enums
        • Structs
      • Журнал изменений

        • v3.4.0
        • v3.3.1
        • v3.0.0
        • v2.2.1
        • v1.0.0
        • v0.9.0
        • v0.8.0
        • v0.7.1
        • v0.6.1
        • v0.5.2
        • v0.4.1
        • v0.4.0
        • v0.3.0
        • v0.0.5
        • v0.0.4
        • v0.0.3
        • v0.0.2
        • v0.0.1

Растеризация Tiled: второй путь растеризации в LCC2

Конвейер LCC2 предлагает два способа растеризации, выбираемых свойством Rasterizer у Actor: способ по умолчанию Pipeline использует собственный конвейер рендеринга движка, а Tiled — реализованный плагином вычислительный путь на основе тайлов.

Сейчас Tiled является экспериментальным и относится к редакции Pro. Он действует только после регистрации App Key, см. Редакции и лицензирование.

В большинстве плотных сцен он заметно повышает частоту кадров, но выигрыш зависит от содержимого изображения и от того, где находится узкое место. В некоторых сценах выигрыш небольшой, а в других изменений нет вовсе. После включения подтвердите результат измерениями, как описано в разделе Как определить, есть ли выигрыш. Не считайте, что он всегда быстрее.

Примечание: «тайл» здесь означает тайлы пикселей экрана, и это не то же самое, что «рендеринг по частям» из раздела Рендеринг, где узлы загружаются по видимости из камеры. Первое определяет, как рисуются данные, уже находящиеся в видеопамяти, второе — как данные попадают в видеопамять. Они независимы и могут действовать одновременно.

Различия двух способов растеризации

Pipeline (по умолчанию)Tiled
РастеризацияПередаётся конвейеру рендеринга движка; каждый splat разворачивается в квад, и движок заполняет пикселиСобственная вычислительная отправка плагина; видимые splat сначала распределяются по экранным тайлам, затем шейдинг и композитинг идут тайл за тайлом
СортировкаОдна глобальная сортировка по всем видимым splatСегментированная сортировка по каждому экранному тайлу; каждый сегмент сортирует только те splat, которые попадают в этот тайл
ЗрелостьДавно существующий путь по умолчаниюЭкспериментальный
ЛицензированиеДоступно в бесплатной редакцииРедакция Pro

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

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

Визуальный результат в обоих случаях одинаков. Переключение Rasterizer не требует изменения других параметров и не влияет на загрузку данных, LOD, объёмы обрезки, освещение и настройки цвета.

Как включить

В категории XGrids панели Details у Actor задайте Rasterizer значение Tiled. Свойство расположено сразу после Render Mode и появляется только тогда, когда Render Mode равен 3DGS.

Вызов сеттера из Blueprint или C++:

LCC2Component->SetRasterizer(ELCC2Rasterizer::Tiled);

Есть два геттера с разным назначением:

МетодЧто возвращает
GetRasterizer()Выбор, сохранённый в панели
GetEffectiveRasterizer()Фактически действующую растеризацию с учётом проверки лицензии

Используйте GetEffectiveRasterizer(), чтобы убедиться, что путь рендеринга действительно проходит через Tiled.

Как определить, есть ли выигрыш

Поскольку выигрыш не гарантирован, измеряйте до и после переключения. Методика совпадает с Руководством по производительности:

  1. Зафиксируйте условия теста: тот же вид или траектория камеры, то же разрешение и Screen Percentage, все остальные параметры без изменений.
  2. Сначала выполните прогревочный проход, чтобы начальная компиляция шейдеров и первое чтение с диска не попали в измерения.
  3. Запишите время кадра GPU при Pipeline с помощью stat unit как базовое значение.
  4. Измените только Rasterizer и измерьте тот же вид снова.
  5. Повторите для нескольких характерных видов, особенно для изображений с наибольшей плотностью splat и самым сильным перекрытием.

Если время кадра GPU не снижается, текущее узкое место лежит за пределами того, что покрывает этот путь. Оставьте Pipeline и продолжайте искать реальное узкое место по руководству по производительности.

Область применения

ПунктПримечания
КонвейерТолько конвейер LCC2. У ALCCActor (.lcc) этого свойства нет
Форматы.lcc2 / .sog / .spz / .ply — все работают
Режим отображенияТолько режим 3DGS. Режим облака точек игнорирует свойство и всегда использует Pipeline
Движок и RHIТот же диапазон поддержки, что и у самого плагина; работают и D3D12, и Vulkan
Несколько видовСтереорендеринг VR, nDisplay, разделение экрана и SceneCapture — всё поддерживается

Поведение без лицензии

Установка Rasterizer в Tiled без зарегистрированного App Key не вызывает ошибки и не приводит к сбою загрузки. Путь рендеринга автоматически откатывается к Pipeline. Выбор, сохранённый в панели, никогда не перезаписывается, поэтому он начинает действовать сразу после регистрации лицензии, без необходимости задавать его снова.

Чтобы понять, действительно ли используется Tiled, прочитайте возвращаемое значение GetEffectiveRasterizer(): при откате он возвращает Pipeline, тогда как GetRasterizer() по-прежнему возвращает Tiled.

Примечание: перед упаковкой релиза убедитесь, что лицензия действительна, иначе упакованная сборка следует поведению бесплатной редакции и использует Pipeline.

Когда оставить Pipeline

  • Используется режим отображения облака точек. Свойство там не действует, поэтому настраивать нечего.
  • Загружены данные .lcc. В конвейере LCC этого пути нет.
  • Проекты на бесплатной редакции. Значение Tiled всё равно откатится, поэтому вариант по умолчанию понятнее.
  • Измерения не показывают улучшения времени кадра.
  • Проект перешёл к приёмочной проверке, где экспериментального пути лучше избегать.

Tiled снижает стоимость этапа рендеринга; он не уменьшает работу по загрузке и обходу. Когда узкое место на стороне загрузки данных, сначала разберитесь с загрузкой и LOD по Руководству по производительности.

Назад
Рендеринг
Далее
Визуальные настройки