Как ускорить механизмы в create
Перейти к содержимому

Как ускорить механизмы в create

  • автор:

[Guide] Увеличение скорости с разгоном

[Guide] Увеличение скорости с разгоном
[Guide] Увеличение скорости с разгоном
[Guide] Увеличение скорости с разгоном

Всем привет! С вами Maksimym200, и я покажу, как это сделать.

Система называется Увеличение скорости с разгоном.

Я думаю, не все поняли смысл названия, так я его вам сейчас поясню:

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

Переходим к постройке:

1. Вы должны создать Scoreboard с счетом расстояния пробегаемого игроком.
(/scoreboard objectives add [Любое название №1] stat.walkOneCm
2. Необходимо создать замыкание (Любое)
3. К замыканию подключить командный блок уменьшающий очки в Scoreboarde.
(/scoreboard players remove @a [Название №1] [Желательно 1-2. С единицей долго сбивается скорость после остановки]
4. К замыканию поставить командные блоки (сколько вам нужно), которые будут выдавать скорость при разгоне.
(/effect @a[score_[Название №1]_min=4] 1 1 4)
5. Подключать дальше блоки, где число 4 (первое в команде) увеличивается на 1, а число 4 (второе в команде) увеличивается на 2.

[Guide] Увеличение скорости с разгоном

Мои карты:
Logic. BO-BOOM.
HideInHouse
Cannibals
Deadly Konveer

[Guide] Увеличение скорости с разгоном

Механизмы Create

Create на 1.19? Простые но полезные механизмы с модом create

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

ЛУЧШИЙ ЗАВОД АВТО-ФЕРМА БЕСКОНЕЧНОГО ЖЕЛЕЗА с модом Create 1.16.5 - 1.18.2 Minecraft java

В этом видео мы построим бесконечную ферму железа с модом Create для Minecraft 1.16.5 и выше. ССЫЛКУ НА СКАЧИВАНИЕ КАРТЫ С ФЕРМОЙ ИЩИ В МОЕЙ ТЕЛЕГЕ =========.

ГЕНИАЛЬНЫЕ ИЗОБРЕТЕНИЯ В CREATE ОТ ПОДПИСЧИКА

ГЕНИАЛЬНЫЕ ИЗОБРЕТЕНИЯ В CREATE ОТ ПОДПИСЧИКА Донаты на развитие канала и жизнь: https://www.donationalerts.com/r/kartafan Fantasy Lands: https://www.youtu.

Пятерка показывает свои механизмы в МОДЕ CREATE

ХАЙ, если тебе нравятся мои нарезки ,то поддержи меня лайком и оформи подписочку:) ВСЕМ ПРИЯТНОГО ПРОСМОТРА:) Не забудьте оформить подписку и лайкус!!) —.

Кубическая Вселенная — Нарезки

20 АВТОМАТИЧЕСКИХ ФЕРМ ЕДЫ ДЕРЕВА И РЕСУРСОВ В МАЙКРАФТЕ - Мод CREATE

Сегодня я покажу вам свои фермы для выживания в майнкрафт с модом CREATE — Камень, песок, гравий, дерево, еда, мёд и молоко — всё это они смогут добывать без.

ГЕНИАЛЬНЕЙШИЕ ИЗОБРЕТЕНИЯ В CREATE ОТ ПОДПИСЧИКА

ГЕНИАЛЬНЕЙШИЕ ИЗОБРЕТЕНИЯ В CREATE ОТ ПОДПИСЧИКА Донаты на развитие канала и жизнь: https://www.donationalerts.com/r/kartafan Fantasy Lands: https://www.y.

ЛУЧШИЙ ЗАВОД АВТО-ФЕРМА БЕСКОНЕЧНОГО ЗОЛОТА с модом Create 1.16.5 - 1.18.2 Minecraft java

В этом видео мы построим бесконечную ферму золота с модом Create для Minecraft 1.16.5 и выше. ССЫЛКУ НА СКАЧИВАНИЕ КАРТЫ С ФЕРМОЙ ИЩИ В МОЕЙ ТЕЛЕГЕ =========.

Гайд по Create 1.18.2 - 1.19.2 #1 Основы minecraft java edition

Вторая часть гайда уже вышла: https://youtu.be/pCecUY08T8o Лайфхаки с водным колесом тут: https://youtu.be/8a1UaG_vLOA В этом видео я расскажу про основы выж.

