• Игры
  • Отрасль
  • Ресурсы
  • Сообщество
  • Обучение
  • Поддержка
Услуги разработчиков
Движок Unity
Создавайте 2D и 3D игры для любой платформы
ЗагрузитьТарифы и цены
Монетизация
Встроенная покупка (IAP)
Откройте и управляйте IAP в разных магазинах
Mediation
Максимизируйте доход и оптимизируйте монетизацию
Качество рекламы
Защитите пользовательский опыт вашего приложения
Tapjoy
Создавайте долгосрочную лояльность пользователей
Все продукты монетизации
Привлечение пользователей
Привлечение пользователей
Будьте замечены и привлекайте мобильных пользователей
Unity Vector AI
Соединяйте игроков с подходящими играми
Aura - реклама на устройстве
Достигайте пользователей на устройстве в пиковые моменты вовлеченности
Все продукты для роста
Примеры использования
3D сотрудничество
Создавайте и просматривайте 3D проекты в реальном времени
Иммерсивное обучение
Обучение в иммерсивных средах
Пользовательские опыты
Создавайте интерактивные 3D опыты
Все отраслевые решения
Отрасли
Производство
Достигнуть операционного совершенства
Торговля
Преобразовать опыт в магазине в онлайн-опыт
Автомобильная отрасль
Повысить инновации и опыт в автомобиле
Все отрасли
Техническая библиотека
Документация
Официальные руководства пользователя и ссылки на API
Инструменты для разработчиков
Версии релизов и трекер проблем
План развития
Обзор предстоящих функций
Глоссарий
Библиотека технических терминов
Дополнительная информация
Истории успеха
Истории успеха из реальной жизни
Руководства по лучшим практикам
Советы и хитрости от экспертов
Все ресурсы
Что нового
Блог
Обновления, информация и технические советы
Новости
Новости, истории и пресс-центр
Сообщество
Обсуждения
Обсуждать, решать проблемы и соединяться
События
Глобальные и местные события
Истории сообщества
Made with Unity
Показ Unity-креаторов
Прямые трансляции
Присоединяйтесь к разработчикам, креаторам и инсайдерам
Награды Unity
Празднование Unity-креаторов по всему миру
Для каждого уровня
Unity Learn
Освойте навыки Unity бесплатно
Профессиональное обучение
Повышайте уровень своей команды с тренерами Unity
Не использовали Unity раньше
С чего начать
Приступите к обучению
Основные пути Unity
Не использовали Unity раньше? Начните свое путешествие
Практические руководства
Практические советы и лучшие практики
Образование
Для студентов
Запустите свою карьеру
Для преподавателей
Улучшите свое преподавание
Лицензия Education Grant
Принесите мощь Unity в ваше учебное заведение
Программы сертификации
Докажите свое мастерство в Unity
Варианты поддержки
Получить помощь
Помогаем вам добиться успеха с Unity
Планы успеха
Достигайте своих целей быстрее с помощью экспертов
FAQ
Ответы на часто задаваемые вопросы
Связаться с нами
Свяжитесь с нашей командой
Тарифы и цены
Язык
  • English
  • Deutsch
  • 日本語
  • Français
  • Português
  • 中文
  • Español
  • Русский
  • 한국어
Соцсети
Валюта
Купить
  • Продукты
  • Unity Ads
  • Подписка
  • Unity Asset Store
  • Торговые посредники
Образование
  • Студенты
  • Преподаватели
  • Образовательные учреждения
  • Сертификация
  • Learn
  • Программа развития навыков
Загрузить
  • Unity Hub
  • Архив загрузок
  • Программа бета-тестирования
Unity Labs
  • Лаборатории
  • Публикации
Ресурсы
  • Платформа обучения
  • Сообщество
  • Документация
  • Unity QA
  • FAQ
  • Статус услуг
  • Истории успеха
  • Made with Unity
Unity
  • Наша компания
  • Новостная рассылка
  • Блог
  • События
  • Вакансии
  • Справка
  • Пресса
  • Партнеры
  • Инвесторы
  • Партнеры
  • Безопасность
  • Отдел Social Impact
  • Инклюзия и разнообразие
  • Связаться с нами
© Unity Technologies, 2025
  • Правовая информация
  • Политика конфиденциальности
  • Cookie-файлы
  • Использование персональных данных

Unity, логотипы Unity и другие торговые знаки Unity являются зарегистрированными торговыми знаками компании Unity Technologies или ее партнеров в США и других странах (подробнее здесь). Остальные наименования и бренды являются торговыми знаками соответствующих владельцев.

