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

Рекомендуемые настройки проигрывателя для оптимизации веб-компилирования

Используйте следующие рекомендуемые настройки Игрок для оптимизации сборок для веб-платформы Unity.

Краткое руководство по настройкам игрока

Эти настройки можно найти в Изменить > Project настройки > Игрок. Для получения дополнительной информации о каждой настройке, обратитесь к деталям в Настройки Игрока.

Настройка Рекомендуемая настройка Описание
API Совместимость .NET Стандарт 2.1 Производит меньшие постройки.
IL2CPP Генерация кодов Оптимизация для размера кода и времени сборки Генерирует код, оптимизированный для размера сборки и итерации.
Управляемый уровень стрипинга Высокая Unity выполняет высокий уровень управляемого стриптинга для создания меньшей сборки.

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

Настройка Рекомендуемая настройка Описание
Формат сжатия Бротли Файлы, сжатые Brotli, меньше по размеру.
Кэширование данных Включено Работает быстрее, потому что кэшированные данные не нужно загружать снова при последующих запусках (если только содержимое не изменилось).
Символы отладки Выкл. Символы отладки могут замедлить ваше приложение.
Включить исключения Нет Включите Цель WebAssembly 2023 год вместо этого для исключений без накладных расходов.
Целевой показатель WebAssembly 2023 Включить Набор функций Web Assembly 2023 содержит функции, которые помогают оптимизировать проект.
Максимальный размер памяти (MB) Введите количество памяти, которое вам нужно в MB. Unity Веб поддерживает до 4096 MB памяти для вашей сборки.

API Совместимость

Используйте настройку API Уровень совместимости, чтобы выбрать, какие .NET APIs можно использовать в вашем проекте. Рекомендуемая настройка .Net Стандарт 2.1, потому что эта настройка создает меньшие сборки и имеет межплатформенную поддержку. Однако вам нужно проверить, полностью ли поддерживает ваша платформа .Net Стандарт 2.1. Другие параметры см. в Настройки веб-плеера.

Изменить уровень совместимости API

Чтобы изменить Уровень Совместимости API с помощью скрипта, добавьте следующий код в один из ваших скриптов:

PlayerSettings.SetApiCompatibilityLevel(namedBuildTarget, ApiCompatibilityLevel.NET_2_0);

IL2CPP Генерация кода

Используйте настройку IL2CPP Генерация кода для настройки того, как Unity управляет генерацией кода IL2CPP (если ваш проект использует IL2CPP бэк-энд скриптов).

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

Для получения дополнительной информации, см. IL2CPP обзор.

Изменить IL2CPP код генерации через C

Чтобы включить этот параметр с помощью скрипта, добавьте следующий код в один из своих скриптов:

PlayerSettings.SetIl2CppCodeGeneration(namedBuildTarget,         
                                       Il2CppCodeGeneration.OptimizeSize);

Управляемый уровень стрипинга

Используйте Управляемый уровень стрипинга для настройки того, насколько процесс линкера Unity удаляет неиспользуемый код из управляемого DLLs, используемого вашим проектом. Рекомендуемая настройка Высокая, так как удаление кода может значительно сократить размер исполняемого файла, что важно для веб-приложений. Однако возможные побочные эффекты могут включать:

  • Управляемая отладка кода некоторых методов может не работать.

  • Вам может понадобиться поддерживать пользовательский файл link.xml.

  • Некоторые пути кодов отражения могут вести себя иначе.

Дополнительные сведения см. в разделе Управляемый стриптинг кода.

Изменение управляемого уровня удаления через C

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

PlayerSettings.SetManagedStrippingLevel(namedBuildTarget,     
                                        ManagedStrippingLevel.High);    

Формат сжатия

Выберите формат сжатия, который будет использоваться для файлов сборки выпуска. Бротли является рекомендуемым параметром, поскольку он имеет наилучшие коэффициенты сжатия и сжатые файлы Brotli меньше, чем gzip. Меньшие файлы лучше всего подходят для веб-приложений. Однако Chrome и Firefox поддерживают Brotli только в том случае, если пользователь получает доступ к веб-сайту через HTTPS. Кроме того, хотя большинство современных серверов поддерживают Brotli, некоторые серверы не поддерживают его. Убедитесь, что ваш сервер поддерживает Brotli.

Дополнительные сведения о форматах сжатия см. в Развертывание веб-приложения.

Изменение формата сжатия через C# скрипт

Чтобы включить этот параметр с помощью скрипта, добавьте следующий код в один из своих скриптов:

PlayerSettings.WebGL.compressionFormat = WebGLCompressionFormat.Brotli;

Кеширование данных

Включите Кэширование данных, чтобы Unity кэшировал данные ассетов контента на компьютере пользователя. Кэширование данных может ускорить запуск приложения. Дополнительные сведения см. в Поведение кэша в Web.

Включить кэширование данных через скрипт C#

Чтобы включить этот параметр с помощью скрипта, добавьте следующий код в один из своих скриптов:

PlayerSettings.WebGL.dataCaching = true;

Символы отладки

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

Отключить символы отладки через скрипт C#

Чтобы отключить эту настройку с помощью скрипта, добавьте следующий код в один из своих скриптов:

PlayerSettings.WebGL.debugSymbolMode = WebGLDebugSymbolMode.Off;

Включить исключения

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

Однако при использовании этой опции любое исключение приводит к тому, что контент останавливается с ошибкой, поэтому лучше включить исключения во время разработки и тестирования. Дополнительные сведения см. в разделе Настройки Web Player.

Отключить исключения через скрипт C#

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

PlayerSettings.WebGL.exceptionSupport = WebGLExceptionSupport.None;

Цель WebAssembly 2023 год

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

Включить WebAssembly 2023 через скрипт C#

Чтобы включить этот параметр с помощью скрипта, добавьте следующий код в один из своих скриптов:

PlayerSettings.WebGL.wasm2023 = true;
// PlayerSettings.WebGL.webAssemblyTable = true;
// PlayerSettings.WebGL.webAssemblyBigInt = true;

Чтобы включить функции WebAssembly.Table или BigInt без WebAssembly 2023, удалите первую строку кода и удалите строки комментариев.

Максимальный размер памяти (MB)

Unity поддерживает до 4096 MB памяти для вашей сборки. Для большинства приложений, 2048 MB памяти достаточно. Но для более сложных реального времени 3D опыта, особенно для настольных браузеров, лучше иметь больше памяти. С большей памяти, вы можете загрузить в богатых, больших сцен более динамично.

Однако, существуют известные ошибки для сборок свыше 2048 MB в Firefox и Chrome браузерах до версии 119.

Изменение максимальной памяти с помощью скрипта C#

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

PlayerSettings.WebGL.maximumMemorySize = 4096; 

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