мир-кольцо create mod

Сегодня посмотрим на мир-кольцо в майнкрафт из игры Halo. И да, оно крутится Подписон и Колоколец �� Что бы не пропустить новые видосы и быть первым 😉 Плэй.

ОН ВЫЖАЛ МАКСИМУМ ИЗ CREATE И СДЕЛАЛ ЭТО

ОН ВЫЖАЛ МАКСИМУМ ИЗ CREATE И СДЕЛАЛ ЭТО Донаты на развитие канала и жизнь: https://www.donationalerts.com/r/kartafan Fantasy Lands: https://www.youtube.co.

Крутой буровой механизм с модом Create в Майнкрафт

СБОРКА ИЗ ВИДЕО: https://www.curseforge.com/minecraft/modpacks/create-exploration-fabric Наш Discord: https://discord.gg/orambo Production Music courtesy of.

ТЫ ТОЧНО НЕ ЗНАЛ ЭТИ ФИШКИ В CREATE

ТЫ ТОЧНО НЕ ЗНАЛ ЭТИ ФИШКИ В CREATE Донаты на развитие канала и жизнь: https://www.donationalerts.com/r/kartafan Fantasy Lands: https://www.youtube.com/ch.

Дирижабли скоро в Minecraft Create Aeronautics. Что известно?

Всем привет! В этом видео я расскажу вам что ждать от аддона Create Aeronautics, который должен выйти уже в 2023 году! Дирижабли, подводные лодки, машины, ра.

ПОЕЗД - БУР В МАЙНКРАФТ CREATE МОД

В этом видео я покажу вам как построить в майнкрафт рабочий поезд — бур который можно перевозить в разные места и копать ресурсы, он полностью автоматический.

100 ЧАСОВ ВЫЖИВАНИЯ С МОДОМ CREATE #1 ► ПЕРВЫЙ МЕХАНИЗМ

��СКАЧАТЬ КАРТУ��: https://boosty.to/bunga ��СКАЧАТЬ СБОРКУ��: https://disk.yandex.ru/d/6JgUhtK2YdfaAQ ��Чтобы не пропустить следующий ролик — подпишись на канал.

Быстрое создание механизма точности. Create для Minecraft Обзор механик

Полное видео: https://youtu.be/cWyayCOSm2E ====================================================== [Cоц-сети] ★ Telegram: https://t.me/Andrk_box ★Discord: htt.

ПОЕЗД и ЖЕЛЕЗНАЯ ДОРОГА ГАЙД CREATE МОД МАЙНКРАФТ

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

ЭТО САМЫЙ ЭПИЧНЫЙ КАРЬЕР В CREATE

ЭТО САМЫЙ ЭПИЧНЫЙ КАРЬЕР В CREATE Донаты на развитие канала и жизнь: https://www.donationalerts.com/r/kartafan Fantasy Lands: https://www.youtube.com/chan.

НЕВЕРОЯТНО КРУТОЙ МЕХАНИЧЕСКИЙ ДОМ В CREATE

НЕВЕРОЯТНО КРУТОЙ МЕХАНИЧЕСКИЙ ДОМ В CREATE Донаты на развитие канала и жизнь: https://www.donationalerts.com/r/kartafan Fantasy Lands: https://www.youtube.

ГЕНИАЛЬНЫЕ ИЗОБРЕТЕНИЯ ПОДПИСЧИКА В CREATE

ГЕНИАЛЬНЫЕ ИЗОБРЕТЕНИЯ ПОДПИСЧИКА В CREATE Fantasy Lands: https://www.youtube.com/channel/UCVDQQDhtxtyE54vyoCoMMIA ЮКСИ YOUTUBE: https://www.youtube.com/ch.

КАК СДЕЛАТЬ МОСТ с модом Create 1.16.4-1.16.5 Minecraft java

В ЭТОМ ВИДЕО: МЫ сделаем ОПУСКАЮЩИЙСЯ МОСТ с помощью мода Create для minecraft java 1.16.4-1.16.5 КАК ПОСТРОИТЬ ВЕРТИКАЛЬНЫЕ ВОРОТА с CREATE: https://yout.

МЕХАНИЧЕСКИЙ ДОМ В МАЙНКРАФТ СЕКРЕТНЫЕ КОМНАТЫ И МЕХАНИЗМЫ CREATE МОД 1.16.4

