2012-03-12 83 views
0

我想使用2D绘图在屏幕上显示一个复杂的动画。以下方法是否正确?慢二维动画

  1. 创建一个定时器
  2. 进行绘制和窗口无效定时器节拍处理

如果是内部的,如果最终用户的用户机器很慢,会发生什么?挂起的WM_PAINT消息列表是否会变得太长?他们中的一些会被丢弃吗?

基于机器速度做“自适应-FPS”动画的最佳方法是什么?也许处理应用程序的OnIdle事件?

谢谢。

+0

也许最好的办法是跟踪过了多少时间,并相应地更新框架。 – ashes999 2012-03-12 20:17:17

回答

0

为了详细说明我的评论,您可能需要一种方法来跟踪已经过了多少时间,并相应地更新相框。

我假设你有一些功能,这就是所谓的每隔一段时间,也许从你的计时器,像tick(float elapsedTimeInSeconds)

假设elapsedTimeInSeconds的值为0.5,并且您每0.1秒显示一帧。因此,你会跳过五帧。

像这样的东西可能适合你。 AFAIK,这是很多游戏处理这个问题的方式。