incredibuild agent tray icon что это за программа
IncrediBuild для проверки большого проекта с помощью PVS-Studio
Об инструментах PVS-Studio и IncrediBuild
PVS-Studio выполняет анализ C/C++ кода и подсказывает программисту, где находятся возможные ошибки, или указывает на участки кода, которые могут повлечь проблемы в будущем.
Анализатор состоит из нескольких частей, и проверку каждого файла с исходным кодом выполняет процесс PVS-Studio.exe (ядро анализатора). Далее я буду использовать термин «поток», подразумевая, что в одном потоке запущен один процесс PVS-Studio.exe для проверки одного исходно файла проекта. А файлов будет очень много…
IncrediBuild — программное обеспечение для распределённых вычислений, которое позволяет с лёгкостью задействовать несколько компьютеров и ускорить работу своих приложений. При этом не нужно беспокоится за зависимости, которые присутствуют у распараллеленных процессах.
Мы будем использовать IncrediBuild, чтобы выполнить анализ проекта во много потоков, используя дополнительные компьютеры.
О проверяемом проекте
Проверяемый проект пожелал быть неназванным, но он имеет около 7 млн. строк исходного кода. Размер кодовой базы — 300 MB, и около 9000 файлов. Проверка такого проекта анализатором PVS-Studio на компьютере с процессором Intel Core i7-4770 3.40 GHz и 16 GB ОЗУ в 8 потоков занимает около 6 часов. Далее я расскажу, как с помощью инструмента IncrediBuild и нескольких компьютеров удалось сильно ускорить время анализа проекта.
Результаты
Во всех тестах использовались компьютеры примерно одной конфигурации, позволяя выполнять анализ в 8 потоков на каждом из них.
При настройке IncrediBuild на компьютерах, один из них настраивается как координатор, остальные настраиваются как агенты, которые подключаются к координатору. Т.к. проверка проекта запускалась на агенте, то на этом компьютере в настройках было задано загружать только 1 поток, чтобы излишняя нагрузка не мешала сбору результатов. Для координатора тоже было задано выполнять вычисления только в 1 поток.
Тест первый
На рисунке 1 представлена проверка проекта анализатором в 26 потоков.
Рисунок 1 — Проверка проекта анализатором в 26 потоков
Для читателей, не знакомых с IncrediBuild, поясню, что зелёной полоской обозначается 1 процесс, который успешно отработал на компьютере с именем, которое написано слева. На полоске пишется имя процесса. А по временной шкале снизу можно определить, в какой момент времени процесс стартовал и завершился, таким образом сразу видна длительность работы любого распределённого процесса.
На рисунке выше запечатлена проверка довольно крупных исходных файлов. Распараллеливание выполняется очень равномерно и эффективно при длительной загрузке потоков.
На рисунке 2 представлен анализ разных по объёму файлов исходного кода.
Рисунок 2 — Проверка мелких и крупных файлов проекта в 26 потоков
Как мы видим, быстрое завершение потоков приводит к накладным расходам на создание новых потоков и происходит небольшое простаивание некоторых компьютеров. Но в целом распараллеливание выполняется очень хорошо. Анализ проекта выполнился за 2 часа 10 минут вместо 6 часов, очень даже неплохо.
Тест второй
На рисунке 3 представлена проверка проекта анализатором в 43 потока.
Рисунок 3 — Проверка проекта анализатором в 43 потока.
Список из 43 потоков не удаётся увидеть целиком, но хорошо видно, как возросло простаивание компьютеров при проверке маленьких файлов. Но всё равно выглядит очень здорово, учитывая, что общее время анализа составило уже 1 час 24 минуты вместо 6 часов и из приложенных усилий было только быстрая установка IncrediBuild на нужные компьютеры. Для настройки PVS-Studio потребовалось изменить всего 1 пункт в настройках — задать количество потоков.
Заключение
Воспользовавшись инструментом IncrediBuild, который обычно присутствует для сборки очень крупных проектов, мы смогли ускорить время анализа проекта с помощью PVS-Studio в 4.2 раза, задействовав несколько компьютеров разработчиков, которые сидели рядом. Все настройки IncrediBuild использовались по умолчанию, а их там довольно много. Наверняка можно достичь ещё большей производительности, но нам был интересен «быстрый старт».
Если хотите поделиться этой статьей с англоязычной аудиторией, то прошу использовать ссылку на перевод: Svyatoslav Razmyslov. Using IncrediBuild to Assist Analysis of a Large Project by PVS-Studio.
Разработка
Incredibuild ускоряет компиляцию, тесты и множество других ресурсоемких рабочих нагрузок, плавно и одновременно распределяя процессы между простаивающими процессорами в вашей локальной сети или в облаке. Данная технология превращает каждый вычислительный хост в суперкомпьютер с сотнями ядер и гигабайтами памяти, что существенно сокращает время вычислений для огромного количества приложений. Но как это работает?
В основе Incredibuild лежит уникальная технология виртуализации Virtualized Distributed Processing™. Принцип прост: когда рабочая нагрузка, состоящая из нескольких параллельных процессов, выполняется с помощью Incredibuild, ее процессы автоматически и динамически распределяются между простаивающими процессорами на удаленных машинах в вашей сети или облаке.
Особенности технологии Incredibuild
В компаниях с сотнями машин общее число простаивающих процессоров в любой момент времени может исчисляться тысячами. Incredibuild использует эти неиспользуемые ядра для турбоускорения рабочих нагрузок, требующих большой вычислительной мощности. Решение может использовать простаивающие процессоры в частном или публичном облаке компании и даже на машинах пользователей. Данная технология работает в фоновом режиме, не вмешиваясь в их работу.
Усилия, необходимые для поддержания Incredibuild, близки к нулю. Нет необходимости иметь доступ к хранилищу изображений виртуальной машины или копировать файлы, скрипты или наборы инструментов на удаленные машины. Вы даже можете работать с различными версиями операционной системы. Технология Incredibuild без проблем делает эту работу за вас.
Не требует установки на удаленные машины компонентов помимо легковесного агента Incredibuild. Это означает, что при ускорении компиляции Visual Studio не нужно устанавливать Visual Studio, ее набор инструментов или исходный код на удаленные компьютеры. При этом снижаются затраты на лицензирование и минимизируется воздействие на удаленные машины. Incredibuild также устраняет необходимость в техническом обслуживании, позволяя легко масштабировать систему под дополнительные локальные и облачные ресурсы. Таким образом достигается непрерывное обслуживание при обновлении или смене пользователями набора инструментов или рабочих нагрузок.
Incredibuild обеспечивает ускорение любых процессов. Это означает, что вы можете использовать одну и ту же среду Incredibuild для ускорения множества различных типов вычислительных интенсивных рабочих нагрузок. Это повышает ценность развертывания Incredibuild и делает возможным дальнейший рост.
Преимущества использования
Для разработчиков:
Не нужно больше ждать окончания сборки!
Для менеджеров релизов:
Не выбирайте между скоростью и качеством!
Для бизнеса:
Выпускайте продукт быстрее или это сделает кто-то другой!
IncrediBuild: Как ускорить сборку и анализ вашего проекта
Мне нужно больше ядер!
Как вы могли заметить, речь сегодня пойдёт как раз о том, как можно ускорить компиляцию. И нет, в этот раз будут рассмотрены не какие-то специфичные механизмы, а самое обычное распараллеливание. Ну, тут всё, казалось бы, просто – выставляем доступное физически количество ядер, нажимаем на build и идём пить условный чай.
Но с ростом кодовой базы время компиляции постепенно растёт и однажды оно станет настолько большим, что полностью проект будет собираться разве что ночью. Поэтому нужно подумать о том, как бы всё это ускорить. Вокруг же сидят довольные коллеги, которые занимаются своими программистскими делами, а их машины тихо и не напрягаясь выводят немного текста на экраны.
Отдай!
Так как реквизировать машины коллег нам вряд ли кто-либо даст, будем пользоваться обходными путями. Даже если у вас и получилось убедить своих коллег поделиться железом, всё равно пользы от лишних процессоров у вас не будет, разве что можете выбрать себе тот, который пошустрее. А нам нужно то решение, которое каким-то образом позволит запускать дополнительные потоки сборки на удалённых машинах.
На ком будем проверять?
Для того, чтобы убедиться, что всё функционирует действительно хорошо, нужно было найти качественного подопытного. Так как у нас уже не раз были в статьях и Chromium и Linux, а выделиться как-то хотелось, нужно было найти что-нибудь новое. Поэтому я пошёл в сторону открытых игр (а где же ещё искать большие проекты?). И как вы увидите ниже, очень пожалел об этом решении.
Впрочем, поиск чего-то объёмного труда не составил, да и мне «повезло» повстречать открытый проект на Unreal Engine. Вдуматься только! Я действительно до момента написания этой статьи и подумать не мог, что на UE бывает Open Source.
Да будет сборка на 100+ ядер!
Итак, первым делом нужно поставить агентов на машины других разработчиков. Есть два способа:
попросить коллег в местном Slack;
воззвать к силам сисадмина.
Разумеется, как и любой другой наивный человек, я написал сперва в Slack. Спустя пару дней еле-еле дошло до 12 машин из 20. После этого я воззвал к силам сисадмина и, о чудо, заветная двадцатка была у меня в руке. Так что теперь у меня было около 145 ядер (+/- 10) 🙂
За исключением необходимости поставить агентов (делается это парой кликов в установщике), нужно было поставить себе координатора. Это делается немного сложнее, поэтому оставлю ссылку на доки.
Итак, у нас теперь есть сетка на стероидах, поэтому пришло время добраться до Visual Studio. Выбираем в плагине сборку. А вот и нет 🙂
Если вдруг вы и сами захотите попробовать, то учтите, что сперва нужно собрать проекты ShaderCompileWorker и UnrealLightmass. Так как они не большие, я собрал их локально. Вот теперь уже можно нажать на заветную кнопку:
Итак, какая же получилась разница?
Как видите, нам удалось ускорить сборку с 30 минут до почти 6! Очень даже нехило. Кстати, запуск проводился посреди рабочего дня, так что примерно таких цифр можно ожидать и не на синтетическом тесте. Впрочем, от проекта к проекту разница может быть разной.
Что ещё можно ускорить?
Помимо сборки можно натравить IncrediBuild на любую тулзу, которая плодит много подпроцессов. Как вы, может, обратили внимание, я работаю в PVS-Studio. Поэтому конечно же я не могу обойти стороной возможность скормить ему и наш анализатор.
Профит в быстром анализе примерно такой же, как и в быстрой сборке: возможность локальных прогонов перед коммитом. Конечно, всегда есть желание залить всё сразу в мастер; но обычно тимлид бывает не в восторге от подобных действий, особенно когда валятся ночные прогоны на сервере. Поверьте мне – я валил 🙁
Настраивать особенно анализатор не нужно, разве что нам не повредит указать старые-добрые 145 потоков в настройках:
Ну и стоит указать местной сборочной системе кто тут анализатор:
Итак, пришло время нажать на сборку ещё раз и насладиться ускорением:
Вышло около семи минут, что подозрительно похоже на время сборки. Тут я и подумал, что видимо забыл добавить флаг. Зашёл в настройки и увидел, что всё на месте. Такого я не ожидал, поэтому отправился курить мануалы.
Попытка запуска PVS-Studio #2
Спустя какое-то время я вспомнил про версию Unreal Engine, которая используется в этом проекте:
После пары кружек бодрящего напитка у меня возникла мысль всё-таки дочитать туториал по интеграции до конца. Помимо указанного выше способа есть ещё и мониторинг компиляции. Это как раз тот вариант, когда ничего уже не помогает.
Первым делом включим сервер мониторинга:
Эта штука будет крутиться на фоне и следить за тобой вызовами компилятора. Но она не может отслеживать происходящее в IncrediBuild, поэтому придётся один раз собрать без него.
На фоне предыдущего запуска локальная пересборка выглядит очень бедно:
Теперь сохраним то, что насобирали в отдельный файл:
Дальше можно будет пользоваться этим дампом, пока вы не добавите новый файл в проект. Да, это не так удобно, как с флагом, но ничего не поделаешь – версия движка слишком старая.
Сам же анализ запускается вот этой командой:
Только не стоит его так запускать, ведь мы же хотим его запустить под IncrediBuild. Так что закинем эту команду в analyze.bat. И создадим рядом файл profile.xml:
И теперь мы можем запустить всё с нашими 145-ю ядрами:
И как это выглядит в Build Monitor:
Что-то много ошибок на этом графике, не так ли?
К нам закралась ещё одна проблема. И в этот раз дело не в то, что кто-то что-то не поддерживает. Сборка Unreal Tournament оказалась несколько специфичной.
Попытка запуска PVS-Studio #3
Если посмотреть внимательно, то это не ошибки анализа, а неудачи при препроцессировании исходников. Причём, причина данного фейла была одна и та же:
Так в чём проблема? Всё довольно просто – препроцессор требует, чтобы только один из следующих макросов имел значение 1:
Да, вроде как всё собиралось раньше, а теперь что-то страшное вылетело. Пришлось закопаться в логи, а точнее в дамп компиляции. Там-то проблема и нашлась. Дело было в том, что эти макросы объявляются в местном precompile header, а мы хотим только препроцессировать. Так что пришлось добавить все эти макросы вручную:
Самое начало файла build.h
И уже с этим небольшим костылём элегантным решением можно запустить анализ. Причём сборка не сломается, так как мы воспользовались макросом PVS_STUDIO.
Итак, долгожданные результаты анализа:
Согласитесь, почти 15 минут вместо двух с половиной часов – это очень хорошее ускорение. Сложно представить, чтобы вы могли пить кофе 2 часа к ряду и ни у кого не возникло бы сомнений на ваш счёт. А вот 15 минутный перекур вопросов не вызывает. Наверно.
И что у нас в итоге?
Разумеется, что в идеальном мире увеличение количества потоков в N раз увеличило бы скорость сборки в N раз. Но живём мы в совершенно ином мире, поэтому стоит учитывать локальную нагрузку на агентов (удалённые машины), нагрузку на сеть, время на организацию всего этого дела и ещё много деталей, которые скрыты под капотом.
Впрочем, ускорение действительно есть и местами оно позволяет не просто запускать полную сборку или же анализ раз в день, а делать это куда чаще. Например, после каждого фикса или же перед коммитами. А теперь предлагаю посмотреть на то, как это всё выглядит в одной таблице:
Я запустил по пять раз и посчитал среднее по запускам (эти цифры вы и видели в графиках) 🙂
Что такое trayicon.exe? Это безопасно или вирус? Как удалить или исправить это
Что такое trayicon.exe?
trayicon.exe это исполняемый файл, который является частью Systweak CacheBoost Программа, разработанная Systweak Inc, Программное обеспечение обычно о 9.86 MB по размеру.
Trayicon.exe безопасный, или это вирус или вредоносная программа?
Первое, что поможет вам определить, является ли тот или иной файл законным процессом Windows или вирусом, это местоположение самого исполняемого файла. Например, такой процесс, как trayicon.exe, должен запускаться из C: \ Program Files \ systweak \ systweak cacheboost \ cb.exe, а не где-либо еще.
Если статус процесса «Проверенная подписывающая сторона» указан как «Невозможно проверить», вам следует взглянуть на процесс. Не все хорошие процессы Windows имеют метку проверенной подписи, но ни один из плохих.
Наиболее важные факты о trayicon.exe:
Если у вас возникли какие-либо трудности с этим исполняемым файлом, вам следует определить, заслуживает ли он доверия, перед удалением trayicon.exe. Для этого найдите этот процесс в диспетчере задач.
Найдите его местоположение (оно должно быть в C: \ Program Files \ Systweak \ Systweak CacheBoost \) и сравните размер и т. Д. С приведенными выше фактами.
Если вы подозреваете, что можете быть заражены вирусом, вы должны немедленно попытаться это исправить. Чтобы удалить вирус trayicon.exe, необходимо Загрузите и установите приложение полной безопасности, например Malwarebytes., Обратите внимание, что не все инструменты могут обнаружить все типы вредоносных программ, поэтому вам может потребоваться попробовать несколько вариантов, прежде чем вы добьетесь успеха.
Могу ли я удалить или удалить trayicon.exe?
Не следует удалять безопасный исполняемый файл без уважительной причины, так как это может повлиять на производительность любых связанных программ, использующих этот файл. Не забывайте регулярно обновлять программное обеспечение и программы, чтобы избежать будущих проблем, вызванных поврежденными файлами. Что касается проблем с функциональностью программного обеспечения, проверяйте обновления драйверов и программного обеспечения чаще, чтобы избежать или вообще не возникало таких проблем.
Однако, если это не вирус и вам необходимо удалить trayicon.exe, вы можете удалить Systweak CacheBoost со своего компьютера с помощью программы удаления, которая должна находиться по адресу: «C: \ Program Files \ Systweak \ Systweak CacheBoost \ unins000. исполняемый». Если вы не можете найти его деинсталлятор, вам может потребоваться удалить Systweak CacheBoost, чтобы полностью удалить trayicon.exe. Вы можете использовать функцию «Добавить / удалить программу» в Панели управления Windows.
Распространенные сообщения об ошибках в trayicon.exe
Наиболее распространенные ошибки trayicon.exe, которые могут возникнуть:
• «Ошибка приложения trayicon.exe».
• «Trayicon.exe не удалось».
• «Trayicon.exe столкнулся с проблемой и должен быть закрыт. Приносим извинения за неудобства».
• «Trayicon.exe не является допустимым приложением Win32».
• «Trayicon.exe не запущен».
• «trayicon.exe не найден».
• «Не удается найти trayicon.exe».
• «Ошибка запуска программы: trayicon.exe».
• «Неверный путь к приложению: trayicon.exe».
Как исправить trayicon.exe
Если у вас возникла более серьезная проблема, постарайтесь запомнить последнее, что вы сделали, или последнее, что вы установили перед проблемой. Использовать resmon Команда для определения процессов, вызывающих вашу проблему. Даже в случае серьезных проблем вместо переустановки Windows вы должны попытаться восстановить вашу установку или, в случае Windows 8, выполнив команду DISM.exe / Online / Очистка-изображение / Восстановить здоровье, Это позволяет восстановить операционную систему без потери данных.
Чтобы помочь вам проанализировать процесс trayicon.exe на вашем компьютере, вам могут пригодиться следующие программы: Менеджер задач безопасности отображает все запущенные задачи Windows, включая встроенные скрытые процессы, такие как мониторинг клавиатуры и браузера или записи автозапуска. Единый рейтинг риска безопасности указывает на вероятность того, что это шпионское ПО, вредоносное ПО или потенциальный троянский конь. Это антивирус обнаруживает и удаляет со своего жесткого диска шпионское и рекламное ПО, трояны, кейлоггеры, вредоносное ПО и трекеры.
Обновлен декабрь 2021:
Мы рекомендуем вам попробовать это новое программное обеспечение, которое исправляет компьютерные ошибки, защищает их от вредоносных программ и оптимизирует производительность вашего ПК. Этот новый инструмент исправляет широкий спектр компьютерных ошибок, защищает от таких вещей, как потеря файлов, вредоносное ПО и сбои оборудования.
Загрузите или переустановите trayicon.exe
Вход в музей Мадам Тюссо не рекомендуется загружать заменяемые exe-файлы с любых сайтов загрузки, так как они могут содержать вирусы и т. д. Если вам нужно скачать или переустановить trayicon.exe, мы рекомендуем переустановить основное приложение, связанное с ним. Systweak CacheBoost.
Информация об операционной системе
Ошибки trayicon.exe могут появляться в любых из нижеперечисленных операционных систем Microsoft Windows:
Виртуальный геймерский суперкомпьютер
Компания The Coalition преобразует виртуальные машины Azure в «виртуальный суперкомпьютер» IncrediBuild с 700 ядрами, выпуская по две игры класса AAA в год
By Пресс-центр 25 December, 2017
Студия разработки игр The Coalition, являющаяся подразделением корпорации Microsoft, проторила себе путь на вершину индустрии игр класса AAA. Как понятно из названия, The Coalition занимается исключительно разработкой, поддержкой и внедрением инноваций в один из ведущих шутеров от первого лица — Gears of War после того, как Microsoft приобрела франчайзинговую лицензию у другого клиента IncrediBuild — Epic Games.
200 сотрудников студии, базирующейся в живописном районе Ванкувера (Британская Колумбия), напряженно работали над рекордной серией игр Gears с тем, чтобы миллионы геймеров могли погрузиться в постапокалиптическую атмосферу планеты Сера на платформах Xbox One и Windows 10.
Пользуясь решением IncrediBuild в течение длительного времени, разработчики The Coalition интегрировали его с Microsoft Azure, чтобы беспрепятственно расширяться до сотен дополнительных ядер в среде гибридного облака.
Проблема
2016 год стал поистине невероятным годом для поклонников Gears по всему миру. С выходом обеих версий Gears of War: Ultimate Edition — высококачественного ремейка первой игры легендарной серии и вышедшей позднее следующей части саги — Gears of War 4, ажиотаж достиг своего предела. Разработчикам The Coalition было необходимо справиться с ним и преодолеть внешние и внутренние проблемы производства.
Во внутренней среде постоянное интенсивное использование игрового движка Unreal Engine 4 (UE4), по словам руководителя ИТ-подразделения The Coalition Джо Вогта (Joe Vogt), представляло собой существенную проблему. «Мы используем Unreal Editor 4 компании Epic в качестве основного инструмента для создания такого содержимого, как уровни, персонажи и средства передвижения. Редактору требуется скомпилировать все шейдеры заранее, в некоторых ситуациях открытие уровня может занимать до 30 минут». Так как более 100 членов команды ежедневно используют UE4, для ускорения времени компиляции шейдеров требовалось конкретное решение. «Если начать делать расчеты, выясняется, что 30 минут времени уходит только на открытие уровня, 4–5 раз за день, то есть третью часть своего рабочего дня можно потратить впустую», — утверждает Вогт.
На внешнем уровне ряд сторонних партнеров по аутсорсингу в сотрудничестве с The Coalition предоставлял студии возможность производства с элементами дополненной реальности. Среди этих партнеров были более мелкие компании, не имевшие доступа к выделенным машинам IncrediBuild, которые требовались для компиляции шейдеров и эффективного использования UE4. В такой ситуации у партнеров возникла острая потребность в решении.
«Платформа IncrediBuild вне всякого сомнения влияет на нашу способность выполнять итерации и двигаться вперед. Без нее мы не смогли бы добиться каких-либо результатов», – Джо Вогт, руководитель ИТ-подразделения, студия The Coalition.
Решение, предложенное IncrediBuild
Являясь самостоятельной студией разработки в составе корпорации Microsoft, The Coalition может воспользоваться преимуществами платформы облачных вычислений Azure. Платформа Microsoft Azure предоставила студии The Coalition простой и эффективный способ развертывания сотен выделенных ядер ЦП, предназначенных для ускорения локальных процессов компиляции шейдеров.
The Coalition освоила уникальную технологию виртуализации IncrediBuild на уровне процессов, чтобы увеличить производительность Azure сверх возможностей отдельной виртуальной машины Azure. В студии были развернуты десятки 64-ядерных виртуальных машин Azure, работающих под управлением IncrediBuild. Они предоставлялись в качестве «виртуального суперкомпьютера» для локальных художников-аниматоров, которым требовалось использовать такие ресурсы для компиляции шейдеров.
Используя возможности виртуальных машин Azure, платформа IncrediBuild «на лету» формирует виртуальную среду, в которой все ядра работают совместно для единого выполнения процессов. Реализуемое таким образом масштабирование платформы позволяет удовлетворить очень обширные потребности в выполнении процессов и без особых усилий ускорить не только компиляцию шейдеров, но и время загрузки уровней в UE4 для разработчиков, программистов и дизайнеров.
Внутреннее ускорение: масштабирование Azure в пределах компании
Студии The Coalition потребовалось почти три года на создание игры Gears of War 4. В течение этого времени выделенные ресурсы IncrediBuild использовались в локальной среде для роста производительности UE4 и ускоренной компиляции кода. Как это обычно бывает при крупномасштабной разработке игр, самый разгар работы пришелся на последние шесть месяцев производства, так как студия приложила все усилия, чтобы выпустить игру в срок. Во время этого критического этапа студии The Coalition требовался способ расширить ресурсы IncrediBuild, не добавляя дополнительного локального оборудования.
Студии The Coalition удалось развернуть крупную ферму IncrediBuild на основе технологий Azure с подключениями, реализуемыми за счет цепей Microsoft Azure ExpressRoute.
В результате агенты, работающие на основе Azure, отображаются для ответственного за процесс производства сотрудника The Coalition в качестве «локальных» ресурсов. Таким способом было развернуто 700 ядер, которые использовались на этапе производства итоговой версии Gears of War 4, что позволило существенно сократить время компиляции шейдеров и кода.
По словам Вогта, «платформа IncrediBuild вне всякого сомнения влияет на нашу способность выполнять итерации и двигаться вперед. В наш итеративный процесс входит создание сборки игры, тестирование ее выполнения, поиск ошибок и информирование о них, устранение этих ошибок и производство очередной сборки, иногда два раза в день. Затем цикл повторяется. Суть в том, чтобы пользователь мог максимально оперативно получить самую последнюю версию всех данных и вернуться к работе. Без IncrediBuild наш процесс разработки бы остановился».
Внешнее ускорение: предоставление небольшим компаниям-партнерам столь необходимой подпитки
Для обеспечения производительности внешних партнеров ресурсы Azure и IncrediBuild были переданы на аутсорсинг, чтобы придать кратковременный, но решающий импульс и поддержать партнеров, испытывающих нехватку вычислительных мощностей. «В одном случае, — вспоминает Вогт, — партнеру не удалось предоставить на месте выделенных емкостей фермы IB, что привело к длительному ожиданию пользователей при открытии масштабных уровней Gears of War 4 в UE4».
И на этот раз студия The Coalition использовала гибкие особенности служб на основе Azure и технологию параллельных вычислений IncrediBuild в одном пакете. Единственным отличием на этот раз стало то, что студия предоставила внешним партнерам возможность изменять уровень своей производительности, добившись при этом непревзойденного ускорения работы вне зависимости от того, насколько ограниченными ресурсами они изначально обладали.
«Мы развернули в общедоступном центре данных Azure примерно 160 ядер и настроили VPN типа «сеть-сеть» с размещением у партнера. Это позволило небольшой группе локальных пользователей Unreal Engine воспользоваться преимуществами емкости фермы IB в Azure и ускорить свою работу».
Поскольку такое взаимодействие продолжалось недолго, как и многие другие микрозадачи, входящие в процесс разработки игры, команда The Coalition использовала службы на основе Azure посредством серии гибридных облаков в течение ограниченного времени, которое требовалось для поддержки IncrediBuild, вместо того, чтобы покупать дорогостоящее оборудование, которое не позволило бы в полной мере оценить его практическую ценность.
Подводя итоги
Выпустив две игры класса AAA за год, команда The Coalition добилась невозможного. Она смогла справиться с этой задачей отчасти благодаря: