Проблема в том, что после запуска приложения будет период времени (и это время не соответствует), когда приложение будет отставать.Например, при навигации по меню анимация навигации будет очень изменчивой.Однако это отставание обычно длится около 2-3 секунд.Эта проблема также, по-видимому, возникает в течение первых 2-3 секунд после того, как игрок вошел в игру.
Я исключил сборщик мусора в качестве возможной причины этого лага, поскольку все предварительно загружено и все выделения памяти сделаныодин раз, когда игра загружается впервые и в любое время игрок начинает новый раунд игры.
Я запускаю эти тесты на Archos 43 под управлением Android 2.2.Устройство может работать с 3D-играми, и я попробовал несколько игр, но ни одна из них не запаздывала, поэтому проблема с моим кодом.Я использую 3 потока в моей игре, 2 из которых не созданы мной (поток рендеринга и поток событий), а третий - поток обновления игры.
Также это только гипотеза, но этосоздается впечатление, что игра запаздывает только тогда, когда нужно нарисовать новую текстуру (ту, которая раньше не рисовалась), даже если текстуры предварительно загружены с GLES20.glGenTextures
, GLES20.glBindTexture
и GLUtils.texImage2D
.
Iможет предоставить источники при необходимости.