Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 639001)
Контекстум
Электро-2024

Оптимизация игр в Unity 5 (3000,00 руб.)

0   0
Первый авторДикинсон
ИздательствоМ.: ДМК Пресс
Страниц307
ID795125
АннотацияНичто так не отпугивает игроков, как сбои при выполнении игры. Задержки при вводе, медленное отображение, физические нестыковки, подергивание, замирание и неожиданное аварийное завершение превращают игру в кошмар, и разработчики игр должны сделать все, чтобы этого никогда не происходило! Из этой книги вы узнаете, как выявлять и исследовать узкие места во всех основных компонентах движка Unty3D. В каждом конкретном случае описываются способы идентификации проблем, порядок выявления их причин и ряд возможных решений. Издание адресовано разработчикам игр среднего и продвинутого уровня, имеющим опыт работы с Unity и языком C# и желающим повысить производительность своих приложений.
ISBN978-5-97060-432-8
УДК004.4'2Unity3D
ББК32.972
Дикинсон, К. Оптимизация игр в Unity 5 / К. Дикинсон .— Москва : ДМК Пресс, 2017 .— 307 с. — ISBN 978-5-97060-432-8 .— URL: https://rucont.ru/efd/795125 (дата обращения: 16.06.2024)

Предпросмотр (выдержки из произведения)

