Intereting Posts
Прямоугольные края для пользовательских SeekBar Тест-драйв Robolectric + OkHttp + retrofit + rxJava Android – обновить базу данных в приложении из Интернета Календарь Android BroadcastReciever хост: com.android.calendar vs com.google.android.calendar Как перезапустить приложение Android из приложения Загрузка / переопределение пользовательских классов для Android-классов Перенос с GCM 2.0 на GCM 3.0 API-интерфейс InstanceID Как установить позицию курсора в EditText? Не найден ресурс, который соответствует указанному имени '@ style / Theme.AppCompat.Light' Android: атрибут видимости в настройках xml не работает? (Android 2.3) Сервис против IntentService Как удалить повторяющиеся ключи, предварительный просмотр пользовательской клавиатуры Android Facebook на android: не удалось войти в систему после закрытияAndClearTokenInformation Как получить идентификатор игры Google Play с новыми обновленными игровыми играми Google Gamer ID? Может ли GridView иметь нижний колонтитул и заголовок так же, как ListView?

Зажигание Kindle Fire и повреждение текстуры со скоростью 60 кадров в секунду

Это, по-видимому, проблема с графическим процессором Fire-specific, и я буду благодарен за любую помощь или предложения.

По большей части моя игра для защиты башни способна запускать 60 кадров в секунду даже с десятками врагов и башен всех стрельб в каждом направлении. Однако в кажущиеся случайными временами (даже при том, что ничего не происходит – как сидение в главном меню) очень равномерно разнесенные 400 мкс паузы приостанавливают игру с интервалом около 2-3 секунд. Затем внезапно гайки исчезнут, а 16×16 пиксельных блоков текстур будут беспорядочно отображать.

Эти два сбоя кажутся взаимоисключающими, и, как я сказал, это может быть вызвано просто путем запуска игры и перехода из главного меню на экран выбора уровня, где загружаются минимальные ресурсы и происходит небольшая логика игры. Я использую OpenSL для звуковых эффектов, и я заметил, что отключение sfx изменило длительность автофокуса до 280 мс.

Затем я вручную принудительно увеличил частоту кадров от 60 кадров в секунду до 30 кадров в секунду (путем вставки сна в цикл цикла кадров), и оба глюка полностью исчезли.

Вот скриншот экрана, который демонстрирует текстуру, а не рендеринг. Эта ошибка происходит на всех 32-битных поверхностях визуализации независимо от значений глубины / трафаретов и включена ли подсветка цвета.

Спасибо!

EDIT: На самом деле, по-видимому, мерцание текстуры происходит при любой частоте кадров, однако, где-то между 40 и 45 кадрами в секунду, 400-метровый автостоп уходит.

Экран выбора уровня

главное меню

Solutions Collecting From Web of "Зажигание Kindle Fire и повреждение текстуры со скоростью 60 кадров в секунду"

Хорошо, это очень тонкая ошибка драйвера, не обязательно специфичная для Kindle Fire. Я надеюсь помочь кому-то избежать подобной боли в будущем. Я уже четко обозначил симптомы, но источник ошибки исходит от установки ножницы.

По сути, у нас есть много анимированных элементов пользовательского интерфейса, которые увеличивают масштаб и выключают экран, поэтому мы становимся довольно напуганными с помощью scissor rect. Триггер, как представляется, настраивает ножничный прямоугольник за кадром, а затем выводит его за пределы прямоугольника по горизонтали. Это делает GPU в некотором тонком прикрученном состоянии, которое, похоже, не проявляется сразу, а постепенно ухудшается.

Кроме того, похоже, что исправлена ​​ошибка, которую мы обнаружили в Droid RAZR, которая имеет графический процессор совместно с Fire. Ошибка была 5-секундным замораживанием в игре, где мы увидели бы в logcat:

W/SharedBufferStack(14208): waitForCondition(LockCondition) timed out (identity=173, status=0). CPU may be pegged. trying again. 

Очевидно, что эти типы ошибок трудно отследить и точно определить точные условия, но это определенно связано с рендерингом вне выпрямленных ножниц.