我正在为iPad构建一个2d OpenGL es应用程序,它显示一个背景纹理和它上面的许多纹理,这些纹理总是在运动。
每一帧它们的位置都是基于时间增量和速度重新计算的,整个物体以60fps的速度成功渲染,但随着精灵移动速度的提高,物体看起来卡顿了。
有什么想法吗?我所做的事情有没有遗传问题?是否有已知的流畅动画设计模式?
发布于 2010-06-29 16:17:04
尝试将时间增量计算为最后N帧的平均值,因为某些帧可能比其他帧花费更多的时间。你对动画使用时间增量吗?使用它是非常重要的!另外,尝试在加载时加载所有资源,而不是在使用时加载它们。这也可能会减慢一些帧的速度。
发布于 2010-09-28 11:57:07
如果你看一下时间增量,你可能会发现它们不是非常一致的帧到帧。这可能不是因为帧需要不同的渲染时间,而是GLES驱动程序的批处理、流水线性质的产物。
尝试使用时间增量的某种移动平均值:http://en.wikipedia.org/wiki/Moving_average
这意味着您的应用程序调用GL和显示结果帧之间的延迟正在发生变化。这就是你试图用移动平均线来隐藏的变化。
https://stackoverflow.com/questions/2709232
复制相似问题