Unity: через некоторое время Fps падает - PullRequest
0 голосов
/ 04 августа 2020

Я создаю приложение Unity в качестве визуального стимула для исследования нейробиологии. По сути, мое приложение просто периодически показывает несколько мерцающих плоскостей. Однако я заметил, что каждый раз, когда я запускал приложение в течение нескольких минут, частота кадров в секунду падала примерно до 10 ~ 30, отображаемых в профилировщике. Падение fps происходило как в режиме редактора, так и в билде. Поскольку мой скрипт полностью в цикле, я предполагаю, что были некоторые накопительные проблемы, такие как G C или утечка памяти?

Кроме того, я заметил, что, когда fps начинает нестабильно, я могу нажать кнопку паузы на панели инструментов редактора, а затем возобновите работу приложения, частота кадров в секунду станет стабильной в течение следующего периода. Поэтому мне интересно, что на самом деле происходит при нажатии кнопки «Пауза»? Сбрасывает ли что-либо или сбрасывает нажатие кнопки паузы что-нибудь, чтобы можно было go вернуться к максимальному значению?

1 Ответ

1 голос
/ 06 августа 2020

Когда у меня была подобная проблема, помогло просто отключение «Записи» в профайлере Unity. Запись потребляет очень много памяти и падает fps, особенно при большом количестве вызовов функций (например, глубоких рекурсиях).

Не похоже, что вы постоянно создаете новые GameObject и не удаляете старые, но это вторая вещь, которая приходит на ум.

...