Hero background image

Настройка вашего проекта Unity для повышения производительности

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

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

  • Оптимизация производительности для графики высокого качества
  • Управление использованием GPU для игр на ПК и консолях
  • Расширенное программирование и архитектура кода
  • Улучшенная физическая производительность для плавного игрового процесса

Смотрите наши последние руководства по оптимизации для разработчиков и художников Unity 6:

  • Оптимизируйте производительность вашей игры для мобильных устройств, XR и веб-платформы в Unity
  • Оптимизируйте производительность вашей игры для консолей и PC в Unity
  • Настройте ваш проект для повышения производительности
  • Отключите ненужные настройки Player/Quality
  • Переход про IL2CPP
  • Выберите правильную частоту кадров
  • Снизьте или отключите частоту акселерометра
  • Избегайте больших иерархий
  • Сжимайте ваши текстуры
  • Используйте настройки импорта текстур
  • Атласируйте ваши текстуры
  • Проверьте количество полигонов
  • Управление настройками импорта Mesh
  • Смотрите больше оптимизаций Mesh
  • Аудит ваших активов
  • Настройте асинхронный текстурный буфер
  • Потоковые Mip карты и текстуры
  • Используйте адресуемые ресурсы

Настройте ваш проект для повышения производительности

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

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

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

Для получения дополнительной информации обратитесь к лучшим практикам для художественных активов или изучите курс Оптимизация 3D-арта для мобильных приложений на Unity Learn. Эти ресурсы предоставляют ценные идеи, которые могут помочь вам принимать обоснованные решения об оптимизации активов для веб-сборок Unity, мобильных и XR приложений.

Три типа атласов при упаковке 2D спрайтов в Unity
ТРИ ТИПА АТЛАСОВ ПРИ УПАКОВКЕ 2D СПРАЙТОВ В UNITY

Отключите ненужные настройки Player или качества

В настройках Player отключите Авто графический API для неподдерживаемых платформ, чтобы предотвратить создание избыточных вариантов шейдеров. Отключите Целевые архитектуры для старых процессоров, если ваше приложение их не поддерживает.

В настройках Качество отключите ненужные уровни качества.

Узнайте больше о Графическом API.

Настройки качества
В НАСТРОЙКАХ КАЧЕСТВА ОТКЛЮЧИТЕ НЕНУЖНЫЕ УРОВНИ КАЧЕСТВА.

Переход про IL2CPP

Переключение бэкенда сценариев с Mono на IL2CPP (промежуточный язык на C++) может обеспечить лучшую производительность во время выполнения. Тем не менее, это также может увеличить время сборки. Некоторые разработчики предпочитают использовать Mono локально для более быстрой итерации, а затем переключаться на IL2CPP для сборочных машин и/или кандидатов на релиз. Обратитесь к документации Оптимизация времени сборки IL2CPP для получения дополнительной информации о сокращении времени сборки.

Примечание: Используя эту опцию, Unity преобразует IL-код из скриптов и сборок в C++ перед созданием нативного бинарного файла (.exe, .apk, .xap) для вашей целевой платформы.

Смотрите Введение в внутренности IL2CPP или обратитесь к руководству по параметрам компилятора, чтобы узнать, как различные параметры компилятора влияют на производительность во время выполнения.

Выберите правильную частоту кадров

Мобильные проекты должны балансировать частоту кадров с временем работы от батареи и тепловым троттлингом. Вместо того чтобы нагружать ваше устройство на 60 fps, рассмотрите возможность работы на 30 fps в качестве компромисса. Unity по умолчанию устанавливает 30 fps для мобильных устройств.

При нацеливании на XR-платформы соображения частоты кадров становятся еще более критичными. Частота кадров 72 fps, 90 fps или даже 120 fps часто необходима для поддержания погружения и предотвращения укачивания. Эти более высокие частоты кадров помогают обеспечить плавный и отзывчивый опыт, что имеет решающее значение для комфорта в VR-средах. Тем не менее, это связано с собственными проблемами в отношении потребления энергии и теплового управления, особенно в автономных VR-гарнитурах.

Выбор правильной частоты кадров заключается в понимании конкретных требований и ограничений вашей целевой платформы, будь то мобильное устройство, автономная VR-гарнитура или AR-устройство. Тщательно выбирая подходящую частоту кадров, вы можете оптимизировать как производительность, так и пользовательский опыт на различных платформах.

Вы также можете динамически настраивать частоту кадров во время выполнения с Application.targetFrameRate. Например, вы можете снизить частоту ниже 30 fps для медленных или относительно статичных сцен и оставить более высокие настройки fps для игрового процесса.

