FPS падает через несколько минут в игре для Android - PullRequest
0 голосов
/ 06 ноября 2018

Я сделал очень простую гиперказуальную игру, все работает отлично, но после нескольких минут игры fps падает с 60 до 50, даже если телефон нагревается. Похоже на этот вопрос. Я попробовал профилирование, но просто ничего не вижу. Попытался даже удалить некоторые элементы интерфейса, но все равно не повезло. Перепробовал различные настройки vsync. Кроме того, я использовал это для отображения fps. Даже без этого видно отставание. Даже если я просто открою игру и ничего не сделаю, через 5 минут fps станет равным 50. Если вернуться назад с помощью кнопки «Домой» и снова войти в игру, то fps снова станет равным 60. Используя единство 2018.2.6f1. Никогда не сталкивался с таким поведением в других моих играх для Android.

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

Ответы [ 2 ]

0 голосов
/ 04 января 2019

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

Я использую двухцветный градиент в качестве BG, поэтому мне тоже нужно использовать шейдер. Из-за того, что я абсолютно нуб в написании «шейдер-кода», я должен найти что-то в Интернете. И это был мой самый большой провал)

Чтобы решить проблему и удалить эту каплю fps, вы должны удалить свой градиент и шейдер, прикрепленный к нему со сцены. И попробуйте найти более оптимизированный шейдер для 2D-игры (или вы всегда можете написать свой собственный c:)

0 голосов
/ 07 ноября 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...