【发布时间】:2012-06-04 05:59:54
【问题描述】:
这似乎是 Fire 特定的 GPU 问题,如果有任何帮助或建议,我将不胜感激。
在大多数情况下,我的塔防游戏能够以 60 fps 的速度运行,即使有几十个敌人和塔都向各个方向射击。然而,在看似随机的时间(即使没有发生任何事情——比如坐在主菜单上),间隔非常均匀的 400 毫秒连接会以大约 2-3 秒的间隔暂停游戏。然后突然间卡顿消失了,16x16 像素的纹理块将随机不渲染。
这两个故障似乎是相互排斥的,就像我所说的,只需启动游戏并从主菜单导航到关卡选择屏幕即可触发,其中加载的资源最少,游戏逻辑也很少发生。我使用 OpenSL 来制作音效,我注意到禁用 sfx 会将挂接持续时间更改为 280 毫秒。
然后我手动将帧速率从 60 fps 强制到 30 fps(通过在帧滴答循环中插入睡眠),两个故障都完全消失了。
这是一个演示纹理未渲染的屏幕截图。此错误发生在所有 32 位渲染表面中,无论深度/模板值如何,以及颜色清除是打开还是关闭。
谢谢!
编辑:实际上,显然纹理闪烁发生在任何帧速率下,但是,在 40 到 45 fps 之间的某个地方,400 毫秒的障碍消失了。
【问题讨论】:
-
其他 FPS 限制呢?例如45/75
-
实际上,显然纹理闪烁发生在任何帧速率下,但是,在 40 到 45 fps 之间的某个地方,400 毫秒的障碍消失了......它们非常肯定相关,但在 60 fps 时并不完全相互排斥.他们的出入发生率高度相关。