Оптимизация_игр_в_Unity_5.pdf
Стр.5
Стр.6
Стр.7
Стр.8
Стр.9
Оптимизация_игр_в_Unity_5.pdf
УДК 004.4'2Unity3D ББК 32.972 Д44 Д44 Оптимизация игр в Unity 5: пер. с англ. Рагимова Р. Н. – М.: ДМК Пресс, 2017. – 306 с.: ил. Дикинсон К. ISBN 978-5-97060-432-8 Ничто так не отпугивает игроков, как сбои при выполнении игры. Задержки при вводе, медленное отображение, физические нестыковки, подергивание, замирание и неожиданное аварийное завершение превращают игру в кошмар, и разработчики игр должны сделать все, чтобы этого никогда не происходило! Из этой книги вы узнаете, как выявлять и исследовать узкие места во всех основных компонентах движка Unty3D. В каждом конкретном случае описываются способы идентификации проблем, порядок выявления их причин и ряд возможных решений. Издание адресовано разработчикам игр среднего и продвинутого уровня, имеющим опыт работы с Unity и языком C# и желающим повысить производительность своих приложений. УДК 004.4'2Unity3D ББК 32.972 Copyright © Packt Publishing 2015. First published in the English language under the title “Unity 5 Game Optimization” – (9781785884580). Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-1-78588-458-0 (анг.) © 2016 Packt Publishing ISBN 978-5-97060-432-8 (рус.) © Оформление, перевод, ДМК Пресс, 2017
Стр.5
Содержание Об авторе ................................................................. 9 Благодарности .........................................................10 О технических рецензентах ....................................... 11 Предисловие ...........................................................13 Глава 1. Выявление проблем с производительностью .....19 Профилировщик Unity Profiler ....................................................................................20 Запуск профилировщика ...........................................................................................21 Окно профилировщика ..............................................................................................25 Методы анализа производительности ........................................................................32 Проверка присутствия сценария ...........................................................................33 Проверка количества сценариев .............................................................................34 Сведение к минимуму изменений в текущем коде ...........................................35 Сведение к минимуму внутренних помех ...........................................................35 Сведение к минимуму внешних помех .................................................................37 Выборочное профилирование сегментов кода ........................................................37 Управление профилировщиком из сценариев ...................................................38 Нестандартное профилирование использования центрального процессора .......................................................................................................................40 Сохранение и загрузка данных профилировщика .................................................44 Сохранение данных профилировщика .................................................................45 Загрузка данных профилировщика .......................................................................48 Заключительные соображения о профилировании и анализе ...........................52 Освоение профилировщика......................................................................................52 Уменьшение шума ........................................................................................................53 Сосредоточение внимания на проблеме ...............................................................54 Итоги ......................................................................................................................................54 Глава 2. Приемы разработки сценариев .......................56 Кэширование ссылок на компоненты .........................................................................56 Самый быстрый метод получения ссылок на компоненты .................................58 Удаление пустых объявлений обратных вызовов ...................................................61 Не используйте методов Find() и SendMessage() ..................................................63 Статические классы .....................................................................................................65 Компоненты-одиночки ...............................................................................................67 Сохранение ссылок на существующие объекты ................................................71 Глобальная система обмена сообщениями ..........................................................74 Отключение неиспользуемых сценариев и объектов ............................................85 Отключение невидимых объектов .........................................................................85 Отключение отдаленных объектов ........................................................................86
Стр.6
6  Содержание Замена расстояния квадратом расстояния ...............................................................87 Избегайте извлечения строковых свойств объектов игры ..................................89 Метод Update, сопрограммы и метод InvokeRepeating ........................................91 Кэширование изменений компонента Transform ....................................................97 Ускорение проверки отсутствия ссылки на игровой объект ..............................98 Итоги ......................................................................................................................................99 Глава 3. Преимущества пакетной обработки ...............100 Вызовы системы визуализации ..................................................................................101 Материалы и шейдеры ...................................................................................................103 Динамическая пакетная обработка ............................................................................107 Атрибуты вершин .......................................................................................................108 Однородное масштабирование ..............................................................................109 Краткие выводы о динамической пакетной обработке .................................110 Статическая пакетная обработка ................................................................................111 Флаг Static ....................................................................................................................111 Требования к памяти .................................................................................................112 Ссылки на материалы ...............................................................................................113 Особенности использования статической пакетной обработки ................113 Краткие выводы о статической пакетной обработке .....................................115 Итоги ....................................................................................................................................116 Глава 4. Привнесение искусства ................................117 Аудио ....................................................................................................................................118 Загрузка аудиофайлов ..............................................................................................118 Форматы кодирования и уровни качества ........................................................121 Улучшение производительности аудио ..............................................................123 Файлы текстур ..................................................................................................................128 Форматы сжатия .........................................................................................................129 Улучшение производительности обработки текстур .....................................131 Файлы мешей и анимаций ............................................................................................141 Уменьшение количества полигонов .....................................................................141 Импорт/расчет только необходимого .................................................................143 Встраиваемые анимации ..........................................................................................143 Оптимизация мешей движком Unity ..................................................................144 Объединение мешей ..................................................................................................145 Итоги ....................................................................................................................................145 Глава 5. Разгон физического движка ..........................147 Внутреннее устройство физического движка ........................................................148 Физические движки и время ..................................................................................148 Статические и динамические коллайдеры ........................................................152 Обнаружение столкновений ...................................................................................153 Виды коллайдеров ......................................................................................................154 Матрица столкновений ............................................................................................155 Активное и неактивное состояния компонента Rigidbody ..........................156 Отбрасывание лучей и объектов ...........................................................................157 Оптимизация производительности физической системы ................................157 Настройка сцены ........................................................................................................157
Стр.7
Содержание  7 Правильное использование статических коллайдеров .................................160 Оптимизация матрицы столкновений ................................................................161 Предпочтение дискретного обнаружения столкновений .............................162 Изменение частоты фиксированных обновлений ..........................................163 Настройка максимально допустимой длительности .....................................165 Уменьшение отбрасывания лучей и ограничение проверяемого объема .....165 Избегайте сложных меш-коллайдеров ...............................................................167 Избегайте сложных физических компонентов ................................................170 Пусть физические объекты поспят ......................................................................170 Изменение количества итераций ..........................................................................172 Оптимизация тряпичных кукол ............................................................................173 Когда следует использовать физическую систему .........................................175 О возможности перехода на Unity 5 ....................................................................176 Итоги ....................................................................................................................................177 Глава 6. Динамическая графика ................................178 Профилирование проблем отображения .................................................................179 Профилирование графического процессора .....................................................181 Отладка кадров ............................................................................................................184 Поиск методом перебора ..........................................................................................185 Основная нагрузка приходится на центральный процессор .......................185 Узкие места на этапе предварительной обработки...............................................189 Уровень детализации.................................................................................................189 Отключение скининга графическим процессором .........................................191 Уменьшение тесселяции ..........................................................................................192 Узкие места на этапе окончательной обработки ...................................................192 Скорость заполнения ................................................................................................192 Пропускная способность памяти ..........................................................................206 Ограничения видеопамяти ......................................................................................210 Освещение и затенение ..................................................................................................212 Непосредственное отображение............................................................................213 Отложенное затенение .............................................................................................214 Обработка освещения в вершинном шейдере (устаревший способ) .......214 Обработка теней в реальном времени .................................................................215 Оптимизация освещения .........................................................................................215 Оптимизация графики для мобильных устройств...............................................217 Минимизация обращений к системе визуализации ......................................218 Минимизация количества материалов ...............................................................218 Уменьшение размеров текстур и количества материалов ............................218 Квадратные текстуры с размером стороны, кратной степени числа 2 ....219 Использование в шейдерах форматов с минимально допустимой точностью..................................................................................................................................219 Избегайте альфа-тестирования .............................................................................219 Итоги ....................................................................................................................................219 Глава 7. Мастерство управления памятью ...................221 Платформа Mono .............................................................................................................222 Процесс компиляции ................................................................................................224
Стр.8
8  Содержание Оптимизация использования памяти .......................................................................226 Области памяти Unity ..............................................................................................227 Значения и ссылки .....................................................................................................236 Важность порядка размещения данных .............................................................249 Прикладной программный интерфейс Unity ...................................................250 Циклы foreach ..............................................................................................................251 Сопрограммы ...............................................................................................................252 Замыкания ....................................................................................................................252 Функции в библиотеке .NET ..................................................................................253 Временные рабочие буферы ...................................................................................254 Пулы объектов .............................................................................................................254 Пулы шаблонных объектов ..........................................................................................257 Компоненты пула .......................................................................................................260 Система пулов шаблонных объектов ..................................................................263 Пулы шаблонных объектов .....................................................................................267 Активация объектов ..................................................................................................268 Предварительное создание экземпляров ...........................................................269 Деактивация объектов ..............................................................................................270 Тестирование пула шаблонных объектов ...........................................................271 Организация пулов шаблонных объектов и загрузка сцены ......................272 Итоговые замечения об организации пулов шаблонных объектов ..........273 Дальнейшее развитие Mono и Unity .........................................................................274 Итоги ....................................................................................................................................276 Глава 8. Тактические советы и подсказки ....................278 Подсказки по клавишам быстрого доступа в редакторе ....................................279 Игровые объекты ........................................................................................................279 Представление сцены ................................................................................................279 Массивы .........................................................................................................................280 Интерфейс .....................................................................................................................280 Прочее.............................................................................................................................281 Советы, касающиеся интерфейса редактора ..........................................................281 Общие .............................................................................................................................281 Представление инспектора .....................................................................................284 Представление проекта ............................................................................................286 Представление иерархии .........................................................................................287 Представления сцены и игры .................................................................................288 Режим воспроизведения ..........................................................................................289 Советы для сценариев ....................................................................................................290 Общие .............................................................................................................................290 Атрибуты .......................................................................................................................291 Регистрация ..................................................................................................................293 Полезные ссылки ........................................................................................................293 Советы по настройке редактора и меню ..................................................................294 Советы, не касающиеся Unity напрямую ...............................................................296 Другие советы ..............................................................................................................297 Итоги ....................................................................................................................................298 Предметный указатель ............................................300
Стр.9

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст