Libgdx清除屏幕的好处

时间:2019-05-09 12:01:07

标签: java libgdx game-development

我在Internet上看了很多东西,但是总无法通过渲染方法清除屏幕或没有很好地理解它。

那么清除屏幕有什么好处呢?每次清除render方法都会导致游戏从头开始绘制所有内容?

1 个答案:

答案 0 :(得分:3)

如果您的游戏中至少有一个移动的物体,则不清除屏幕会导致该物体的子画面(如果您使用的是子画面)出现在过去帧中的每个位置。通常,您会清除屏幕以删除过去绘制的内容并以更新的位置重新绘制。您可以对一些逻辑进行编程,以了解是否有东西移动了,并避免清除屏幕,但是我认为清除屏幕的计算成本不足以进行此项工作。
以下是未每帧清除屏幕造成的影响的示例。 enter image description here

编辑:正如Tenfour04所说,清除屏幕还有另一个很好的理由:性能

  

Libgdx与几乎所有游戏引擎一样,都使用双缓冲,这意味着在将一帧渲染到屏幕时,它已经将下一帧绘制到另一帧缓冲区。如果您不清除屏幕,则必须等待,然后将第一个缓冲区的内容复制到第二个缓冲区中,然后才能开始绘制。这样既浪费了GPU时间,又避免了多任务处理,节省了一些时间