这似乎是特定于Fire的GPU问题,我很感激任何帮助或建议.
在大多数情况下,我的塔防游戏能够以60 fps的速度运行,即使有数十个敌人和塔都在每个方向射击.然而,在看似随机的时间(即使没有任何事情发生 - 就像坐在主菜单上)非常均匀间隔400毫秒的故障以大约2-3秒的间隔暂停游戏.然后突然间连线将消失,16x16像素的纹理块将随机无法渲染.
这两个故障似乎是相互排斥的,就像我说的那样,只需启动游戏并从主菜单导航到水平选择屏幕即可触发,其中加载了最少的资源并且发生了很少的游戏逻辑.我使用OpenSL来获得音效,我注意到禁用sfx会将连接时间改为280ms.
然后我手动将帧速率从60 fps强制到30 fps(通过在帧滴答循环中插入睡眠),两个毛刺完全消失.
这是一个屏幕上限,演示纹理不呈现.无论深度/模板值是否打开或关闭,都会在所有32位渲染表面中发生此错误.
谢谢!
编辑:实际上,显然纹理闪烁发生在任何帧速率,然而,在40到45 fps之间的某个地方,400毫秒的故障消失了.

