Добрый день. В Unreal Engine 4.27 (https://docs.unrealengine.com/4.27/en-US/WhatsNew/Builds/ReleaseNotes/4_27/) появилась возможность собрать UE

с Profile-Guided Optimization (PGO). Согласно этим же release notes, на Android разрабы движка получили ускорение движка в каких-то CPU-heavy сценариях до 10% (правда на Android, про Windows ни слова).

Скажите пожалуйста, есть ли у кого-то ещё примеры, где пересборка UE под конкретную игру с PGO привела к увеличению производительности? И если да, то сколько удалось выжать? Подойдут любые публикации про PGO в UE, свои замеры и прочее.

Я уже задавал тему на официальном форуме, но там пока что тишина: https://forums.unrealengine.com/t/profile-guided-optimization-pgo-results-with-unreal-engine/1253240

Буду рад любой информации. Заранее спасибо.

7 ответов

23 просмотра

Есть. Вообще, сборка с pgo это неотъемлемая часть разработки сейчас. Выигрыш ооооочень сильно зависит от проекта.

Alexander "SonnySlave"-Zaitsev Автор вопроса
Илья Максимович
Есть. Вообще, сборка с pgo это неотъемлемая часть ...

А можете пожалуйста поделиться ссылками\своими результатами\чем-либо ещё на цифры выигрышей? Да, я понимаю, что результат сильно зависит от профиля нагрузки, типа игры (во что там больше упирается) и так далее, но мне хотя бы хоть какие-то цифры. Тогда как минимум мне будет проще приходить в другие игровые движки и показывать мол смотрите - в UE такой и такой выигрыш даёт

Alexander "SonnySlave" Zaitsev
А можете пожалуйста поделиться ссылками\своими рез...

Я уже точно не помню, но на one s, где у нас ситуация прям совсем плохая была, удалось выиграть процентов 5-6. В любом случае сейчас уже не размышляют собирать с pgo или нет. Просто собирают и не парятся

Alexander "SonnySlave"-Zaitsev Автор вопроса
Илья Максимович
Я уже точно не помню, но на one s, где у нас ситуа...

Понял, спасибо! Если вдруг вспомните ещё какие-либо цифры про PGO и UE либо попадутся подобные материалы на глаза - буду премного благодарен, если скинете :)

Alexander "SonnySlave"-Zaitsev Автор вопроса
Илья Максимович
Я уже точно не помню, но на one s, где у нас ситуа...

а не подскажете, как именно вы собираете профиль, под который оптимизировать? какой-то тестовый workload подготавливаете? может с внутренних плейтестов каких-то снимаете? Используете PGO через инструментацию или пробуете через семплирование (так называевый AutoFDO)? Какое замедление движка\игры у себя наблюдали во время снятия профиля?

Alexander "SonnySlave" Zaitsev
а не подскажете, как именно вы собираете профиль, ...

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

Alexander "SonnySlave" Zaitsev
а не подскажете, как именно вы собираете профиль, ...

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

Похожие вопросы

Обсуждают сегодня

Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
1
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Коллеги, я тут для личных нужд пошел ставить MQTT сервер, пощупал mosquitto, но ужаснулся отсутствию такой банальности, как HTTP API для посмотреть список топиков. А тут что,...
Maksim Lapshin
14
У меня задача: написать брокер сообщений. Очереди и потребители. Очереди поддерживают приоритеты. Очередь отдает сообщения, только обработчикам с соответствующими характеристи...
Aleksandr Filippov
2
Карта сайта