Unity 6.3
0 онлайн 57 гостей 3 в системе
Вход

Оптимизация производительности движущихся элементов во время выполнения

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

Некоторые свойства CSS, такие как top, left, width, height, или flex, могут вызвать перерасчеты макета при обновлении. Эти перерасчеты загрязняют макет и могут каскадировать обновления по нескольким элементам, значительно влияя на производительность отображения. Используйте эти свойства осторожно и только в случае крайней необходимости.

Наилучшие методы для движущихся элементов

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

Используйте подсказки для уменьшения вызовов рисования и регенерации геометрии

Чтобы еще больше повысить производительность, используйте подсказки по использованию для оптимизации обработки элементов во время выполнения.

  • Сокращение числа вызовов отрисовки.
  • Избегайте ненужной регенерации геометрии.

Если преобразование элемента, такое как положение, вращение или масштаб, часто меняется, установите usage hint на DynamicTransform. Это будет перенаправлять обновления преобразований непосредственно на GPU, обходя обновления сетки CPU и повышая производительность.

Вы можете установить подсказки по использованию в UI Builder, UXML или C#. В следующих примерах подсказки по использованию устанавливаются в DynamicTransform:

UXML:

<ui:VisualElement usage-hints="DynamicTransform" />

C#:

visualElement.usageHints = UsageHints.DynamicTransform;

Поддерживаемые подсказки по использованию:

Порядок обновления и отображения визуального элемента

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

Порядок обновления и отображения визуального элемента
Порядок обновления и отображения визуального элемента

Пример оптимизации отображения и обновления для часто меняющихся элементов во время выполнения см. в Перемещение элементов во время выполнения.

Дополнительные ресурсы