Похоже, это проблема конкретного графического процессора Fire, и я был бы признателен за любую помощь или предложения. .
По большей части моя игра в жанре Tower Defense может работать со скоростью 60 кадров в секунду даже с десятками врагов и башен, стреляющих в разные стороны. Однако в, казалось бы, случайное время (даже когда ничего не происходит, например, в главном меню) очень равномерно распределенные заминки в 400 мс приостанавливают игру с интервалом примерно в 2-3 секунды. Потом вдруг пропадут заминки и блоки текстур 16х16 пикселей рандомно не будут рендериться.
Эти два сбоя кажутся взаимоисключающими и, как я уже сказал, могут быть вызваны простым запуском игры и переходом из главного меню на экран выбора уровня, где загружаются минимальные ресурсы и мало игровой логики. Я использую OpenSL для звуковых эффектов, и я заметил, что отключение sfx изменило продолжительность заминки на 280 мс.
Затем я вручную увеличил частоту кадров с 60 кадров в секунду до 30 кадров в секунду (вставив спящий режим в петлю кадров), и оба глюка полностью исчезли.
Вот скриншот, демонстрирующий, что текстура не отображается. Эта ошибка возникает на всех 32-битных поверхностях рендеринга независимо от значений глубины/трафарета и от того, включена или выключена очистка цвета.
Спасибо!
РЕДАКТИРОВАТЬ: На самом деле, видимо, мерцание текстуры происходит при любой частоте кадров, однако где-то между 40 и 45 кадрами в секунду заминка в 400 мс исчезает.