Сегодня я покажу вам 5 интересных идей различных механических комнат для вашего майнкрафт дома! Ссылка приглашение на дискорд сервер Анфайни! https://disco.

https://amdy.su/wp-admin/options-general.php?page=ad-inserter.php#tab-8

100 дней ПРАВИЛЬНОГО ВЫЖИВАНИЯ с модом CREATE – ПОЛНЫЙ ФИЛЬМ Кирка

Ну что мои други. Долго ждать не пришлось. Очередные 100 дней выживания. Но в отличие от предыдущего выживания с модом Крейт, это вариант будет рассматривать.

100 ДНЕЙ с модом CREATE – ПОЛНЫЙ ФИЛЬМ Кирка

Снял для вас 100 дней выживания с модом Крейт. И да это не хардкор. Что такое мод Create? Это технический мод, который позволяет игрокам разрабатывать новые .

как ускорить механизм в create

МАЙНКРАФТ С МЕХАНИЗМАМИ ЛИФТ В ШАХТЫ - Minecraft 1.16.4 #12

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

когда подписчик выучил CREATE MOD

О боже, это же карта от подписчика с модом Create для майнкрафт! Очень интересные и оригинальные испытания с элементами из мода. Показываю мастер-клас Подпи.

Гайд на мод Create 1.16.5. Механизмы передачи вращения.

Создан канал дискорда. Можно зайти и пообщаться. Обычно когда я работаю с роликами или просто расслабляюсь например в ДС — я стримлю на дискордовский канал. .

Паровой двигатель в Create. Бесконечная энергия

Всем привет! Обновление 0.5 принесло в игру паровые двигатели. В этом ролике я покажу как сделать бесконечный паровой двигатель. Также тут вы увидите как сде.

ОБНОВЛЕНИЕ CREATE 3.2 - БРОНЯ МЕХАНИЗМЫ И МНОГОЕ ДРУГОЕ

Полный обзор / гайд по моду Create 0.3.2 Майнкрафт Привет! Сегодня я расскажу что добавилось нового в версии криэйт 3.2, ведь появились действительно интере.

НОВЕЙШИЕ ИЗОБРЕТЕНИЯ В CREATE

НОВЕЙШИЕ ИЗОБРЕТЕНИЯ В CREATE Донаты на развитие канала и жизнь: https://www.donationalerts.com/r/kartafan Fantasy Lands: https://www.youtube.com/channel/.

Гайд по Create 1.15.2 #3 Полезные механизмы

Полный обзор / гайд по моду Create 1.15.2 #3 Майнкрафт Привет! Сегодня я расскажу про новый крутой способ выработки энергии, про улучшенные поршни, как поме.

ЭТОТ МЕХАНИЗМ ПЕРЕВЕРНУЛ ВЕСЬ CREATE

ЭТОТ МЕХАНИЗМ ПЕРЕВЕРНУЛ ВЕСЬ CREATE Донаты на развитие канала и жизнь: https://www.donationalerts.com/r/kartafan Fantasy Lands: https://www.youtube.com/ch.

СОВЕРШЕННО НОВОЕ ИЗОБРЕТЕНИЕ В CREATE ОТ ПОДПИСЧИКА

СОВЕРШЕННО НОВОЕ ИЗОБРЕТЕНИЕ В CREATE ОТ ПОДПИСЧИКА Канал по модам Minecraft: https://www.youtube.com/c/Daidra/featured В этом видео вы увидите крутой бур .

️ПЯТЁРКА НА ОБХОДЕ СП CREATE Дерьмодемон топовые механизмы Пятерка в шоке Нарезка стрима ФУГА TV

================================================== ��Помочь нарезчику донатиком=) — https://www.donationalerts.com/r/frenkuss Данное видео не является оригин.

Френкус — Нарезки Пятёрки

Это ЛУЧШИЙ МОД для МАЙНКРАФТ ► MineCraft - CREATE Реакция

Это ЛУЧШИЙ МОД для МАЙНКРАФТ ► MineCraft This is Create ��Видео в реакции: https://youtu.be/jDIuWv7ROi8 ============== ► ТЕЛЕГРАМ: https://t.me/mayniyt ► СТ.

CREATE - ГЛОБАЛЬНЫЙ МОД НА МЕХАНИЗМЫ В МАЙНКРАФТЕ ПОЛНЫЙ ОБЗОР МОДА ГАЙД 1.16+