Дополнительная информация доступна в документации.

Снизьте или отключите частоту акселерометра

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

Узнайте больше об акселерометре.

Как установить частоту акселерометра
ОТКЛЮЧИТЕ ЧАСТОТУ АКСЕЛЕРОМЕТРА, ЕСЛИ ВЫ ЕГО НЕ ИСПОЛЬЗУЕТЕ В СВОЕЙ МОБИЛЬНОЙ ИГРЕ.

Избегайте больших иерархий

Разделите свои иерархии. Если вашим GameObjects не нужно быть вложенными в иерархию, упростите родительские связи.

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

Смотрите Оптимизация иерархии и этот доклад Unite для советов по Трансформам.

Сжимайте ваши текстуры

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

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

Единственные исключения:

  • игры для iOS, нацеленные на устройства A7 или ниже (например, iPhone 5, 5S и т. д.) – используйте PVRTC
  • игры для Android, нацеленные на устройства до 2016 года – используйтеETC2(сжатие текстур Ericsson)

Если сжатые форматы, такие как PVRTC и ETC, не обладают достаточным качеством, и если ASTC не полностью поддерживается на вашей целевой платформе, попробуйте использовать текстуры с 16 битами вместо 32 бит.

Смотрите руководство для получения дополнительной информации о рекомендуемом формате сжатия текстур по платформам.

Несжатым текстурам требуется больше памяти, чем сжатым в DXT1
НЕСЖАТЫЕ ТЕКСТУРЫ ТРЕБУЮТ БОЛЬШЕ ПАМЯТИ, ЧЕМ СЖАТЫЕ.

Используйте настройки импорта текстур

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

  • Уменьшите максимальный размер:Используйте минимальные настройки, которые дают визуально приемлемые результаты. Это неразрушающе и может быстро уменьшить вашу память текстур.
  • Используйте степени двойки (POT):Unity требует размеры текстур POT для форматов сжатия текстур.
  • Отключите опцию "Чтение/Запись включено":Когда эта опция включена, создается копия как в адресуемой памяти CPU, так и в GPU, удваивая объем памяти текстуры. Отключите ее в большинстве случаев и включайте только если вы создаете текстуру во время выполнения, которую нужно перезаписать. Вы также можете принудительно включить эту опцию через Texture2D.Apply, передав makeNoLongerReadable установленный в True.
  • Отключите ненужные Mip Maps:Mip Maps не нужны для текстур, которые остаются постоянного размера на экране, таких как 2D спрайты и графика UI. Однако оставьте Mip Maps включенными для 3D моделей, которые варьируются по расстоянию от камеры.

Узнайте больше о настройках импорта текстур.

Атласируйте ваши текстуры

Атласирование — это процесс группировки нескольких меньших текстур в одну большую текстуру. Атласы текстур уменьшают использование памяти и требуют меньше вызовов отрисовки, тем самым уменьшая нагрузку на GPU.

  • Для 2D проектов: Используйте Sprite Atlas (Asset > Create > 2D > Sprite Atlas), а не отрисовывайте отдельные спрайты или текстуры.
  • Для 3D проектов: Вы можете использовать ваш Digital Content Creation (DCC) пакет по вашему выбору. Несколько сторонних инструментов, таких как MA_TextureAtlasser или TexturePacker, также могут быть использованы для создания Texture Atlases.

Объединяйте текстуры и переназначайте UV для любой 3D геометрии, которая не требует карт высокого разрешения. Визуальный редактор дает вам возможность устанавливать и приоритизировать размеры и позиции в Texture Atlas или Sprite Sheet.

Texture Packer объединяет отдельные карты в одну большую текстуру. Unity затем может выполнить один вызов отрисовки для доступа к упакованным текстурам с меньшими накладными расходами на производительность.

Читать больше о Sprite Atlases здесь.

Интерфейс Texture Atlas
ИСПОЛЬЗУЙТЕ TEXTURE ATLASES, ЧТОБЫ УМЕНЬШИТЬ ЧИСЛО ВЫЗОВОВ ОТРИСОВКИ.

Проверьте количество полигонов

Модели с высоким разрешением требуют больше памяти и потенциально более длительного времени работы GPU. Нужна ли вашей фоновой геометрии полмиллиона полигонов? Рассмотрите возможность уменьшения моделей в вашем DCC пакете по вашему выбору. Удалите невидимые полигоны с точки зрения камеры и используйте текстуры и нормальные карты для мелких деталей вместо высокоплотных сеток.

