Чтобы лучше адаптироваться к различным моделям машин, в обычных играх рамки игры будут заблокированы. Вы будете использовать метод Application.targetFrameRate для установки частоты кадров. При тестировании на ПК проблем нет, но при тестировании на машине Android вы обнаружите, что установленная частота кадров может прыгать только между 30 и 60. рамки...
Обратившись к официальной документации Unity и протестировав ее на своем собственном пакете для мобильного телефона, я выяснил, в чем проблема.
Как показано выше, установка частоты кадров 30 аналогична частоте кадров 4, а установка частоты кадров 60 по-прежнему соответствует частоте кадров 60.
На этом этапе обнаруживается проблема: в качестве частоты кадров можно установить только число, кратное текущей частоте обновления экрана устройства
. Например, можно установить частоту кадров 2.
Приведенная выше настройка частоты кадров основана на предварительном условии: вертикальная синхронизация равна 0. Если вертикальная синхронизация не равна 0, метод Application.targetFrameRate будет недопустимым, и установка частоты кадров будет бесполезной. Текущая частота кадров становится следующей: частота обновления экрана/значение вертикальной синхронизации = текущая частота кадров в игре.
Например, если установлено значение 2, текущая частота обновления
на рисунке выше будет равна 60./Значение вертикальной синхронизации 2 = частота кадров 30.
Вот и всё, давайте сначала запишем эту яму==
Изменение записи 15 марта 2023 г.:
Недавно я обнаружил еще один подводный камень.При упаковке можно установить собственную частоту кадров, отключив Optimized Frame Pacing.Даже если у вас устройство с частотой обновления 60 Гц, вы можете успешно установить частоту кадров 45... Официальное документ не объясняет... , что за ловушка