如何在 C 语言中提高帧速率并减少闪烁



我用C写了一个小的图形应用程序,其中我画了一个盒子和一个圆圈(就像房间里的球)。当圆接触其中一个边界时,它会反弹回来。

为此,我使用了以下示例代码:

xVelocity = 5;
yVelocity = 5;
if(circle.x <= 0) {
    xVelocity = 5;
}
if(circle.y <= 0) {
    yVelocity = 5;
}
if(circle.x>=box.width) {
    xVelocity = -5;
}
if(circle.y>=box.breadth) {
    yVelocity = -5;
}
drawCircle();

我使用 50ms 的刷新率运行循环以更新位置并绘制圆圈。但是,当我通过减少刷新时间或增加速度来提高圆的速度时,会发生闪烁。此外,如果我增加速度,圆在检测到碰撞之前就会超出界限。我用Turbo C来编写这个程序。

我想知道如何提高帧速率,以免发生闪烁。这个问题还有其他解决方案吗?

重新闪烁的一种方法是将图形的输出同步到显示器,并且仅在垂直空白时才重新绘制它。

另一种选择是使用后台缓冲区。您绘制图形显示的副本,完成后,将其放在屏幕上。

擦除

背景时会导致闪烁。

解决方案是在不同的表面(后台缓冲区)上绘制,并且只有在完成时才将其复制到显示/渲染缓冲区

相关内容

  • 没有找到相关文章

最新更新