Удаление граней модели
УДАЛИТЕ ЛЮБЫЕ НЕВИДИМЫЕ ГРАНИ ДЛЯ ОПТИМИЗАЦИИ ВАШИХ МОДЕЛЕЙ.

Управление настройками импорта Mesh

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

  • Сжать сетку: Агрессивное сжатие может уменьшить занимаемое дисковое пространство (память во время выполнения, однако, не затрагивается). Обратите внимание, что квантование сетки может привести к неточностям, поэтому экспериментируйте с уровнями сжатия, чтобы увидеть, что подходит для ваших моделей.
  • Отключить чтение/запись: Включение этой опции дублирует сетку в памяти, что сохраняет одну копию сетки в системной памяти и другую в памяти GPU. В большинстве случаев вы должны отключить это (в Unity 2019.2 и ранее эта опция включена по умолчанию).
  • Отключить риги и формы смешивания: Если вашей сетке не нужна скелетная анимация или анимация форм смешивания, отключите эти опции, где это возможно.

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

Проверьте настройки импорта сетки.
ПРОВЕРЬТЕ НАСТРОЙКИ ИМПОРТА СЕТКИ

Смотрите больше оптимизаций Mesh

Дополнительные параметры оптимизации сетки доступны в настройках Player:

  • Сжатие вершин устанавливает сжатие вершин для каждого канала. Например, вы можете включить сжатие для всего, кроме позиций и UV-карт освещения. Это может снизить использование памяти во время выполнения для ваших сеток.
  • Примечание: Настройка сжатия сетки в настройках импорта каждой сетки переопределяет настройку сжатия вершин. В этом случае копия сетки во время выполнения не сжата и может использовать больше памяти.
  • Оптимизировать данные сетки удаляет любые данные из сеток, которые не требуются материалом, примененным к ним (такие как тангенты, нормали, цвета и UV-карты).

Аудит ваших активов

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

Узнайте больше о Аудите активов в Руководстве по пониманию оптимизации.

Настройте асинхронный текстурный буфер

Unity использует кольцевой буфер для передачи текстур на GPU. Вы можете вручную настроить этот асинхронный текстурный буфер через QualitySettings.asyncUploadBufferSize.

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

Имейте в виду, что изменение значений по умолчанию может привести к высокому давлению на память. Кроме того, вы не можете вернуть память кольцевого буфера системе после того, как Unity ее выделит. Если память GPU перегружена, GPU выгружает самую последнюю и наименее используемую текстуру и заставляет CPU повторно загружать ее в следующий раз, когда она попадает в фрустум камеры.

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

Потоковые Mip карты и текстуры

Система Потоковая загрузка Mip Map дает вам контроль над тем, какие уровни Mip Map должны загружаться в память. Включите ее, перейдя в настройки Качество Unity (Правка > Настройки проекта > Качество) и отметив опцию Потоковая загрузка текстур. Вы можете включить потоковые Mip Map в Настройках импорта текстур в разделе Дополнительно.

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

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

Вы можете использовать API потоковой загрузки Mip Map для дальнейшего контроля.

Опции потоковой загрузки текстур
НАСТРОЙКИ ПОТОКОВОЙ ЗАГРУЗКИ ТЕКСТУР

Используйте адресуемые ресурсы

Система Адресуемых активов предоставляет упрощенный способ управления вашим контентом. Эта унифицированная система загружает AssetBundles по "адресу" или псевдониму, асинхронно из локального пути или удаленной сети доставки контента (CDN).

Если вы разделите свои не кодовые активы (модели, текстуры, префабы, аудио и даже целые сцены) на AssetBundle, вы сможете отделить их как загружаемый контент (DLC).

Затем используйте Addressables, чтобы создать более компактную начальную сборку для вашего мобильного приложения. Cloud Content Delivery позволяет вам размещать и доставлять контент вашей игры игрокам по мере их продвижения в игре.

Смотрите учебник Get started with Addressables на Unity Learn для быстрого обзора того, как система адресуемых активов может работать в вашем проекте.

И нажмите здесь, чтобы увидеть, как система адресуемых активов может упростить управление активами.

Загружайте активы по "адресу" с помощью системы адресуемых активов.
ЗАГРУЗИТЕ АКТИВЫ ПО "АДРЕСУ" С ПОМОЩЬЮ СИСТЕМЫ АДРЕСУЕМЫХ АКТИВОВ
Больше лучших практик от Unity
Больше советов для Unity 6

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

Больше лучших практик