我正在为Android手机构建一个应用程序,但遇到了一些奇怪的“节流”现象。我认为这是因为调用了信号量来停止应用程序处理手机内部其他任务。虽然我不确定。
我想知道是否有一种方法可以将这些中断分散或其他方法使其对用户不太明显,从而减少应用程序出现小的延迟峰值。
编辑:进一步说明,我目前正在运行一个二维图像数组 - 每次只绘制约80个实例化的8000个图像。它们仅在其颜色色调不是RGB0(深黑色)时绘制。更新中的运行时循环检查哪些图像最接近玩家,并为它们提供基本的最小照明RGB 0.2f。除此之外,更新中还包括基本事件处理程序和移动/视口循环。请注意,我使用的是Libgdx框架,而不是Android本地框架。因此,涉及OpenGL等等。
编辑:我想指出问题不是你想象中的那样。我每次渲染都会发送一个Vector2约3800次,但不仅仅是“发送”一个,而是声明新的Vector2并以这种方式发送参数。垃圾收集器无法容忍这种暴行。现在我只发送了2个浮点数,所以运行顺畅了。我的错。._.
我想知道是否有一种方法可以将这些中断分散或其他方法使其对用户不太明显,从而减少应用程序出现小的延迟峰值。
编辑:进一步说明,我目前正在运行一个二维图像数组 - 每次只绘制约80个实例化的8000个图像。它们仅在其颜色色调不是RGB0(深黑色)时绘制。更新中的运行时循环检查哪些图像最接近玩家,并为它们提供基本的最小照明RGB 0.2f。除此之外,更新中还包括基本事件处理程序和移动/视口循环。请注意,我使用的是Libgdx框架,而不是Android本地框架。因此,涉及OpenGL等等。
编辑:我想指出问题不是你想象中的那样。我每次渲染都会发送一个Vector2约3800次,但不仅仅是“发送”一个,而是声明新的Vector2并以这种方式发送参数。垃圾收集器无法容忍这种暴行。现在我只发送了2个浮点数,所以运行顺畅了。我的错。._.