HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>В мобильной игре производительность имеет решающее значение. И это утверждение тем более актуально, когда игра сочетает в себе физику, искусственный интеллект и анимированных 3D-персонажей. В этой статье мы поговорим про подходы, которые можно использовать для оптимизации игр, созданных на основе движка Unity.</p>
1 <p>В мобильной игре производительность имеет решающее значение. И это утверждение тем более актуально, когда игра сочетает в себе физику, искусственный интеллект и анимированных 3D-персонажей. В этой статье мы поговорим про подходы, которые можно использовать для оптимизации игр, созданных на основе движка Unity.</p>
2 <h2>Performance Profiler</h2>
2 <h2>Performance Profiler</h2>
3 <p>Первое, о чем надо подумать, когда есть желание повысить производительность, - Unity Profiler. Такая функциональность доступна в Unity Pro и предоставляет разработчику возможность анализировать проблемные места.</p>
3 <p>Первое, о чем надо подумать, когда есть желание повысить производительность, - Unity Profiler. Такая функциональность доступна в Unity Pro и предоставляет разработчику возможность анализировать проблемные места.</p>
4 <p>Вообще, стоит сказать, что профайлер - это бесценный инструмент. С помощью профайлера вы сможете понять, где конкретно есть проблемы с частотой кадров. Чтобы это сделать, запустите вашу игру на мобильном устройстве, а профайлер на ПК. При запуске профайлер начнет загружать данные о производительности.</p>
4 <p>Вообще, стоит сказать, что профайлер - это бесценный инструмент. С помощью профайлера вы сможете понять, где конкретно есть проблемы с частотой кадров. Чтобы это сделать, запустите вашу игру на мобильном устройстве, а профайлер на ПК. При запуске профайлер начнет загружать данные о производительности.</p>
5 <p>Для применения профайлера на мобильных устройствах, надо сделать билд в Developer mode. В документации Unity утверждается, что для получения возможности подключения к плееру, плеер надо запустить посредством опции Development Build, находящейся в диалоговом окне Build Settings.</p>
5 <p>Для применения профайлера на мобильных устройствах, надо сделать билд в Developer mode. В документации Unity утверждается, что для получения возможности подключения к плееру, плеер надо запустить посредством опции Development Build, находящейся в диалоговом окне Build Settings.</p>
6 <p>Еще можно отметить флажок для автосоединения редактора и плеера. Профайлер покажет вам график использования CPU в процессе игры. Достаточно просто подключить мобильный девайс к машине для разработки и приступить к прохождению игры. Профайлер покажет вам все проблемы в режиме real-time. Он разобьет активности на Physics, GarbageCollector, Rendering, Scripts, VSync и прочие. Как известно, в мобильных играх проблемы с рендерингом бывают нередко. Порой, скачки производительности появляются и в скриптах при загрузке сцены, однако в этом нет ничего предосудительного. Некоторые скачки, как правило, связаны с физикой.</p>
6 <p>Еще можно отметить флажок для автосоединения редактора и плеера. Профайлер покажет вам график использования CPU в процессе игры. Достаточно просто подключить мобильный девайс к машине для разработки и приступить к прохождению игры. Профайлер покажет вам все проблемы в режиме real-time. Он разобьет активности на Physics, GarbageCollector, Rendering, Scripts, VSync и прочие. Как известно, в мобильных играх проблемы с рендерингом бывают нередко. Порой, скачки производительности появляются и в скриптах при загрузке сцены, однако в этом нет ничего предосудительного. Некоторые скачки, как правило, связаны с физикой.</p>
7 <h2>Физика и ИИ</h2>
7 <h2>Физика и ИИ</h2>
8 <p>Если мы говорим про код физики, то тут следует выделить следующие идеи оптимизации: • желательно стремиться к тому, чтобы как можно меньшее количество объектов двигалось одновременно. Не секрет, что "спящие" объекты дешевле, причем намного; • аналогичную мысль можно высказать и в отношении ИИ. Когда объект находится далеко от основного персонажа героя (либо объект не видно), не стоит запускать скрипты искусственного интеллекта; • не забывайте о том, что рейкасты весьма дорогие. Не стоит делать рейкаст на каждый фрейм - лучше попытаться кэшировать результаты, пропустив некоторые фреймы; • избегайте сложных меш коллайдеров; • проверяйте функции Update(). Эти функции запускают каждый кадр, поэтому можно сказать, что они тоже дорогие. Лучше применять вместо этого Coroutines.</p>
8 <p>Если мы говорим про код физики, то тут следует выделить следующие идеи оптимизации: • желательно стремиться к тому, чтобы как можно меньшее количество объектов двигалось одновременно. Не секрет, что "спящие" объекты дешевле, причем намного; • аналогичную мысль можно высказать и в отношении ИИ. Когда объект находится далеко от основного персонажа героя (либо объект не видно), не стоит запускать скрипты искусственного интеллекта; • не забывайте о том, что рейкасты весьма дорогие. Не стоит делать рейкаст на каждый фрейм - лучше попытаться кэшировать результаты, пропустив некоторые фреймы; • избегайте сложных меш коллайдеров; • проверяйте функции Update(). Эти функции запускают каждый кадр, поэтому можно сказать, что они тоже дорогие. Лучше применять вместо этого Coroutines.</p>
9 <p>В следующий раз поговорим об оптимизации графики.<em><a>Источник</a></em></p>
9 <p>В следующий раз поговорим об оптимизации графики.<em><a>Источник</a></em></p>
10  
10