CREATE — ГЛОБАЛЬНЫЙ МОД НА МЕХАНИЗМЫ В МАЙНКРАФТЕ! ПОЛНЫЙ ОБЗОР МОДА ГАЙД 1.16+ В этом видео вы увидите обзор на мод на механизмы (криэйт) в майнкрафт, а та.

РАЗДВИЖНЫЕ ДВЕРИ с модом Create 1.16.5 - 1.18.2 Minecraft java

Я СДЕЛАЛ РАЗДВИЖНУЮ ДВЕРЬ с помощью мода Create на версию minecraft 1.16.5 и выше. Приятного просмотра! ===================================================.

Гайд по Create 0.3.1 #1 Новые механизмы

Полный обзор / гайд по моду Create 0.3.1 #1 Майнкрафт Привет! Сегодня я расскажу что добавилось нового в версии криэйт 0.3.1, ведь появились действительно и.

ЭТОТ МЕХАНИЗМ САМ СТРОИТ МОСТЫ - Майнкрафт 1.16.4 #61

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

Кинетические Механизмы Завершение Главы 1 - CREATE Above and Beyond #6

В этом выпуске посмотрим на сборку Create: Above and Beyond, для MInecraft 1.16.5 основной задачей этой сборки, используя мод Create развиться, создать ракет.

СТРОИТЕЛЬ ПРОВЁЛ 100 ДНЕЙ C МОДОМ НА МЕХАНИЗМЫ ВЫЖИВАНИЕ МАЙНКРАФТ ХАРДКОР часть 3

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

Now looking for

Механизмы Create. Author: CREATE.Player, Duration: 06:04, Views : 23,356. Watch the newest videos without registration

Copyright ©Atgvideo.com 2022
All rights reserved

Do you want to have a good time watching a video? On our video portal you will find videos for every taste, funny videos, videos about animals, video broadcasts and much more.

Как ускорить механизмы в create

1

2,831 уникальных посетителей
25 добавили в избранное

Всем привет, сам недавно столкнулся с такой проблемой, что один слиток железа крафтится 3 минуты, хотя параметр "СКОРОСТЬ ИЗГОТОВЛЕНИЯ" я поставил на 10.
Как оказалось, этот параметр отвечает только за крафт предметов персонажа (предметы, которые крафтятся в TAB)

Искал в интернете способ изменить скорость крафта ресурсов для частной игры, но все статьи описывали только частный сервер, методом проб и ошибок, создания сотен серверов я все же нашел этот параметр, он называется "СКОРОСТЬ ОЧИСТКИ"

Надеюсь, я кому-то помог
Еще настоятельно рекомендую поставить скорость превращения слуг хотя бы на 3.0, иначе будете по полтора часа ждать одного раба, всем удачной игры =))

Hello everyone, I myself recently encountered such a problem that one iron ingot takes 3 minutes to craft, although I set the "PRODUCTION SPEED" parameter to 10.
As it turned out, this parameter is responsible only for crafting character items (items that are crafted in TAB)

I was looking on the Internet for a way to change the rate of crafting resources for a private game, but all the articles described only a private server, by trial and error, creating hundreds of servers, I still found this parameter, it is called "CLEANING SPEED"

I hope I helped someone
I also strongly recommend setting the rate of transformation of servants to at least 3.0, otherwise you will wait an hour and a half for one slave, have a good game =))

Проблемы скорости сборки, или что делать, если время сборки игрового билда увеличивается в 10 раз

О работе DevOps в геймдеве, или как собирать в Unity в 2,5 раза больше контента за то же время, что и раньше.

Разработка игр с многотысячной пользовательской базой и постоянно накатывающимися обновлениями — комплексный процесс. Он включает в себя не только работу над новым контентом и фичами, но и оптимизацию процессов, чтобы все происходило гладко, и разработчики, аналитики, QA-инженеры постоянно получали новые билды.

Наверняка вы слышали о таких понятиях, как DevOps и непрерывная интеграция. Так вот, тот самый DevOps — это и есть набор методов, благодаря которым можно сократить время разработки и ускорить выпуск обновлений. А DevOps-инженер — соответственно, тот, кто этим занимается. CI/CD, или непрерывная интеграция и доставка — это не сколько технология, сколько целая культура, позволяющая чаще и надежнее производить небольшие изменения в игре с частыми коммитами, доставлять модули проекта в разные отделы и автоматизировать их тестирование. Все это представляет собой целый пласт работ — эдакий невидимый игрокам фронт.

