Я столкнулся с недавними шипами отставания в игре, которую я разрабатывал. Это согласовано, происходит примерно в одно и то же время. Использование Java профилировщика jvisualvm я нашел это происходит в то же время определенная нить, кажется, перезагружать или что-то (АВТ-EventQueue-0):Отказ от обмена нитями
Кроме того, нет никакой видимой причины, не в использовании кучи, использовании процессора, пространстве памяти или методах. Иногда это может вызвать ConcurrentModificationException
при рисовании моего массива объектов, но это должно произойти только с существенным отставанием, и моя игра вряд ли будет интенсивной.
Я не помню выполнения каких-либо недавних изменений в проект, однако я провел недавно следующее:
- Обновленный Java до последней версии
- Скачивали последняя версия JDK7 (хотя не используется в этом проекте)
- исправлена ошибка с затмением, которое произошло в результате установки JDK7 (удален предел 256M в eclipse.ini)
Я запускаю Eclipse Indigo-service-1 на 32-разрядной XP. Мои процессоры почти не используются.
Что такое «запаздывающий шип»? Как вы его измеряете? Когда поток «перезагружен», что он делает? – Gray
Прыжок запаздывания, где игра заканчивается примерно на 3 FPS в течение секунды или около того, это видно, практически делает игру неиграбельной, так как это игра типа реакции. Я понятия не имею, что делает Thread, я даже не знаю, для чего нужен Thread. Если бы вам понравилось, я мог бы получить отвалы Thread от jvisualvm? –
Отмечу, что единственная обработка потоков, которую я выполняю, - это инициализация, где я начинаю цикл игры. –