Список событий Android touch и сборщик мусора - PullRequest
0 голосов
/ 03 июля 2011

Моя игра заикалась из-за GC, и она колеблется от 40 мс до 140 мс. Моя игра не создает новые объекты или что-либо в обновлениях или потоках рендеринга, поэтому я уверен, что мой проект чистый, КРОМЕ для одного. В методе обновления у меня есть List<TouchEvents> touchEvents = getTouchEvents(); Я почти уверен, что именно это заставляет GC срабатывать, поскольку он только GC каждый раз, когда я двигаюсь вокруг, поскольку требует, чтобы я касался экрана (используя событие ACTION_MOVE). Как бы я оптимизировал или предотвратил это?

EDIT: Теперь я начинаю думать, что это связано с моим методом ограничения FPS. Я предполагаю, что, поскольку я ограничиваю FPS до 30, GC не хватает времени, не вмешиваясь в мою игру. Я выдвинул эту теорию после того, как снял лимитер и запустил свою игру на полной скорости 60FPS. Игра идет идеально гладко, когда работает на 60FPS, но не на 30FPS. Есть идеи?

1 Ответ

0 голосов
/ 03 июля 2011

Лично я бы не советовал ограничивать fps. Вместо этого, пусть он работает так быстро, как может, и ссылается на прошедшее время при выполнении движения и физики.

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