Изначально, до старта работ над War Robots Remastered, у нас уже был выстроенный пайплайн CI/CD для всех проектов, и оригинальная War Robots не была исключением. Сам проект тогда в среднем собирался 40-100 минут. Но чем дальше продвигалась работа над ремастером, чем больше накапливалось проблем со скоростью сборок. Спустя полгода проект стал собираться от 3-х часов и больше с периодическими зависаниями, которые могли доходить до 7-10 часов. Это становилось совсем неприемлемым: QA в динамике не могли проверять билды, разработчикам тоже приходилось тратить время на ожидание, чтобы посмотреть результат или начать профилировать. Пришлось серьезно подумать над тем, как все это чинить и возвращать время сборок к исходному значению.

Раньше наш пайплайн сборки приложения выглядел следующим образом. В качестве сервера CI мы использовали TeamCity от JetBrains: на War Robots тогда было выделено 22 агента, которые могли выполнять скрипты сборки. Они располагались на четырех физических компьютерах-нодах. Конфигурации нод приблизительно похожи, средняя тачка имела следующие характеристики:

  • OS: Windows;
  • ЦП: AMD Ryzen Threadripper 1950X 16-Core Processor 3,40 ГГц;
  • RAM: 128 ГБ;
  • Диски: SSD не менее 1ТБ на одного агента и не более двух агентов на один диск;

Для сервера Unity Cache V1 мы использовали:

  • VM: Linux CentOS 7;
  • RAM: 24 ГБ;
  • Диск: 150 ГБ.

Дополнительно был установлен Mac mini для сборок на iOS. Более подробно о старом пайплайне можно прочитать здесь.

Агенты у нас запущены как служба, работающая фоново независимо от пользователя, а не как отдельное приложение. Сделано это для возможности более гибкого менеджмента непосредственно самих агентов. Кроме того, таким образом можно выделить для каждого агента отдельного юзера со своими правами и реестром. Это оказалось удобно, но породило проблему, которую оказалось не так-то просто диагностировать.

Заключалась она в том, что во время сборки Unity неожиданно начинала крешиться без особых опознавательных логов. Но небольшой ресерч в Интернете помог определить, что проблема связана с desktop heap, или кучей рабочего стола на Windows.

В чем дело? У Windows есть неочевидная настройка: чем больше запущено процессов одновременно, тем быстрее происходит переполнение кучи. И поскольку у нас параллельно запускается несколько Unity для сборки билдов, это очень сильно влияло на скорость переполнения.

Экспериментально увеличив значение HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows, креши удалось локализовать. Но с этим стоит быть аккуратнее: Microsoft не рекомендует выделять на кучу памяти больше, чем 20480 КБ:

Если вы выделяете слишком много памяти на кучи рабочего стола, может возникнуть отрицательная производительность. Поэтому мы не рекомендуем устанавливать значение более 20480 КБ.

Как уже говорилось выше, по итогу время сборки билда выросло критически: с 40-100 минут до 3-4 часов с периодическими зависаниями импорта до 10 часов. Связано это с тем, что мы разделили текущий пресет качества графики и добавили новые. Если изначально у нас был только один пресет — Legacy, то теперь их стало четыре: Legacy, ULD (Ultra-Low Definition), LD (Low Definition) и HD (High Definition).

Разница между пресетами, слева направо: ULD, LD, HD:

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

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

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

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

Они не говорят ни о чем плохом — лишь показывают, что система начала хешировать ассеты для последующих действий над ними. В нашем случае проблема была в том, что такое сообщение появлялось в логе после импорта каждого пятого-десятого ассета. Полный рехеш одного ассета выполняется за минуту, так что время импорта взлетело до небес. Обычно такое происходит, когда что-то в коде вызывает AssetDatabase.Refresh() — именно из-за него перехватчики других событий зацикливаются, и Unity приходится пересчитывать весь ассет полностью.

Мы нашли все такие места — которых, конечно, оказалось немало, ведь эта функциональность нужна многим плагинам, — и обложили их трейсами. Затем мы нашли, где происходили рефреши — это оказалась подписка на AssetPostprocessor.OnPostprocessAllAssets. Так мы выяснили, что комбинация нашего скрипта и GPGSUpgrader (Google Play third-party файл) дает тот самый эффект увеличения времени сборки.

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

Следующим нашим шагом была оптимизация текущего кэш-сервера Unity.

Когда мы создаем проект в Unity, нельзя просто добавить в него ассет — Unity переформатирует его в собственные форматы отдельно для iOS и Android. Для хранения таких файлов и существует кэш-сервер, откуда можно запросить уже собранные и переформатированные ассеты, и их не нужно заново пересчитывать. Если ассеты на сервере не хранятся — в таком случае происходит их пересчет, и он занимает какое-то время.

Для справки приведем немного цифр нашей конфигурации проекта:

  • Размер репозитория — более 150 ГБ;
  • Общее количество веток в репозитории — более 1000;
  • Количество файлов в проекте — более 170 000, из них большая часть — ассеты.

На момент старта работы над War Robots Remastered у нас было использовано три кэш-сервера на весь проект: один использовался разработчиками, остальные — для нашего окружения CI и Dev/Release.

Проблема заключалась в том, что проект имеет очень большое количество мелких файлов, так что сервер не выдерживал нагрузки и просто не успевал их вовремя раздавать. Редко возникали ошибки сети, гораздо чаще — ошибки типа «Disk I/O is overloaded» из-за огромного количества обращений к диску. Из-за этого — те самые зависания на 5-7 часов, вызванные тем, что при невозможности кэш-сервера отдать файлы клиентам Unity начинала полный импорт проекта.

В результате мы пришли к тому, чтобы увеличить число кэш-серверов для CI для перераспределения нагрузки на дисках. Таким образом, 22 агента мы развели на сеть серверов — по три на каждую платформу: Android-Dev, iOS-Dev, Win-Dev, Android-Release, iOS-Release, Win-Release, — что значительно улучшило ситуацию. Также мы провели 10-гигабитную сеть до агентов. В результате проблемы сети перестали появляться, а количество ошибок I/O значительно снизилось.

Но все же время импорта оставляло желать лучшего. В среднем сам импорт с кэш-сервера достигал полутора часов, и мы решили провести эксперимент с новой версией кэш-сервера — Unity Accelerator.

На момент начала наших экспериментов у нас использовалась версия Unity 2018.4, которая не позволяла использовать Asset Database V2 — а он был необходим для того, чтобы использовать Unity Accelerator, поскольку формат хранения ассетов в нем был несовместим с версией Unity Cache Server V1. Параллельно нам пришлось обновлять версию Unity до 2019.4.22f1 — тогда-то и получилось совершить переход на новый кэш-сервер, который пошел проекту только на пользу. Теперь импорт с платформы iOS с очисткой папки Library выглядел следующим образом:

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

Так, решив проблему с импортом, мы стали разбираться дальше.

Следующим шагом оптимизации времени стала непосредственно сборка бандлов в проекте.

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

Мы выявили сразу две проблемы:

  • Проблема переиспользования бандлов из прошлых сборок;
  • Проблема однопоточных сборок бандлов.

Первая проблема исходит из того, что мы собираем достаточно большое количество билдов в день: около 60, в дни релиза — еще больше. Как правило, контент в них не сильно меняется: в основном программисты проверяют свою работу либо тестируют новые фичи. Все билды в процессе сборки бандлов выкладывают во внешнее хранилище.

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

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

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

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

  • После импорта проекта мы генерим дополнительные Unity-проекты для каждого необходимого качества, где с помощью symlink линкуем папку Library для каждого сгенерированного проекта. Но будьте аккуратнее: внутри библиотеки есть динамические папки, которые создаются во время сборки. Например, может пересчитываться кэш шейдеров или папка с packages, что может привести к проблемам в параллельных сборках. Соответственно, линковать нужно только статический контент и саму базу.
  • В отдельных процессах запускаем одновременно несколько экземпляров Unity и в каждом собираем отдельное качество.
  • Результат от каждой сборки мы перемещаем в родительский проект.

Таким образом, мы смогли распараллелить время сборки бандлов в рамках одной ноды.

  • Нам удалось вернуть показатели времени сборок на прежний уровень до выхода War Robots Remastered даже несмотря на то, что количество контента в проекте увеличилось в 2,5 раза. Для этого мы использовали Unity Accelerator. Также удалось убрать зависания импорта, минимизировав вызовы AssetDatabase.Refresh().

Нагляднее в цифрах:

На графике ниже можно подробнее посмотреть распределение времени сборки по датам:

Мы перестали пересобирать бандлы — вместо этого теперь забираем их сразу готовые из ранее собранных билдов.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *